OpenAPI
Immich uses the OpenAPI standard to generate API documentation. To view the published docs see here.
Generator
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.