immich/docs/docs/developer/open-api.md
2026-08-02 22:43:23 -04:00

1.2 KiB

OpenAPI

Immich uses OpenAPI to describe its REST API, and generates the TypeScript and Dart client SDKs from that description. The published API documentation is at api.immich.app; see Immich API for the API itself.

How the specification is produced

The specification is written to immich-openapi-specs.json, which is autogenerated by the server when running in development mode. Do not edit it by hand.

Its contents are controlled by @nestjs/swagger decorators used or referenced by controller endpoints, so changes to the API surface are made there.

Regenerating the client SDKs

When you add a new endpoint or modify an existing one, run the server in development mode and then run:

mise open-api

The generated SDKs are written to:

SDK Location
TypeScript packages/sdk/client
Dart mobile/generated/openapi

Generation uses openapi-generator-cli, which can be installed by following its installation instructions.