Skip to main content


Immich uses the OpenAPI standard to generate API documentation. To view the published docs see here.


OpenAPI is used to generate the client (Typescript, Dart) SDK. openapi-generator-cli can be installed here. The generated SDK is based on the immich-openapi-specs.json file, which is autogenerated by the server when running in development mode. The immich-openapi-specs.json file can be modified with @nestjs/swagger decorators used or referenced by controller endpoints. See the NestJS OpenAPI docs for more info. When you add a new endpoint or modify an existing one, you must run the server in development mode and run the command below to update the client SDK.

make open-api

You can find the generated client SDK in the open-api/typescript-sdk/client for Typescript SDK and mobile/openapi for Dart SDK.