mirror of
https://github.com/immich-app/immich
synced 2026-08-15 13:03:57 +00:00
refactor: merge start/end into one route refactor: rename MaintenanceRepository to AppRepository chore: use new ApiTag/Endpoint refactor: apply other requested changes
14986 lines
No EOL
339 KiB
JSON
14986 lines
No EOL
339 KiB
JSON
{
|
|
"openapi": "3.0.0",
|
|
"paths": {
|
|
"/activities": {
|
|
"get": {
|
|
"description": "Returns a list of activities for the selected asset or album. The activities are returned in sorted order, with the oldest activities appearing first.",
|
|
"operationId": "getActivities",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "assetId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "level",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ReactionLevel"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ReactionType"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "List all activities",
|
|
"tags": [
|
|
"Activities"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "activity.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a like or a comment for an album, or an asset in an album.",
|
|
"operationId": "createActivity",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ActivityCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create an activity",
|
|
"tags": [
|
|
"Activities"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "activity.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/activities/statistics": {
|
|
"get": {
|
|
"description": "Returns the number of likes and comments for a given album or asset in an album.",
|
|
"operationId": "getActivityStatistics",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "assetId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve activity statistics",
|
|
"tags": [
|
|
"Activities"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "activity.statistics",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/activities/{id}": {
|
|
"delete": {
|
|
"description": "Removes a like or comment from a given album or asset in an album.",
|
|
"operationId": "deleteActivity",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete an activity",
|
|
"tags": [
|
|
"Activities"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "activity.delete",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/admin/auth/unlink-all": {
|
|
"post": {
|
|
"description": "Unlinks all OAuth accounts associated with user accounts in the system.",
|
|
"operationId": "unlinkAllOAuthAccountsAdmin",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Unlink all OAuth accounts",
|
|
"tags": [
|
|
"Authentication (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "adminAuth.unlinkAll",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/admin/maintenance": {
|
|
"post": {
|
|
"description": "Put Immich into or take it out of maintenance mode",
|
|
"operationId": "setMaintenanceMode",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SetMaintenanceModeDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Set maintenance mode",
|
|
"tags": [
|
|
"Maintenance (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v2.3.0",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v2.3.0",
|
|
"state": "Alpha"
|
|
}
|
|
],
|
|
"x-immich-permission": "maintenance",
|
|
"x-immich-state": "Alpha"
|
|
}
|
|
},
|
|
"/admin/maintenance/login": {
|
|
"post": {
|
|
"description": "Login with maintenance token or cookie to receive current information and perform further actions.",
|
|
"operationId": "maintenanceLogin",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MaintenanceLoginDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MaintenanceAuthDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Log into maintenance mode",
|
|
"tags": [
|
|
"Maintenance (admin)"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v2.3.0",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v2.3.0",
|
|
"state": "Alpha"
|
|
}
|
|
],
|
|
"x-immich-state": "Alpha"
|
|
}
|
|
},
|
|
"/admin/notifications": {
|
|
"post": {
|
|
"description": "Create a new notification for a specific user.",
|
|
"operationId": "createNotification",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a notification",
|
|
"tags": [
|
|
"Notifications (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/admin/notifications/templates/{name}": {
|
|
"post": {
|
|
"description": "Retrieve a preview of the provided email template.",
|
|
"operationId": "getNotificationTemplateAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "name",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TemplateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Render email template",
|
|
"tags": [
|
|
"Notifications (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/admin/notifications/test-email": {
|
|
"post": {
|
|
"description": "Send a test email using the provided SMTP configuration.",
|
|
"operationId": "sendTestEmailAdmin",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigSmtpDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Send test email",
|
|
"tags": [
|
|
"Notifications (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/admin/users": {
|
|
"get": {
|
|
"description": "Search for users.",
|
|
"operationId": "searchUsersAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "withDeleted",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Search users",
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "adminUser.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a new user.",
|
|
"operationId": "createUserAdmin",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a user",
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "adminUser.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/admin/users/{id}": {
|
|
"delete": {
|
|
"description": "Delete a user.",
|
|
"operationId": "deleteUserAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminDeleteDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete a user",
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "adminUser.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a specific user by their ID.",
|
|
"operationId": "getUserAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve a user",
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "adminUser.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update an existing user.",
|
|
"operationId": "updateUserAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserAdminUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update a user",
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "adminUser.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/admin/users/{id}/preferences": {
|
|
"get": {
|
|
"description": "Retrieve the preferences of a specific user.",
|
|
"operationId": "getUserPreferencesAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve user preferences",
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "adminUser.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update the preferences of a specific user.",
|
|
"operationId": "updateUserPreferencesAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserPreferencesUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update user preferences",
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "adminUser.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/admin/users/{id}/restore": {
|
|
"post": {
|
|
"description": "Restore a previously deleted user.",
|
|
"operationId": "restoreUserAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Restore a deleted user",
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "adminUser.delete",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/admin/users/{id}/sessions": {
|
|
"get": {
|
|
"description": "Retrieve all sessions for a specific user.",
|
|
"operationId": "getUserSessionsAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve user sessions",
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "adminSession.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/admin/users/{id}/statistics": {
|
|
"get": {
|
|
"description": "Retrieve asset statistics for a specific user.",
|
|
"operationId": "getUserStatisticsAdmin",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isFavorite",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "visibility",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve user statistics",
|
|
"tags": [
|
|
"Users (admin)"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "adminUser.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/albums": {
|
|
"get": {
|
|
"description": "Retrieve a list of albums available to the authenticated user.",
|
|
"operationId": "getAllAlbums",
|
|
"parameters": [
|
|
{
|
|
"name": "assetId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "shared",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "List all albums",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "album.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a new album. The album can also be created with initial users and assets.",
|
|
"operationId": "createAlbum",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateAlbumDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create an album",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "album.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/albums/assets": {
|
|
"put": {
|
|
"description": "Send a list of asset IDs and album IDs to add each asset to each album.",
|
|
"operationId": "addAssetsToAlbums",
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumsAddAssetsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Add assets to albums",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "albumAsset.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/albums/statistics": {
|
|
"get": {
|
|
"description": "Returns statistics about the albums available to the authenticated user.",
|
|
"operationId": "getAlbumStatistics",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve album statistics",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "album.statistics",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/albums/{id}": {
|
|
"delete": {
|
|
"description": "Delete a specific album by its ID. Note the album is initially trashed and then immediately scheduled for deletion, but relies on a background job to complete the process.",
|
|
"operationId": "deleteAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete an album",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "album.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve information about a specific album by its ID.",
|
|
"operationId": "getAlbumInfo",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "withoutAssets",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve an album",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "album.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"patch": {
|
|
"description": "Update the information of a specific album by its ID. This endpoint can be used to update the album name, description, sort order, etc. However, it is not used to add or remove assets or users from the album.",
|
|
"operationId": "updateAlbumInfo",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateAlbumDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update an album",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "album.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/albums/{id}/assets": {
|
|
"delete": {
|
|
"description": "Remove multiple assets from a specific album by its ID.",
|
|
"operationId": "removeAssetFromAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Remove assets from an album",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "albumAsset.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Add multiple assets to a specific album by its ID.",
|
|
"operationId": "addAssetsToAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Add assets to an album",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "albumAsset.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/albums/{id}/user/{userId}": {
|
|
"delete": {
|
|
"description": "Remove a user from an album. Use an ID of \"me\" to leave a shared album.",
|
|
"operationId": "removeUserFromAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Remove user from album",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "albumUser.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Change the role for a specific user in a specific album.",
|
|
"operationId": "updateAlbumUser",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateAlbumUserDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update user role",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "albumUser.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/albums/{id}/users": {
|
|
"put": {
|
|
"description": "Share an album with multiple users. Each user can be given a specific role in the album.",
|
|
"operationId": "addUsersToAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AddUsersDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Share album with users",
|
|
"tags": [
|
|
"Albums"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "albumUser.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/api-keys": {
|
|
"get": {
|
|
"description": "Retrieve all API keys of the current user.",
|
|
"operationId": "getApiKeys",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "List all API keys",
|
|
"tags": [
|
|
"API keys"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "apiKey.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Creates a new API key. It will be limited to the permissions specified.",
|
|
"operationId": "createApiKey",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/APIKeyCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create an API key",
|
|
"tags": [
|
|
"API keys"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "apiKey.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/api-keys/me": {
|
|
"get": {
|
|
"description": "Retrieve the API key that is used to access this endpoint.",
|
|
"operationId": "getMyApiKey",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve the current API key",
|
|
"tags": [
|
|
"API keys"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/api-keys/{id}": {
|
|
"delete": {
|
|
"description": "Deletes an API key identified by its ID. The current user must own this API key.",
|
|
"operationId": "deleteApiKey",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete an API key",
|
|
"tags": [
|
|
"API keys"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "apiKey.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve an API key by its ID. The current user must own this API key.",
|
|
"operationId": "getApiKey",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve an API key",
|
|
"tags": [
|
|
"API keys"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "apiKey.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Updates the name and permissions of an API key by its ID. The current user must own this API key.",
|
|
"operationId": "updateApiKey",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/APIKeyUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update an API key",
|
|
"tags": [
|
|
"API keys"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "apiKey.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets": {
|
|
"delete": {
|
|
"description": "Deletes multiple assets at the same time.",
|
|
"operationId": "deleteAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetBulkDeleteDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete assets",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Uploads a new asset to the server.",
|
|
"operationId": "uploadAsset",
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "x-immich-checksum",
|
|
"in": "header",
|
|
"description": "sha1 checksum that can be used for duplicate detection before the file is uploaded",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMediaCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"description": "Asset Upload Information",
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Upload asset",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.upload",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Updates multiple assets at the same time.",
|
|
"operationId": "updateAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetBulkUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update assets",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets/bulk-upload-check": {
|
|
"post": {
|
|
"description": "Determine which assets have already been uploaded to the server based on their SHA1 checksums.",
|
|
"operationId": "checkBulkUpload",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetBulkUploadCheckDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Check bulk upload",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.upload",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets/copy": {
|
|
"put": {
|
|
"description": "Copy asset information like albums, tags, etc. from one asset to another.",
|
|
"operationId": "copyAsset",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetCopyDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Copy asset",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.copy",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets/device/{deviceId}": {
|
|
"get": {
|
|
"deprecated": true,
|
|
"description": "Get all asset of a device that are in the database, ID only.",
|
|
"operationId": "getAllUserAssetsByDeviceId",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve assets by device ID",
|
|
"tags": [
|
|
"Assets",
|
|
"Deprecated"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Deprecated"
|
|
}
|
|
],
|
|
"x-immich-state": "Deprecated"
|
|
}
|
|
},
|
|
"/assets/exist": {
|
|
"post": {
|
|
"description": "Checks if multiple assets exist on the server and returns all existing - used by background backup",
|
|
"operationId": "checkExistingAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CheckExistingAssetsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Check existing assets",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets/jobs": {
|
|
"post": {
|
|
"description": "Run a specific job on a set of assets.",
|
|
"operationId": "runAssetJobs",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetJobsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Run an asset job",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets/random": {
|
|
"get": {
|
|
"deprecated": true,
|
|
"description": "Retrieve a specified number of random assets for the authenticated user.",
|
|
"operationId": "getRandom",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get random assets",
|
|
"tags": [
|
|
"Assets",
|
|
"Deprecated"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Deprecated",
|
|
"replacementId": "searchAssets"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Deprecated"
|
|
}
|
|
},
|
|
"/assets/statistics": {
|
|
"get": {
|
|
"description": "Retrieve various statistics about the assets owned by the authenticated user.",
|
|
"operationId": "getAssetStatistics",
|
|
"parameters": [
|
|
{
|
|
"name": "isFavorite",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "visibility",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get asset statistics",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.statistics",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets/{id}": {
|
|
"get": {
|
|
"description": "Retrieve detailed information about a specific asset.",
|
|
"operationId": "getAssetInfo",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve an asset",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update information of a specific asset.",
|
|
"operationId": "updateAsset",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateAssetDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update an asset",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets/{id}/metadata": {
|
|
"get": {
|
|
"description": "Retrieve all metadata key-value pairs associated with the specified asset.",
|
|
"operationId": "getAssetMetadata",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get asset metadata",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update or add metadata key-value pairs for the specified asset.",
|
|
"operationId": "updateAssetMetadata",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMetadataUpsertDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update asset metadata",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets/{id}/metadata/{key}": {
|
|
"delete": {
|
|
"description": "Delete a specific metadata key-value pair associated with the specified asset.",
|
|
"operationId": "deleteAssetMetadata",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMetadataKey"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete asset metadata by key",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.update",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve the value of a specific metadata key associated with the specified asset.",
|
|
"operationId": "getAssetMetadataByKey",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMetadataKey"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve asset metadata by key",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets/{id}/ocr": {
|
|
"get": {
|
|
"description": "Retrieve all OCR (Optical Character Recognition) data associated with the specified asset.",
|
|
"operationId": "getAssetOcr",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve asset OCR data",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets/{id}/original": {
|
|
"get": {
|
|
"description": "Downloads the original file of the specified asset.",
|
|
"operationId": "downloadAsset",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Download original asset",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.download",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"deprecated": true,
|
|
"description": "Replace the asset with new file, without changing its id.",
|
|
"operationId": "replaceAsset",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMediaReplaceDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Replace asset",
|
|
"tags": [
|
|
"Assets",
|
|
"Deprecated"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Deprecated",
|
|
"replacementId": "copyAsset"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.replace",
|
|
"x-immich-state": "Deprecated"
|
|
}
|
|
},
|
|
"/assets/{id}/thumbnail": {
|
|
"get": {
|
|
"description": "Retrieve the thumbnail image for the specified asset.",
|
|
"operationId": "viewAsset",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "size",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetMediaSize"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "View asset thumbnail",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.view",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/assets/{id}/video/playback": {
|
|
"get": {
|
|
"description": "Streams the video file for the specified asset. This endpoint also supports byte range requests.",
|
|
"operationId": "playAssetVideo",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Play asset video",
|
|
"tags": [
|
|
"Assets"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.view",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/auth/admin-sign-up": {
|
|
"post": {
|
|
"description": "Create the first admin user in the system.",
|
|
"operationId": "signUpAdmin",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SignUpDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Register admin",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/auth/change-password": {
|
|
"post": {
|
|
"description": "Change the password of the current user.",
|
|
"operationId": "changePassword",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ChangePasswordDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Change password",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "auth.changePassword",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/auth/login": {
|
|
"post": {
|
|
"description": "Login with username and password and receive a session token.",
|
|
"operationId": "login",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LoginCredentialDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Login",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/auth/logout": {
|
|
"post": {
|
|
"description": "Logout the current user and invalidate the session token.",
|
|
"operationId": "logout",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Logout",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/auth/pin-code": {
|
|
"delete": {
|
|
"description": "Reset the pin code for the current user by providing the account password",
|
|
"operationId": "resetPinCode",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PinCodeResetDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Reset pin code",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "pinCode.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Setup a new pin code for the current user.",
|
|
"operationId": "setupPinCode",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PinCodeSetupDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Setup pin code",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "pinCode.create",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Change the pin code for the current user.",
|
|
"operationId": "changePinCode",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PinCodeChangeDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Change pin code",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "pinCode.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/auth/session/lock": {
|
|
"post": {
|
|
"description": "Remove elevated access to locked assets from the current session.",
|
|
"operationId": "lockAuthSession",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Lock auth session",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/auth/session/unlock": {
|
|
"post": {
|
|
"description": "Temporarily grant the session elevated access to locked assets by providing the correct PIN code.",
|
|
"operationId": "unlockAuthSession",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionUnlockDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Unlock auth session",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/auth/status": {
|
|
"get": {
|
|
"description": "Get information about the current session, including whether the user has a password, and if the session can access locked assets.",
|
|
"operationId": "getAuthStatus",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve auth status",
|
|
"tags": [
|
|
"Authentication"
|
|
]
|
|
}
|
|
},
|
|
"/auth/validateToken": {
|
|
"post": {
|
|
"description": "Validate the current authorization method is still valid.",
|
|
"operationId": "validateAccessToken",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Validate access token",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/download/archive": {
|
|
"post": {
|
|
"description": "Download a ZIP archive containing the specified assets. The assets must have been previously requested via the \"getDownloadInfo\" endpoint.",
|
|
"operationId": "downloadArchive",
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Download asset archive",
|
|
"tags": [
|
|
"Download"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.download",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/download/info": {
|
|
"post": {
|
|
"description": "Retrieve information about how to request a download for the specified assets or album. The response includes groups of assets that can be downloaded together.",
|
|
"operationId": "getDownloadInfo",
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DownloadInfoDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve download information",
|
|
"tags": [
|
|
"Download"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.download",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/duplicates": {
|
|
"delete": {
|
|
"description": "Delete multiple duplicate assets specified by their IDs.",
|
|
"operationId": "deleteDuplicates",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete duplicates",
|
|
"tags": [
|
|
"Duplicates"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "duplicate.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a list of duplicate assets available to the authenticated user.",
|
|
"operationId": "getAssetDuplicates",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve duplicates",
|
|
"tags": [
|
|
"Duplicates"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "duplicate.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/duplicates/{id}": {
|
|
"delete": {
|
|
"description": "Delete a single duplicate asset specified by its ID.",
|
|
"operationId": "deleteDuplicate",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete a duplicate",
|
|
"tags": [
|
|
"Duplicates"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "duplicate.delete",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/faces": {
|
|
"get": {
|
|
"description": "Retrieve all faces belonging to an asset.",
|
|
"operationId": "getFaces",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve faces for asset",
|
|
"tags": [
|
|
"Faces"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "face.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a new face that has not been discovered by facial recognition. The content of the bounding box is considered a face.",
|
|
"operationId": "createFace",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetFaceCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a face",
|
|
"tags": [
|
|
"Faces"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "face.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/faces/{id}": {
|
|
"delete": {
|
|
"description": "Delete a face identified by the id. Optionally can be force deleted.",
|
|
"operationId": "deleteFace",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetFaceDeleteDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete a face",
|
|
"tags": [
|
|
"Faces"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "face.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Re-assign the face provided in the body to the person identified by the id in the path parameter.",
|
|
"operationId": "reassignFacesById",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/FaceDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Re-assign a face to another person",
|
|
"tags": [
|
|
"Faces"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "face.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/jobs": {
|
|
"get": {
|
|
"description": "Retrieve the counts of the current queue, as well as the current status.",
|
|
"operationId": "getAllJobsStatus",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve queue counts and status",
|
|
"tags": [
|
|
"Jobs"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "job.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Run a specific job. Most jobs are queued automatically, but this endpoint allows for manual creation of a handful of jobs, including various cleanup tasks, as well as creating a new database backup.",
|
|
"operationId": "createJob",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JobCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a manual job",
|
|
"tags": [
|
|
"Jobs"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "job.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/jobs/{id}": {
|
|
"put": {
|
|
"description": "Queue all assets for a specific job type. Defaults to only queueing assets that have not yet been processed, but the force command can be used to re-process all assets.",
|
|
"operationId": "sendJobCommand",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JobName"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JobCommandDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Run jobs",
|
|
"tags": [
|
|
"Jobs"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "job.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/libraries": {
|
|
"get": {
|
|
"description": "Retrieve a list of external libraries.",
|
|
"operationId": "getAllLibraries",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve libraries",
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "library.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a new external library.",
|
|
"operationId": "createLibrary",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateLibraryDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a library",
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "library.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/libraries/{id}": {
|
|
"delete": {
|
|
"description": "Delete an external library by its ID.",
|
|
"operationId": "deleteLibrary",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete a library",
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "library.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve an external library by its ID.",
|
|
"operationId": "getLibrary",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve a library",
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "library.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update an existing external library.",
|
|
"operationId": "updateLibrary",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateLibraryDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update a library",
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "library.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/libraries/{id}/scan": {
|
|
"post": {
|
|
"description": "Queue a scan for the external library to find and import new assets.",
|
|
"operationId": "scanLibrary",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Scan a library",
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "library.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/libraries/{id}/statistics": {
|
|
"get": {
|
|
"description": "Retrieve statistics for a specific external library, including number of videos, images, and storage usage.",
|
|
"operationId": "getLibraryStatistics",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve library statistics",
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "library.statistics",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/libraries/{id}/validate": {
|
|
"post": {
|
|
"description": "Validate the settings of an external library.",
|
|
"operationId": "validate",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ValidateLibraryDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Validate library settings",
|
|
"tags": [
|
|
"Libraries"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/map/markers": {
|
|
"get": {
|
|
"description": "Retrieve a list of latitude and longitude coordinates for every asset with location data.",
|
|
"operationId": "getMapMarkers",
|
|
"parameters": [
|
|
{
|
|
"name": "fileCreatedAfter",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "fileCreatedBefore",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isArchived",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isFavorite",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withPartners",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withSharedAlbums",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve map markers",
|
|
"tags": [
|
|
"Map"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/map/reverse-geocode": {
|
|
"get": {
|
|
"description": "Retrieve location information (e.g., city, country) for given latitude and longitude coordinates.",
|
|
"operationId": "reverseGeocode",
|
|
"parameters": [
|
|
{
|
|
"name": "lat",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "double",
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"name": "lon",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "double",
|
|
"type": "number"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Reverse geocode coordinates",
|
|
"tags": [
|
|
"Map"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/memories": {
|
|
"get": {
|
|
"description": "Retrieve a list of memories. Memories are sorted descending by creation date by default, although they can also be sorted in ascending order, or randomly.",
|
|
"operationId": "searchMemories",
|
|
"parameters": [
|
|
{
|
|
"name": "for",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isSaved",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "order",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemorySearchOrder"
|
|
}
|
|
},
|
|
{
|
|
"name": "size",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Number of memories to return",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryType"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve memories",
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "memory.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a new memory by providing a name, description, and a list of asset IDs to include in the memory.",
|
|
"operationId": "createMemory",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a memory",
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "memory.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/memories/statistics": {
|
|
"get": {
|
|
"description": "Retrieve statistics about memories, such as total count and other relevant metrics.",
|
|
"operationId": "memoriesStatistics",
|
|
"parameters": [
|
|
{
|
|
"name": "for",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isSaved",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "order",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemorySearchOrder"
|
|
}
|
|
},
|
|
{
|
|
"name": "size",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Number of memories to return",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryType"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve memories statistics",
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "memory.statistics",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/memories/{id}": {
|
|
"delete": {
|
|
"description": "Delete a specific memory by its ID.",
|
|
"operationId": "deleteMemory",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete a memory",
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "memory.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a specific memory by its ID.",
|
|
"operationId": "getMemory",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve a memory",
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "memory.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update an existing memory by its ID.",
|
|
"operationId": "updateMemory",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MemoryUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update a memory",
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "memory.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/memories/{id}/assets": {
|
|
"delete": {
|
|
"description": "Remove a list of asset IDs from a specific memory.",
|
|
"operationId": "removeMemoryAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Remove assets from a memory",
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "memoryAsset.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Add a list of asset IDs to a specific memory.",
|
|
"operationId": "addMemoryAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Add assets to a memory",
|
|
"tags": [
|
|
"Memories"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "memoryAsset.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/notifications": {
|
|
"delete": {
|
|
"description": "Delete a list of notifications at once.",
|
|
"operationId": "deleteNotifications",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationDeleteAllDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete notifications",
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "notification.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a list of notifications.",
|
|
"operationId": "getNotifications",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "level",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationLevel"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationType"
|
|
}
|
|
},
|
|
{
|
|
"name": "unread",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve notifications",
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "notification.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update a list of notifications. Allows to bulk-set the read status of notifications.",
|
|
"operationId": "updateNotifications",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationUpdateAllDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update notifications",
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "notification.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/notifications/{id}": {
|
|
"delete": {
|
|
"description": "Delete a specific notification.",
|
|
"operationId": "deleteNotification",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete a notification",
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "notification.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a specific notification identified by id.",
|
|
"operationId": "getNotification",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get a notification",
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "notification.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update a specific notification to set its read status.",
|
|
"operationId": "updateNotification",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/NotificationUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update a notification",
|
|
"tags": [
|
|
"Notifications"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "notification.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/oauth/authorize": {
|
|
"post": {
|
|
"description": "Initiate the OAuth authorization process.",
|
|
"operationId": "startOAuth",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OAuthConfigDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Start OAuth",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/oauth/callback": {
|
|
"post": {
|
|
"description": "Complete the OAuth authorization process by exchanging the authorization code for a session token.",
|
|
"operationId": "finishOAuth",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OAuthCallbackDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Finish OAuth",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/oauth/link": {
|
|
"post": {
|
|
"description": "Link an OAuth account to the authenticated user.",
|
|
"operationId": "linkOAuthAccount",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OAuthCallbackDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Link OAuth account",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/oauth/mobile-redirect": {
|
|
"get": {
|
|
"description": "Requests to this URL are automatically forwarded to the mobile app, and is used in some cases for OAuth redirecting.",
|
|
"operationId": "redirectOAuthToMobile",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Redirect OAuth to mobile",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/oauth/unlink": {
|
|
"post": {
|
|
"description": "Unlink the OAuth account from the authenticated user.",
|
|
"operationId": "unlinkOAuthAccount",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Unlink OAuth account",
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/partners": {
|
|
"get": {
|
|
"description": "Retrieve a list of partners with whom assets are shared.",
|
|
"operationId": "getPartners",
|
|
"parameters": [
|
|
{
|
|
"name": "direction",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PartnerDirection"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve partners",
|
|
"tags": [
|
|
"Partners"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "partner.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a new partner to share assets with.",
|
|
"operationId": "createPartner",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PartnerCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a partner",
|
|
"tags": [
|
|
"Partners"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "partner.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/partners/{id}": {
|
|
"delete": {
|
|
"description": "Stop sharing assets with a partner.",
|
|
"operationId": "removePartner",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Remove a partner",
|
|
"tags": [
|
|
"Partners"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "partner.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"deprecated": true,
|
|
"description": "Create a new partner to share assets with.",
|
|
"operationId": "createPartnerDeprecated",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a partner",
|
|
"tags": [
|
|
"Partners",
|
|
"Deprecated"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Deprecated",
|
|
"replacementId": "createPartner"
|
|
}
|
|
],
|
|
"x-immich-permission": "partner.create",
|
|
"x-immich-state": "Deprecated"
|
|
},
|
|
"put": {
|
|
"description": "Specify whether a partner's assets should appear in the user's timeline.",
|
|
"operationId": "updatePartner",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PartnerUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update a partner",
|
|
"tags": [
|
|
"Partners"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "partner.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/people": {
|
|
"delete": {
|
|
"description": "Bulk delete a list of people at once.",
|
|
"operationId": "deletePeople",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete people",
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a list of all people.",
|
|
"operationId": "getAllPeople",
|
|
"parameters": [
|
|
{
|
|
"name": "closestAssetId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "closestPersonId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "page",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"name": "size",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "number"
|
|
}
|
|
},
|
|
{
|
|
"name": "withHidden",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get all people",
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a new person that can have multiple faces assigned to them.",
|
|
"operationId": "createPerson",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PersonCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a person",
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.create",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Bulk update multiple people at once.",
|
|
"operationId": "updatePeople",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PeopleUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update people",
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/people/{id}": {
|
|
"delete": {
|
|
"description": "Delete an individual person.",
|
|
"operationId": "deletePerson",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete person",
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a person by id.",
|
|
"operationId": "getPerson",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get a person",
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update an individual person.",
|
|
"operationId": "updatePerson",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/PersonUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update person",
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/people/{id}/merge": {
|
|
"post": {
|
|
"description": "Merge a list of people into the person specified in the path parameter.",
|
|
"operationId": "mergePerson",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MergePersonDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Merge people",
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.merge",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/people/{id}/reassign": {
|
|
"put": {
|
|
"description": "Bulk reassign a list of faces to a different person.",
|
|
"operationId": "reassignFaces",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetFaceUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Reassign faces",
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.reassign",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/people/{id}/statistics": {
|
|
"get": {
|
|
"description": "Retrieve statistics about a specific person.",
|
|
"operationId": "getPersonStatistics",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get person statistics",
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.statistics",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/people/{id}/thumbnail": {
|
|
"get": {
|
|
"description": "Retrieve the thumbnail file for a person.",
|
|
"operationId": "getPersonThumbnail",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get person thumbnail",
|
|
"tags": [
|
|
"People"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/search/cities": {
|
|
"get": {
|
|
"description": "Retrieve a list of assets with each asset belonging to a different city. This endpoint is used on the places pages to show a single thumbnail for each city the user has assets in.",
|
|
"operationId": "getAssetsByCity",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve assets by city",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/search/explore": {
|
|
"get": {
|
|
"description": "Retrieve data for the explore section, such as popular people and places.",
|
|
"operationId": "getExploreData",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve explore data",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/search/large-assets": {
|
|
"post": {
|
|
"description": "Search for assets that are considered large based on specified criteria.",
|
|
"operationId": "searchLargeAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "albumIds",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "createdAfter",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "createdBefore",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isEncoded",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isFavorite",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isMotion",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isNotInAlbum",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isOffline",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "libraryId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Object"
|
|
}
|
|
},
|
|
{
|
|
"name": "minFileSize",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
{
|
|
"name": "personIds",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
{
|
|
"name": "tagIds",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/Object"
|
|
}
|
|
},
|
|
{
|
|
"name": "takenAfter",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "takenBefore",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "trashedAfter",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "trashedBefore",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
},
|
|
{
|
|
"name": "updatedAfter",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "updatedBefore",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "visibility",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
},
|
|
{
|
|
"name": "withDeleted",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withExif",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Search large assets",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/search/metadata": {
|
|
"post": {
|
|
"description": "Search for assets based on various metadata criteria.",
|
|
"operationId": "searchAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/MetadataSearchDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Search assets by metadata",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/search/person": {
|
|
"get": {
|
|
"description": "Search for people by name.",
|
|
"operationId": "searchPerson",
|
|
"parameters": [
|
|
{
|
|
"name": "withHidden",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Search people",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "person.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/search/places": {
|
|
"get": {
|
|
"description": "Search for places by name.",
|
|
"operationId": "searchPlaces",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Search places",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/search/random": {
|
|
"post": {
|
|
"description": "Retrieve a random selection of assets based on the provided criteria.",
|
|
"operationId": "searchRandom",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RandomSearchDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Search random assets",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/search/smart": {
|
|
"post": {
|
|
"description": "Perform a smart search for assets by using machine learning vectors to determine relevance.",
|
|
"operationId": "searchSmart",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SmartSearchDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Smart asset search",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/search/statistics": {
|
|
"post": {
|
|
"description": "Retrieve statistical data about assets based on search criteria, such as the total matching count.",
|
|
"operationId": "searchAssetStatistics",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StatisticsSearchDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Search asset statistics",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.statistics",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/search/suggestions": {
|
|
"get": {
|
|
"description": "Retrieve search suggestions based on partial input. This endpoint is used for typeahead search features.",
|
|
"operationId": "getSearchSuggestions",
|
|
"parameters": [
|
|
{
|
|
"name": "includeNull",
|
|
"required": true,
|
|
"in": "query",
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1.111.0",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "type",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchSuggestionType"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve search suggestions",
|
|
"tags": [
|
|
"Search"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/about": {
|
|
"get": {
|
|
"description": "Retrieve a list of information about the server.",
|
|
"operationId": "getAboutInfo",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get server information",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "server.about",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/apk-links": {
|
|
"get": {
|
|
"description": "Retrieve links to the APKs for the current server version.",
|
|
"operationId": "getApkLinks",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get APK links",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "server.apkLinks",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/config": {
|
|
"get": {
|
|
"description": "Retrieve the current server configuration.",
|
|
"operationId": "getServerConfig",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Get config",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/features": {
|
|
"get": {
|
|
"description": "Retrieve available features supported by this server.",
|
|
"operationId": "getServerFeatures",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Get features",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/license": {
|
|
"delete": {
|
|
"description": "Delete the currently set server product key.",
|
|
"operationId": "deleteServerLicense",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete server product key",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "serverLicense.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve information about whether the server currently has a product key registered.",
|
|
"operationId": "getServerLicense",
|
|
"parameters": [],
|
|
"responses": {
|
|
"404": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get product key",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "serverLicense.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Validate and set the server product key if successful.",
|
|
"operationId": "setServerLicense",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LicenseKeyDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Set server product key",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "serverLicense.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/media-types": {
|
|
"get": {
|
|
"description": "Retrieve all media types supported by the server.",
|
|
"operationId": "getSupportedMediaTypes",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Get supported media types",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/ping": {
|
|
"get": {
|
|
"description": "Pong",
|
|
"operationId": "pingServer",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Ping",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/statistics": {
|
|
"get": {
|
|
"description": "Retrieve statistics about the entire Immich instance such as asset counts.",
|
|
"operationId": "getServerStatistics",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get statistics",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "server.statistics",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/storage": {
|
|
"get": {
|
|
"description": "Retrieve the current storage utilization information of the server.",
|
|
"operationId": "getStorage",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get storage",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "server.storage",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/theme": {
|
|
"get": {
|
|
"description": "Retrieve the custom CSS, if existent.",
|
|
"operationId": "getTheme",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Get theme",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/version": {
|
|
"get": {
|
|
"description": "Retrieve the current server version in semantic versioning (semver) format.",
|
|
"operationId": "getServerVersion",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Get server version",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/version-check": {
|
|
"get": {
|
|
"description": "Retrieve information about the last time the version check ran.",
|
|
"operationId": "getVersionCheck",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get version check status",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "server.versionCheck",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/server/version-history": {
|
|
"get": {
|
|
"description": "Retrieve a list of past versions the server has been on.",
|
|
"operationId": "getVersionHistory",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"summary": "Get version history",
|
|
"tags": [
|
|
"Server"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/sessions": {
|
|
"delete": {
|
|
"description": "Delete all sessions for the user. This will not delete the current session.",
|
|
"operationId": "deleteAllSessions",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete all sessions",
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "session.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a list of sessions for the user.",
|
|
"operationId": "getSessions",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve sessions",
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "session.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a session as a child to the current session. This endpoint is used for casting.",
|
|
"operationId": "createSession",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a session",
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "session.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/sessions/{id}": {
|
|
"delete": {
|
|
"description": "Delete a specific session by id.",
|
|
"operationId": "deleteSession",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete a session",
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "session.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update a specific session identified by id.",
|
|
"operationId": "updateSession",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SessionUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update a session",
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "session.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/sessions/{id}/lock": {
|
|
"post": {
|
|
"description": "Lock a specific session by id.",
|
|
"operationId": "lockSession",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Lock a session",
|
|
"tags": [
|
|
"Sessions"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "session.lock",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/shared-links": {
|
|
"get": {
|
|
"description": "Retrieve a list of all shared links.",
|
|
"operationId": "getAllSharedLinks",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve all shared links",
|
|
"tags": [
|
|
"Shared links"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "sharedLink.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a new shared link.",
|
|
"operationId": "createSharedLink",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SharedLinkCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a shared link",
|
|
"tags": [
|
|
"Shared links"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "sharedLink.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/shared-links/me": {
|
|
"get": {
|
|
"description": "Retrieve the current shared link associated with authentication method.",
|
|
"operationId": "getMySharedLink",
|
|
"parameters": [
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "password",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"example": "password",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve current shared link",
|
|
"tags": [
|
|
"Shared links"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/shared-links/{id}": {
|
|
"delete": {
|
|
"description": "Delete a specific shared link by its ID.",
|
|
"operationId": "removeSharedLink",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete a shared link",
|
|
"tags": [
|
|
"Shared links"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "sharedLink.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a specific shared link by its ID.",
|
|
"operationId": "getSharedLinkById",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve a shared link",
|
|
"tags": [
|
|
"Shared links"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "sharedLink.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"patch": {
|
|
"description": "Update an existing shared link by its ID.",
|
|
"operationId": "updateSharedLink",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SharedLinkEditDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update a shared link",
|
|
"tags": [
|
|
"Shared links"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "sharedLink.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/shared-links/{id}/assets": {
|
|
"delete": {
|
|
"description": "Remove assets from a specific shared link by its ID. This endpoint is only relevant for shared link of type individual.",
|
|
"operationId": "removeSharedLinkAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Remove assets from a shared link",
|
|
"tags": [
|
|
"Shared links"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Add assets to a specific shared link by its ID. This endpoint is only relevant for shared link of type individual.",
|
|
"operationId": "addSharedLinkAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Add assets to a shared link",
|
|
"tags": [
|
|
"Shared links"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/stacks": {
|
|
"delete": {
|
|
"description": "Delete multiple stacks by providing a list of stack IDs.",
|
|
"operationId": "deleteStacks",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete stacks",
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "stack.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a list of stacks.",
|
|
"operationId": "searchStacks",
|
|
"parameters": [
|
|
{
|
|
"name": "primaryAssetId",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve stacks",
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "stack.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a new stack by providing a name and a list of asset IDs to include in the stack. If any of the provided asset IDs are primary assets of an existing stack, the existing stack will be merged into the newly created stack.",
|
|
"operationId": "createStack",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StackCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a stack",
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "stack.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/stacks/{id}": {
|
|
"delete": {
|
|
"description": "Delete a specific stack by its ID.",
|
|
"operationId": "deleteStack",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete a stack",
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "stack.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a specific stack by its ID.",
|
|
"operationId": "getStack",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve a stack",
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "stack.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update an existing stack by its ID.",
|
|
"operationId": "updateStack",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/StackUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update a stack",
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "stack.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/stacks/{id}/assets/{assetId}": {
|
|
"delete": {
|
|
"description": "Remove a specific asset from a stack by providing the stack ID and asset ID.",
|
|
"operationId": "removeAssetFromStack",
|
|
"parameters": [
|
|
{
|
|
"name": "assetId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Remove an asset from a stack",
|
|
"tags": [
|
|
"Stacks"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "stack.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/sync/ack": {
|
|
"delete": {
|
|
"description": "Delete specific synchronization acknowledgments.",
|
|
"operationId": "deleteSyncAck",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SyncAckDeleteDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete acknowledgements",
|
|
"tags": [
|
|
"Sync"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "syncCheckpoint.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve the synchronization acknowledgments for the current session.",
|
|
"operationId": "getSyncAck",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve acknowledgements",
|
|
"tags": [
|
|
"Sync"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "syncCheckpoint.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Send a list of synchronization acknowledgements to confirm that the latest changes have been received.",
|
|
"operationId": "sendSyncAck",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SyncAckSetDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Acknowledge changes",
|
|
"tags": [
|
|
"Sync"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "syncCheckpoint.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/sync/delta-sync": {
|
|
"post": {
|
|
"deprecated": true,
|
|
"description": "Retrieve changed assets since the last sync for the authenticated user.",
|
|
"operationId": "getDeltaSync",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetDeltaSyncDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get delta sync for user",
|
|
"tags": [
|
|
"Sync",
|
|
"Deprecated"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Deprecated"
|
|
}
|
|
],
|
|
"x-immich-state": "Deprecated"
|
|
}
|
|
},
|
|
"/sync/full-sync": {
|
|
"post": {
|
|
"deprecated": true,
|
|
"description": "Retrieve all assets for a full synchronization for the authenticated user.",
|
|
"operationId": "getFullSyncForUser",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetFullSyncDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get full sync for user",
|
|
"tags": [
|
|
"Sync",
|
|
"Deprecated"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Deprecated"
|
|
}
|
|
],
|
|
"x-immich-state": "Deprecated"
|
|
}
|
|
},
|
|
"/sync/stream": {
|
|
"post": {
|
|
"description": "Retrieve a JSON lines streamed response of changes for synchronization. This endpoint is used by the mobile app to efficiently stay up to date with changes.",
|
|
"operationId": "getSyncStream",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SyncStreamDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Stream sync changes",
|
|
"tags": [
|
|
"Sync"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "sync.stream",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/system-config": {
|
|
"get": {
|
|
"description": "Retrieve the current system configuration.",
|
|
"operationId": "getConfig",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get system configuration",
|
|
"tags": [
|
|
"System config"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "systemConfig.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update the system configuration with a new system configuration.",
|
|
"operationId": "updateConfig",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update system configuration",
|
|
"tags": [
|
|
"System config"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "systemConfig.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/system-config/defaults": {
|
|
"get": {
|
|
"description": "Retrieve the default values for the system configuration.",
|
|
"operationId": "getConfigDefaults",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get system configuration defaults",
|
|
"tags": [
|
|
"System config"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "systemConfig.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/system-config/storage-template-options": {
|
|
"get": {
|
|
"description": "Retrieve exemplary storage template options.",
|
|
"operationId": "getStorageTemplateOptions",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get storage template options",
|
|
"tags": [
|
|
"System config"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "systemConfig.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/system-metadata/admin-onboarding": {
|
|
"get": {
|
|
"description": "Retrieve the current admin onboarding status.",
|
|
"operationId": "getAdminOnboarding",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve admin onboarding",
|
|
"tags": [
|
|
"System metadata"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "systemMetadata.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Update the admin onboarding status.",
|
|
"operationId": "updateAdminOnboarding",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AdminOnboardingUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update admin onboarding",
|
|
"tags": [
|
|
"System metadata"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "systemMetadata.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/system-metadata/reverse-geocoding-state": {
|
|
"get": {
|
|
"description": "Retrieve the current state of the reverse geocoding import.",
|
|
"operationId": "getReverseGeocodingState",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve reverse geocoding state",
|
|
"tags": [
|
|
"System metadata"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "systemMetadata.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/system-metadata/version-check-state": {
|
|
"get": {
|
|
"description": "Retrieve the current state of the version check process.",
|
|
"operationId": "getVersionCheckState",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve version check state",
|
|
"tags": [
|
|
"System metadata"
|
|
],
|
|
"x-immich-admin-only": true,
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "systemMetadata.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/tags": {
|
|
"get": {
|
|
"description": "Retrieve a list of all tags.",
|
|
"operationId": "getAllTags",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve tags",
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "tag.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Create a new tag by providing a name and optional color.",
|
|
"operationId": "createTag",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagCreateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create a tag",
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "tag.create",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Create or update multiple tags in a single request.",
|
|
"operationId": "upsertTags",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagUpsertDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Upsert tags",
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "tag.create",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/tags/assets": {
|
|
"put": {
|
|
"description": "Add multiple tags to multiple assets in a single request.",
|
|
"operationId": "bulkTagAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagBulkAssetsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Tag assets",
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "tag.asset",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/tags/{id}": {
|
|
"delete": {
|
|
"description": "Delete a specific tag by its ID.",
|
|
"operationId": "deleteTag",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete a tag",
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "tag.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve a specific tag by its ID.",
|
|
"operationId": "getTagById",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve a tag",
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "tag.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update an existing tag identified by its ID.",
|
|
"operationId": "updateTag",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update a tag",
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "tag.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/tags/{id}/assets": {
|
|
"delete": {
|
|
"description": "Remove a tag from all the specified assets.",
|
|
"operationId": "untagAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Untag assets",
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "tag.asset",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Add a tag to all the specified assets.",
|
|
"operationId": "tagAssets",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Tag assets",
|
|
"tags": [
|
|
"Tags"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "tag.asset",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/timeline/bucket": {
|
|
"get": {
|
|
"description": "Retrieve a string of all asset ids in a given time bucket.",
|
|
"operationId": "getTimeBucket",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter assets belonging to a specific album",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isFavorite",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter by favorite status (true for favorites only, false for non-favorites only)",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter by trash status (true for trashed assets only, false for non-trashed only)",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "order",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
},
|
|
{
|
|
"name": "personId",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter assets containing a specific person (face recognition)",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "tagId",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter assets with a specific tag",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "timeBucket",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Time bucket identifier in YYYY-MM-DD format (e.g., \"2024-01-01\" for January 2024)",
|
|
"schema": {
|
|
"example": "2024-01-01",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter assets by specific user ID",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "visibility",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
},
|
|
{
|
|
"name": "withCoordinates",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Include location data in the response",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withPartners",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Include assets shared by partners",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withStacked",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Include stacked assets in the response. When true, only primary assets from stacks are returned.",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TimeBucketAssetResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get time bucket",
|
|
"tags": [
|
|
"Timeline"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Internal"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Internal"
|
|
}
|
|
},
|
|
"/timeline/buckets": {
|
|
"get": {
|
|
"description": "Retrieve a list of all minimal time buckets.",
|
|
"operationId": "getTimeBuckets",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter assets belonging to a specific album",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "isFavorite",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter by favorite status (true for favorites only, false for non-favorites only)",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isTrashed",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter by trash status (true for trashed assets only, false for non-trashed only)",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "key",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "order",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Sort order for assets within time buckets (ASC for oldest first, DESC for newest first)",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
},
|
|
{
|
|
"name": "personId",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter assets containing a specific person (face recognition)",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "slug",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "tagId",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter assets with a specific tag",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter assets by specific user ID",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "visibility",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Filter by asset visibility status (ARCHIVE, TIMELINE, HIDDEN, LOCKED)",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
},
|
|
{
|
|
"name": "withCoordinates",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Include location data in the response",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withPartners",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Include assets shared by partners",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "withStacked",
|
|
"required": true,
|
|
"in": "query",
|
|
"description": "Include stacked assets in the response. When true, only primary assets from stacks are returned.",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get time buckets",
|
|
"tags": [
|
|
"Timeline"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Internal"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.read",
|
|
"x-immich-state": "Internal"
|
|
}
|
|
},
|
|
"/trash/empty": {
|
|
"post": {
|
|
"description": "Permanently delete all items in the trash.",
|
|
"operationId": "emptyTrash",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Empty trash",
|
|
"tags": [
|
|
"Trash"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.delete",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/trash/restore": {
|
|
"post": {
|
|
"description": "Restore all items in the trash.",
|
|
"operationId": "restoreTrash",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Restore trash",
|
|
"tags": [
|
|
"Trash"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.delete",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/trash/restore/assets": {
|
|
"post": {
|
|
"description": "Restore specific assets from the trash.",
|
|
"operationId": "restoreAssets",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/BulkIdsDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Restore assets",
|
|
"tags": [
|
|
"Trash"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "asset.delete",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/users": {
|
|
"get": {
|
|
"description": "Retrieve a list of all users on the server.",
|
|
"operationId": "searchUsers",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get all users",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "user.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/users/me": {
|
|
"get": {
|
|
"description": "Retrieve information about the user making the API request.",
|
|
"operationId": "getMyUser",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get current user",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "user.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update the current user making teh API request.",
|
|
"operationId": "updateMyUser",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserUpdateMeDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update current user",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "user.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/users/me/license": {
|
|
"delete": {
|
|
"description": "Delete the registered product key for the current user.",
|
|
"operationId": "deleteUserLicense",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete user product key",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "userLicense.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve information about whether the current user has a registered product key.",
|
|
"operationId": "getUserLicense",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve user product key",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "userLicense.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Register a product key for the current user.",
|
|
"operationId": "setUserLicense",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LicenseKeyDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Set user product key",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "userLicense.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/users/me/onboarding": {
|
|
"delete": {
|
|
"description": "Delete the onboarding status of the current user.",
|
|
"operationId": "deleteUserOnboarding",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete user onboarding",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "userOnboarding.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"get": {
|
|
"description": "Retrieve the onboarding status of the current user.",
|
|
"operationId": "getUserOnboarding",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve user onboarding",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "userOnboarding.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update the onboarding status of the current user.",
|
|
"operationId": "setUserOnboarding",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OnboardingDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update user onboarding",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "userOnboarding.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/users/me/preferences": {
|
|
"get": {
|
|
"description": "Retrieve the preferences for the current user.",
|
|
"operationId": "getMyPreferences",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Get my preferences",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "userPreference.read",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"put": {
|
|
"description": "Update the preferences of the current user.",
|
|
"operationId": "updateMyPreferences",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserPreferencesUpdateDto"
|
|
}
|
|
}
|
|
},
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Update my preferences",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "userPreference.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/users/profile-image": {
|
|
"delete": {
|
|
"description": "Delete the profile image of the current user.",
|
|
"operationId": "deleteProfileImage",
|
|
"parameters": [],
|
|
"responses": {
|
|
"204": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Delete user profile image",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "userProfileImage.delete",
|
|
"x-immich-state": "Stable"
|
|
},
|
|
"post": {
|
|
"description": "Upload and set a new profile image for the current user.",
|
|
"operationId": "createProfileImage",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateProfileImageDto"
|
|
}
|
|
}
|
|
},
|
|
"description": "A new avatar for the user",
|
|
"required": true
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Create user profile image",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "userProfileImage.update",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/users/{id}": {
|
|
"get": {
|
|
"description": "Retrieve a specific user by their ID.",
|
|
"operationId": "getUser",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve a user",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "user.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/users/{id}/profile-image": {
|
|
"get": {
|
|
"description": "Retrieve the profile image file for a user.",
|
|
"operationId": "getProfileImage",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"content": {
|
|
"application/octet-stream": {
|
|
"schema": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve user profile image",
|
|
"tags": [
|
|
"Users"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-permission": "userProfileImage.read",
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/view/folder": {
|
|
"get": {
|
|
"description": "Retrieve assets that are children of a specific folder.",
|
|
"operationId": "getAssetsByOriginalPath",
|
|
"parameters": [
|
|
{
|
|
"name": "path",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve assets by original path",
|
|
"tags": [
|
|
"Views"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
},
|
|
"/view/folder/unique-paths": {
|
|
"get": {
|
|
"description": "Retrieve a list of unique folder paths from asset original paths.",
|
|
"operationId": "getUniqueOriginalPaths",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
},
|
|
{
|
|
"cookie": []
|
|
},
|
|
{
|
|
"api_key": []
|
|
}
|
|
],
|
|
"summary": "Retrieve unique paths",
|
|
"tags": [
|
|
"Views"
|
|
],
|
|
"x-immich-history": [
|
|
{
|
|
"version": "v1",
|
|
"state": "Added"
|
|
},
|
|
{
|
|
"version": "v1",
|
|
"state": "Beta"
|
|
},
|
|
{
|
|
"version": "v2",
|
|
"state": "Stable"
|
|
}
|
|
],
|
|
"x-immich-state": "Stable"
|
|
}
|
|
}
|
|
},
|
|
"info": {
|
|
"title": "Immich",
|
|
"description": "Immich API",
|
|
"version": "2.2.3",
|
|
"contact": {}
|
|
},
|
|
"tags": [
|
|
{
|
|
"name": "Activities",
|
|
"description": "An activity is a like or a comment made by a user on an asset or album."
|
|
},
|
|
{
|
|
"name": "Albums",
|
|
"description": "An album is a collection of assets that can be shared with other users or via shared links."
|
|
},
|
|
{
|
|
"name": "API keys",
|
|
"description": "An api key can be used to programmatically access the Immich API."
|
|
},
|
|
{
|
|
"name": "Assets",
|
|
"description": "An asset is an image or video that has been uploaded to Immich."
|
|
},
|
|
{
|
|
"name": "Authentication",
|
|
"description": "Endpoints related to user authentication, including OAuth."
|
|
},
|
|
{
|
|
"name": "Authentication (admin)",
|
|
"description": "Administrative endpoints related to authentication."
|
|
},
|
|
{
|
|
"name": "Deprecated",
|
|
"description": "Deprecated endpoints that are planned for removal in the next major release."
|
|
},
|
|
{
|
|
"name": "Download",
|
|
"description": "Endpoints for downloading assets or collections of assets."
|
|
},
|
|
{
|
|
"name": "Duplicates",
|
|
"description": "Endpoints for managing and identifying duplicate assets."
|
|
},
|
|
{
|
|
"name": "Faces",
|
|
"description": "A face is a detected human face within an asset, which can be associated with a person. Faces are normally detected via machine learning, but can also be created via manually."
|
|
},
|
|
{
|
|
"name": "Jobs",
|
|
"description": "Queues and background jobs are used for processing tasks asynchronously. Queues can be paused and resumed as needed."
|
|
},
|
|
{
|
|
"name": "Libraries",
|
|
"description": "An external library is made up of input file paths or expressions that are scanned for asset files. Discovered files are automatically imported. Assets much be unique within a library, but can be duplicated across libraries. Each user has a default upload library, and can have one or more external libraries."
|
|
},
|
|
{
|
|
"name": "Maintenance (admin)",
|
|
"description": "Maintenance mode allows you to put Immich in a read-only state to perform various operations."
|
|
},
|
|
{
|
|
"name": "Map",
|
|
"description": "Map endpoints include supplemental functionality related to geolocation, such as reverse geocoding and retrieving map markers for assets with geolocation data."
|
|
},
|
|
{
|
|
"name": "Memories",
|
|
"description": "A memory is a specialized collection of assets with dedicated viewing implementations in the web and mobile clients. A memory includes fields related to visibility and are automatically generated per user via a background job."
|
|
},
|
|
{
|
|
"name": "Notifications",
|
|
"description": "A notification is a specialized message sent to users to inform them of important events. Currently, these notifications are only shown in the Immich web application."
|
|
},
|
|
{
|
|
"name": "Notifications (admin)",
|
|
"description": "Notification administrative endpoints."
|
|
},
|
|
{
|
|
"name": "Partners",
|
|
"description": "A partner is a link with another user that allows sharing of assets between two users."
|
|
},
|
|
{
|
|
"name": "People",
|
|
"description": "A person is a collection of faces, which can be favorited and named. A person can also be merged into another person. People are automatically created via the face recognition job."
|
|
},
|
|
{
|
|
"name": "Search",
|
|
"description": "Endpoints related to searching assets via text, smart search, optical character recognition (OCR), and other filters like person, album, and other metadata. Search endpoints usually support pagination and sorting."
|
|
},
|
|
{
|
|
"name": "Server",
|
|
"description": "Information about the current server deployment, including version and build information, available features, supported media types, and more."
|
|
},
|
|
{
|
|
"name": "Sessions",
|
|
"description": "A session represents an authenticated login session for a user. Sessions also appear in the web application as \"Authorized devices\"."
|
|
},
|
|
{
|
|
"name": "Shared links",
|
|
"description": "A shared link is a public url that provides access to a specific album, asset, or collection of assets. A shared link can be protected with a password, include a specific slug, allow or disallow downloads, and optionally include an expiration date."
|
|
},
|
|
{
|
|
"name": "Stacks",
|
|
"description": "A stack is a group of related assets. One asset is the \"primary\" asset, and the rest are \"child\" assets. On the main timeline, stack parents are included by default, while child assets are hidden."
|
|
},
|
|
{
|
|
"name": "Sync",
|
|
"description": "A collection of endpoints for the new mobile synchronization implementation."
|
|
},
|
|
{
|
|
"name": "System config",
|
|
"description": "Endpoints to view, modify, and validate the system configuration settings."
|
|
},
|
|
{
|
|
"name": "System metadata",
|
|
"description": "Endpoints to view, modify, and validate the system metadata, which includes information about things like admin onboarding status."
|
|
},
|
|
{
|
|
"name": "Tags",
|
|
"description": "A tag is a user-defined label that can be applied to assets for organizational purposes. Tags can also be hierarchical, allowing for parent-child relationships between tags."
|
|
},
|
|
{
|
|
"name": "Timeline",
|
|
"description": "Specialized endpoints related to the timeline implementation used in the web application. External applications or tools should not use or rely on these endpoints, as they are subject to change without notice."
|
|
},
|
|
{
|
|
"name": "Trash",
|
|
"description": "Endpoints for managing the trash can, which includes assets that have been discarded. Items in the trash are automatically deleted after a configured amount of time."
|
|
},
|
|
{
|
|
"name": "Users (admin)",
|
|
"description": "Administrative endpoints for managing users, including creating, updating, deleting, and restoring users. Also includes endpoints for resetting passwords and PIN codes."
|
|
},
|
|
{
|
|
"name": "Users",
|
|
"description": "Endpoints for viewing and updating the current users, including product key information, profile picture data, onboarding progress, and more."
|
|
},
|
|
{
|
|
"name": "Views",
|
|
"description": "Endpoints for specialized views, such as the folder view."
|
|
}
|
|
],
|
|
"servers": [
|
|
{
|
|
"url": "/api"
|
|
}
|
|
],
|
|
"components": {
|
|
"securitySchemes": {
|
|
"bearer": {
|
|
"scheme": "Bearer",
|
|
"bearerFormat": "JWT",
|
|
"type": "http",
|
|
"in": "header"
|
|
},
|
|
"cookie": {
|
|
"type": "apiKey",
|
|
"in": "cookie",
|
|
"name": "immich_access_token"
|
|
},
|
|
"api_key": {
|
|
"type": "apiKey",
|
|
"in": "header",
|
|
"name": "x-api-key"
|
|
}
|
|
},
|
|
"schemas": {
|
|
"APIKeyCreateDto": {
|
|
"properties": {
|
|
"permissions": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/Permission"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"permissions"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"APIKeyUpdateDto": {
|
|
"properties": {
|
|
"permissions": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/Permission"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"permissions"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ActivityCreateDto": {
|
|
"properties": {
|
|
"albumId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"assetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ReactionType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"albumId",
|
|
"assetId",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AddUsersDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"AdminOnboardingUpdateDto": {
|
|
"properties": {
|
|
"isOnboarded": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"isOnboarded"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AlbumUserRole": {
|
|
"enum": [
|
|
"editor",
|
|
"viewer"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AlbumsAddAssetsDto": {
|
|
"properties": {
|
|
"albumIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumIds",
|
|
"assetIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetBulkDeleteDto": {
|
|
"properties": {
|
|
"force": {
|
|
"type": "boolean"
|
|
},
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"force",
|
|
"ids"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetBulkUpdateDto": {
|
|
"properties": {
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"ids",
|
|
"isFavorite",
|
|
"visibility"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetBulkUploadCheckDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"AssetCopyDto": {
|
|
"properties": {
|
|
"albums": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"favorite": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"sharedLinks": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"sidecar": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"sourceId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"stack": {
|
|
"default": true,
|
|
"type": "boolean"
|
|
},
|
|
"targetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"albums",
|
|
"favorite",
|
|
"sharedLinks",
|
|
"sidecar",
|
|
"sourceId",
|
|
"stack",
|
|
"targetId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetDeltaSyncDto": {
|
|
"properties": {
|
|
"updatedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"userIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"updatedAfter",
|
|
"userIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetFaceCreateDto": {
|
|
"properties": {
|
|
"assetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"height": {
|
|
"type": "integer"
|
|
},
|
|
"imageHeight": {
|
|
"type": "integer"
|
|
},
|
|
"imageWidth": {
|
|
"type": "integer"
|
|
},
|
|
"personId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"width": {
|
|
"type": "integer"
|
|
},
|
|
"x": {
|
|
"type": "integer"
|
|
},
|
|
"y": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetId",
|
|
"height",
|
|
"imageHeight",
|
|
"imageWidth",
|
|
"personId",
|
|
"width",
|
|
"x",
|
|
"y"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetFaceDeleteDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"AssetFaceUpdateDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"AssetFullSyncDto": {
|
|
"properties": {
|
|
"lastId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"limit": {
|
|
"type": "integer"
|
|
},
|
|
"updatedUntil": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"userId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"lastId",
|
|
"limit",
|
|
"updatedUntil",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetIdsDto": {
|
|
"properties": {
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetJobName": {
|
|
"enum": [
|
|
"refresh-faces",
|
|
"refresh-metadata",
|
|
"regenerate-thumbnail",
|
|
"transcode-video"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AssetJobsDto": {
|
|
"properties": {
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"name": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetJobName"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds",
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetMediaCreateDto": {
|
|
"properties": {
|
|
"assetData": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
},
|
|
"fileCreatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"fileModifiedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"livePhotoVideoId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"sidecarData": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"assetData",
|
|
"fileCreatedAt",
|
|
"fileModifiedAt",
|
|
"isFavorite",
|
|
"livePhotoVideoId",
|
|
"visibility"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetMediaReplaceDto": {
|
|
"properties": {
|
|
"assetData": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
},
|
|
"fileCreatedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"fileModifiedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetData",
|
|
"fileCreatedAt",
|
|
"fileModifiedAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"AssetMediaSize": {
|
|
"enum": [
|
|
"fullsize",
|
|
"preview",
|
|
"thumbnail"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AssetMetadataKey": {
|
|
"enum": [
|
|
"mobile-app"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AssetMetadataUpsertDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"AssetOrder": {
|
|
"enum": [
|
|
"asc",
|
|
"desc"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AssetTypeEnum": {
|
|
"enum": [
|
|
"IMAGE",
|
|
"VIDEO",
|
|
"AUDIO",
|
|
"OTHER"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"AssetVisibility": {
|
|
"enum": [
|
|
"archive",
|
|
"timeline",
|
|
"hidden",
|
|
"locked"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"BulkIdsDto": {
|
|
"properties": {
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ChangePasswordDto": {
|
|
"properties": {
|
|
"invalidateSessions": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
},
|
|
"newPassword": {
|
|
"example": "password",
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"example": "password",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"invalidateSessions",
|
|
"newPassword",
|
|
"password"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CheckExistingAssetsDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"CreateAlbumDto": {
|
|
"properties": {
|
|
"albumName": {
|
|
"type": "string"
|
|
},
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumName",
|
|
"assetIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CreateLibraryDto": {
|
|
"properties": {
|
|
"ownerId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"ownerId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"CreateProfileImageDto": {
|
|
"properties": {
|
|
"file": {
|
|
"format": "binary",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"DownloadInfoDto": {
|
|
"properties": {
|
|
"albumId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"archiveSize": {
|
|
"type": "integer"
|
|
},
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"userId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumId",
|
|
"archiveSize",
|
|
"assetIds",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"FaceDto": {
|
|
"properties": {
|
|
"id": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"JobCommand": {
|
|
"enum": [
|
|
"start",
|
|
"pause",
|
|
"resume",
|
|
"empty",
|
|
"clear-failed"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"JobCommandDto": {
|
|
"properties": {
|
|
"command": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/JobCommand"
|
|
}
|
|
]
|
|
},
|
|
"force": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"command",
|
|
"force"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"JobCreateDto": {
|
|
"properties": {
|
|
"name": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/ManualJobName"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"name"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"JobName": {
|
|
"enum": [
|
|
"thumbnailGeneration",
|
|
"metadataExtraction",
|
|
"videoConversion",
|
|
"faceDetection",
|
|
"facialRecognition",
|
|
"smartSearch",
|
|
"duplicateDetection",
|
|
"backgroundTask",
|
|
"storageTemplateMigration",
|
|
"migration",
|
|
"search",
|
|
"sidecar",
|
|
"library",
|
|
"notifications",
|
|
"backupDatabase",
|
|
"ocr"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"LicenseKeyDto": {
|
|
"properties": {
|
|
"activationKey": {
|
|
"type": "string"
|
|
},
|
|
"licenseKey": {
|
|
"pattern": "/IM(SV|CL)(-[\\dA-Za-z]{4}){8}/",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"activationKey",
|
|
"licenseKey"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"LoginCredentialDto": {
|
|
"properties": {
|
|
"email": {
|
|
"example": "testuser@email.com",
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"example": "password",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"password"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MaintenanceAuthDto": {
|
|
"properties": {
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"username"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MaintenanceLoginDto": {
|
|
"properties": {
|
|
"token": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"type": "object"
|
|
},
|
|
"ManualJobName": {
|
|
"enum": [
|
|
"person-cleanup",
|
|
"tag-cleanup",
|
|
"user-cleanup",
|
|
"memory-cleanup",
|
|
"memory-create",
|
|
"backup-database"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"MemoryCreateDto": {
|
|
"properties": {
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"isSaved": {
|
|
"type": "boolean"
|
|
},
|
|
"memoryAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"seenAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MemoryType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds",
|
|
"isSaved",
|
|
"memoryAt",
|
|
"seenAt",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MemorySearchOrder": {
|
|
"enum": [
|
|
"asc",
|
|
"desc",
|
|
"random"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"MemoryType": {
|
|
"enum": [
|
|
"on_this_day"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"MemoryUpdateDto": {
|
|
"properties": {
|
|
"isSaved": {
|
|
"type": "boolean"
|
|
},
|
|
"memoryAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"seenAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"isSaved",
|
|
"memoryAt",
|
|
"seenAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MergePersonDto": {
|
|
"properties": {
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"MetadataSearchDto": {
|
|
"properties": {
|
|
"albumIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"createdAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"createdBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"isEncoded": {
|
|
"type": "boolean"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isMotion": {
|
|
"type": "boolean"
|
|
},
|
|
"isNotInAlbum": {
|
|
"type": "boolean"
|
|
},
|
|
"isOffline": {
|
|
"type": "boolean"
|
|
},
|
|
"libraryId": {
|
|
"format": "uuid",
|
|
"type": "object"
|
|
},
|
|
"order": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
],
|
|
"default": "desc"
|
|
},
|
|
"originalFileName": {
|
|
"type": "string"
|
|
},
|
|
"personIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"tagIds": {
|
|
"format": "uuid",
|
|
"type": "object"
|
|
},
|
|
"takenAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"takenBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
]
|
|
},
|
|
"updatedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"updatedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
},
|
|
"withDeleted": {
|
|
"type": "boolean"
|
|
},
|
|
"withExif": {
|
|
"type": "boolean"
|
|
},
|
|
"withPeople": {
|
|
"type": "boolean"
|
|
},
|
|
"withStacked": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumIds",
|
|
"createdAfter",
|
|
"createdBefore",
|
|
"description",
|
|
"id",
|
|
"isEncoded",
|
|
"isFavorite",
|
|
"isMotion",
|
|
"isNotInAlbum",
|
|
"isOffline",
|
|
"libraryId",
|
|
"order",
|
|
"originalFileName",
|
|
"personIds",
|
|
"tagIds",
|
|
"takenAfter",
|
|
"takenBefore",
|
|
"trashedAfter",
|
|
"trashedBefore",
|
|
"type",
|
|
"updatedAfter",
|
|
"updatedBefore",
|
|
"visibility",
|
|
"withDeleted",
|
|
"withExif",
|
|
"withPeople",
|
|
"withStacked"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"NotificationCreateDto": {
|
|
"properties": {
|
|
"level": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/NotificationLevel"
|
|
}
|
|
]
|
|
},
|
|
"readAt": {
|
|
"format": "date-time",
|
|
"type": "object"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/NotificationType"
|
|
}
|
|
]
|
|
},
|
|
"userId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"level",
|
|
"readAt",
|
|
"type",
|
|
"userId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"NotificationDeleteAllDto": {
|
|
"properties": {
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"NotificationLevel": {
|
|
"enum": [
|
|
"success",
|
|
"error",
|
|
"warning",
|
|
"info"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"NotificationType": {
|
|
"enum": [
|
|
"JobFailed",
|
|
"BackupFailed",
|
|
"SystemMessage",
|
|
"AlbumInvite",
|
|
"AlbumUpdate",
|
|
"Custom"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"NotificationUpdateAllDto": {
|
|
"properties": {
|
|
"ids": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"readAt": {
|
|
"format": "date-time",
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": [
|
|
"ids",
|
|
"readAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"NotificationUpdateDto": {
|
|
"properties": {
|
|
"readAt": {
|
|
"format": "date-time",
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": [
|
|
"readAt"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"OAuthCallbackDto": {
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"url"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"OAuthConfigDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"Object": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"OnboardingDto": {
|
|
"properties": {
|
|
"isOnboarded": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"isOnboarded"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PartnerCreateDto": {
|
|
"properties": {
|
|
"sharedWithId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"sharedWithId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PartnerDirection": {
|
|
"enum": [
|
|
"shared-by",
|
|
"shared-with"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"PartnerUpdateDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"PeopleUpdateDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"Permission": {
|
|
"enum": [
|
|
"all",
|
|
"activity.create",
|
|
"activity.read",
|
|
"activity.update",
|
|
"activity.delete",
|
|
"activity.statistics",
|
|
"apiKey.create",
|
|
"apiKey.read",
|
|
"apiKey.update",
|
|
"apiKey.delete",
|
|
"asset.read",
|
|
"asset.update",
|
|
"asset.delete",
|
|
"asset.statistics",
|
|
"asset.share",
|
|
"asset.view",
|
|
"asset.download",
|
|
"asset.upload",
|
|
"asset.replace",
|
|
"asset.copy",
|
|
"album.create",
|
|
"album.read",
|
|
"album.update",
|
|
"album.delete",
|
|
"album.statistics",
|
|
"album.share",
|
|
"album.download",
|
|
"albumAsset.create",
|
|
"albumAsset.delete",
|
|
"albumUser.create",
|
|
"albumUser.update",
|
|
"albumUser.delete",
|
|
"auth.changePassword",
|
|
"authDevice.delete",
|
|
"archive.read",
|
|
"duplicate.read",
|
|
"duplicate.delete",
|
|
"face.create",
|
|
"face.read",
|
|
"face.update",
|
|
"face.delete",
|
|
"job.create",
|
|
"job.read",
|
|
"library.create",
|
|
"library.read",
|
|
"library.update",
|
|
"library.delete",
|
|
"library.statistics",
|
|
"timeline.read",
|
|
"timeline.download",
|
|
"maintenance",
|
|
"memory.create",
|
|
"memory.read",
|
|
"memory.update",
|
|
"memory.delete",
|
|
"memory.statistics",
|
|
"memoryAsset.create",
|
|
"memoryAsset.delete",
|
|
"notification.create",
|
|
"notification.read",
|
|
"notification.update",
|
|
"notification.delete",
|
|
"partner.create",
|
|
"partner.read",
|
|
"partner.update",
|
|
"partner.delete",
|
|
"person.create",
|
|
"person.read",
|
|
"person.update",
|
|
"person.delete",
|
|
"person.statistics",
|
|
"person.merge",
|
|
"person.reassign",
|
|
"pinCode.create",
|
|
"pinCode.update",
|
|
"pinCode.delete",
|
|
"server.about",
|
|
"server.apkLinks",
|
|
"server.storage",
|
|
"server.statistics",
|
|
"server.versionCheck",
|
|
"serverLicense.read",
|
|
"serverLicense.update",
|
|
"serverLicense.delete",
|
|
"session.create",
|
|
"session.read",
|
|
"session.update",
|
|
"session.delete",
|
|
"session.lock",
|
|
"sharedLink.create",
|
|
"sharedLink.read",
|
|
"sharedLink.update",
|
|
"sharedLink.delete",
|
|
"stack.create",
|
|
"stack.read",
|
|
"stack.update",
|
|
"stack.delete",
|
|
"sync.stream",
|
|
"syncCheckpoint.read",
|
|
"syncCheckpoint.update",
|
|
"syncCheckpoint.delete",
|
|
"systemConfig.read",
|
|
"systemConfig.update",
|
|
"systemMetadata.read",
|
|
"systemMetadata.update",
|
|
"tag.create",
|
|
"tag.read",
|
|
"tag.update",
|
|
"tag.delete",
|
|
"tag.asset",
|
|
"user.read",
|
|
"user.update",
|
|
"userLicense.create",
|
|
"userLicense.read",
|
|
"userLicense.update",
|
|
"userLicense.delete",
|
|
"userOnboarding.read",
|
|
"userOnboarding.update",
|
|
"userOnboarding.delete",
|
|
"userPreference.read",
|
|
"userPreference.update",
|
|
"userProfileImage.create",
|
|
"userProfileImage.read",
|
|
"userProfileImage.update",
|
|
"userProfileImage.delete",
|
|
"adminUser.create",
|
|
"adminUser.read",
|
|
"adminUser.update",
|
|
"adminUser.delete",
|
|
"adminSession.read",
|
|
"adminAuth.unlinkAll"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"PersonCreateDto": {
|
|
"properties": {
|
|
"birthDate": {
|
|
"format": "date",
|
|
"type": "object"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isHidden": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"birthDate",
|
|
"isFavorite",
|
|
"isHidden"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PersonUpdateDto": {
|
|
"properties": {
|
|
"birthDate": {
|
|
"format": "date",
|
|
"type": "object"
|
|
},
|
|
"featureFaceAssetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isHidden": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"birthDate",
|
|
"featureFaceAssetId",
|
|
"isFavorite",
|
|
"isHidden"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PinCodeChangeDto": {
|
|
"properties": {
|
|
"newPinCode": {
|
|
"example": "123456",
|
|
"type": "string"
|
|
},
|
|
"pinCode": {
|
|
"example": "123456",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"newPinCode",
|
|
"pinCode"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PinCodeResetDto": {
|
|
"properties": {
|
|
"pinCode": {
|
|
"example": "123456",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"pinCode"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"PinCodeSetupDto": {
|
|
"properties": {
|
|
"pinCode": {
|
|
"example": "123456",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"pinCode"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"RandomSearchDto": {
|
|
"properties": {
|
|
"albumIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"createdAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"createdBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"isEncoded": {
|
|
"type": "boolean"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isMotion": {
|
|
"type": "boolean"
|
|
},
|
|
"isNotInAlbum": {
|
|
"type": "boolean"
|
|
},
|
|
"isOffline": {
|
|
"type": "boolean"
|
|
},
|
|
"libraryId": {
|
|
"format": "uuid",
|
|
"type": "object"
|
|
},
|
|
"personIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"tagIds": {
|
|
"format": "uuid",
|
|
"type": "object"
|
|
},
|
|
"takenAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"takenBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
]
|
|
},
|
|
"updatedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"updatedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
},
|
|
"withDeleted": {
|
|
"type": "boolean"
|
|
},
|
|
"withExif": {
|
|
"type": "boolean"
|
|
},
|
|
"withPeople": {
|
|
"type": "boolean"
|
|
},
|
|
"withStacked": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumIds",
|
|
"createdAfter",
|
|
"createdBefore",
|
|
"isEncoded",
|
|
"isFavorite",
|
|
"isMotion",
|
|
"isNotInAlbum",
|
|
"isOffline",
|
|
"libraryId",
|
|
"personIds",
|
|
"tagIds",
|
|
"takenAfter",
|
|
"takenBefore",
|
|
"trashedAfter",
|
|
"trashedBefore",
|
|
"type",
|
|
"updatedAfter",
|
|
"updatedBefore",
|
|
"visibility",
|
|
"withDeleted",
|
|
"withExif",
|
|
"withPeople",
|
|
"withStacked"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ReactionLevel": {
|
|
"enum": [
|
|
"album",
|
|
"asset"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"ReactionType": {
|
|
"enum": [
|
|
"comment",
|
|
"like"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"SearchSuggestionType": {
|
|
"enum": [
|
|
"country",
|
|
"state",
|
|
"city",
|
|
"camera-make",
|
|
"camera-model",
|
|
"camera-lens-model"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"SessionCreateDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SessionUnlockDto": {
|
|
"properties": {
|
|
"pinCode": {
|
|
"example": "123456",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"pinCode"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SessionUpdateDto": {
|
|
"properties": {
|
|
"isPendingSyncReset": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"isPendingSyncReset"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SetMaintenanceModeDto": {
|
|
"properties": {
|
|
"maintenanceMode": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"maintenanceMode"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SharedLinkCreateDto": {
|
|
"properties": {
|
|
"albumId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"allowDownload": {
|
|
"type": "boolean"
|
|
},
|
|
"allowUpload": {
|
|
"type": "boolean"
|
|
},
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"expiresAt": {
|
|
"format": "date-time",
|
|
"type": "object"
|
|
},
|
|
"showMetadata": {
|
|
"type": "boolean"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/SharedLinkType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"albumId",
|
|
"allowDownload",
|
|
"allowUpload",
|
|
"assetIds",
|
|
"expiresAt",
|
|
"showMetadata",
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SharedLinkEditDto": {
|
|
"properties": {
|
|
"allowDownload": {
|
|
"type": "boolean"
|
|
},
|
|
"allowUpload": {
|
|
"type": "boolean"
|
|
},
|
|
"changeExpiryTime": {
|
|
"type": "boolean"
|
|
},
|
|
"showMetadata": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"allowDownload",
|
|
"allowUpload",
|
|
"changeExpiryTime",
|
|
"showMetadata"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SharedLinkType": {
|
|
"enum": [
|
|
"ALBUM",
|
|
"INDIVIDUAL"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"SignUpDto": {
|
|
"properties": {
|
|
"email": {
|
|
"example": "testuser@email.com",
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"example": "Admin",
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"example": "password",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"name",
|
|
"password"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SmartSearchDto": {
|
|
"properties": {
|
|
"albumIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"createdAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"createdBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"isEncoded": {
|
|
"type": "boolean"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isMotion": {
|
|
"type": "boolean"
|
|
},
|
|
"isNotInAlbum": {
|
|
"type": "boolean"
|
|
},
|
|
"isOffline": {
|
|
"type": "boolean"
|
|
},
|
|
"libraryId": {
|
|
"format": "uuid",
|
|
"type": "object"
|
|
},
|
|
"personIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"query": {
|
|
"type": "string"
|
|
},
|
|
"queryAssetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"tagIds": {
|
|
"format": "uuid",
|
|
"type": "object"
|
|
},
|
|
"takenAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"takenBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
]
|
|
},
|
|
"updatedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"updatedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
},
|
|
"withDeleted": {
|
|
"type": "boolean"
|
|
},
|
|
"withExif": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"albumIds",
|
|
"createdAfter",
|
|
"createdBefore",
|
|
"isEncoded",
|
|
"isFavorite",
|
|
"isMotion",
|
|
"isNotInAlbum",
|
|
"isOffline",
|
|
"libraryId",
|
|
"personIds",
|
|
"query",
|
|
"queryAssetId",
|
|
"tagIds",
|
|
"takenAfter",
|
|
"takenBefore",
|
|
"trashedAfter",
|
|
"trashedBefore",
|
|
"type",
|
|
"updatedAfter",
|
|
"updatedBefore",
|
|
"visibility",
|
|
"withDeleted",
|
|
"withExif"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"StackCreateDto": {
|
|
"properties": {
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"StackUpdateDto": {
|
|
"properties": {
|
|
"primaryAssetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"primaryAssetId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"StatisticsSearchDto": {
|
|
"properties": {
|
|
"albumIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"createdAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"createdBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"isEncoded": {
|
|
"type": "boolean"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"isMotion": {
|
|
"type": "boolean"
|
|
},
|
|
"isNotInAlbum": {
|
|
"type": "boolean"
|
|
},
|
|
"isOffline": {
|
|
"type": "boolean"
|
|
},
|
|
"libraryId": {
|
|
"format": "uuid",
|
|
"type": "object"
|
|
},
|
|
"personIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"tagIds": {
|
|
"format": "uuid",
|
|
"type": "object"
|
|
},
|
|
"takenAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"takenBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"trashedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
]
|
|
},
|
|
"updatedAfter": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"updatedBefore": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"albumIds",
|
|
"createdAfter",
|
|
"createdBefore",
|
|
"description",
|
|
"isEncoded",
|
|
"isFavorite",
|
|
"isMotion",
|
|
"isNotInAlbum",
|
|
"isOffline",
|
|
"libraryId",
|
|
"personIds",
|
|
"tagIds",
|
|
"takenAfter",
|
|
"takenBefore",
|
|
"trashedAfter",
|
|
"trashedBefore",
|
|
"type",
|
|
"updatedAfter",
|
|
"updatedBefore",
|
|
"visibility"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAckDeleteDto": {
|
|
"properties": {
|
|
"types": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SyncEntityType"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"types"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAckSetDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncAckV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumDeleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumToAssetDeleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumToAssetV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumUserDeleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumUserV1": {
|
|
"properties": {
|
|
"role": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AlbumUserRole"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"role"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAlbumV1": {
|
|
"properties": {
|
|
"order": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"order"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetDeleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncAssetExifV1": {
|
|
"properties": {
|
|
"exifImageHeight": {
|
|
"type": "integer"
|
|
},
|
|
"exifImageWidth": {
|
|
"type": "integer"
|
|
},
|
|
"fNumber": {
|
|
"format": "double",
|
|
"type": "number"
|
|
},
|
|
"fileSizeInByte": {
|
|
"type": "integer"
|
|
},
|
|
"focalLength": {
|
|
"format": "double",
|
|
"type": "number"
|
|
},
|
|
"fps": {
|
|
"format": "double",
|
|
"type": "number"
|
|
},
|
|
"iso": {
|
|
"type": "integer"
|
|
},
|
|
"latitude": {
|
|
"format": "double",
|
|
"type": "number"
|
|
},
|
|
"longitude": {
|
|
"format": "double",
|
|
"type": "number"
|
|
},
|
|
"rating": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"exifImageHeight",
|
|
"exifImageWidth",
|
|
"fNumber",
|
|
"fileSizeInByte",
|
|
"focalLength",
|
|
"fps",
|
|
"iso",
|
|
"latitude",
|
|
"longitude",
|
|
"rating"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetFaceDeleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncAssetFaceV1": {
|
|
"properties": {
|
|
"boundingBoxX1": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxX2": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxY1": {
|
|
"type": "integer"
|
|
},
|
|
"boundingBoxY2": {
|
|
"type": "integer"
|
|
},
|
|
"imageHeight": {
|
|
"type": "integer"
|
|
},
|
|
"imageWidth": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"boundingBoxX1",
|
|
"boundingBoxX2",
|
|
"boundingBoxY1",
|
|
"boundingBoxY2",
|
|
"imageHeight",
|
|
"imageWidth"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetMetadataDeleteV1": {
|
|
"properties": {
|
|
"key": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetMetadataKey"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"key"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetMetadataV1": {
|
|
"properties": {
|
|
"key": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetMetadataKey"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"key"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAssetV1": {
|
|
"properties": {
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
}
|
|
]
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"visibility"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncAuthUserV1": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
]
|
|
},
|
|
"quotaSizeInBytes": {
|
|
"type": "integer"
|
|
},
|
|
"quotaUsageInBytes": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"avatarColor",
|
|
"quotaSizeInBytes",
|
|
"quotaUsageInBytes"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncCompleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncEntityType": {
|
|
"enum": [
|
|
"AuthUserV1",
|
|
"UserV1",
|
|
"UserDeleteV1",
|
|
"AssetV1",
|
|
"AssetDeleteV1",
|
|
"AssetExifV1",
|
|
"AssetMetadataV1",
|
|
"AssetMetadataDeleteV1",
|
|
"PartnerV1",
|
|
"PartnerDeleteV1",
|
|
"PartnerAssetV1",
|
|
"PartnerAssetBackfillV1",
|
|
"PartnerAssetDeleteV1",
|
|
"PartnerAssetExifV1",
|
|
"PartnerAssetExifBackfillV1",
|
|
"PartnerStackBackfillV1",
|
|
"PartnerStackDeleteV1",
|
|
"PartnerStackV1",
|
|
"AlbumV1",
|
|
"AlbumDeleteV1",
|
|
"AlbumUserV1",
|
|
"AlbumUserBackfillV1",
|
|
"AlbumUserDeleteV1",
|
|
"AlbumAssetCreateV1",
|
|
"AlbumAssetUpdateV1",
|
|
"AlbumAssetBackfillV1",
|
|
"AlbumAssetExifCreateV1",
|
|
"AlbumAssetExifUpdateV1",
|
|
"AlbumAssetExifBackfillV1",
|
|
"AlbumToAssetV1",
|
|
"AlbumToAssetDeleteV1",
|
|
"AlbumToAssetBackfillV1",
|
|
"MemoryV1",
|
|
"MemoryDeleteV1",
|
|
"MemoryToAssetV1",
|
|
"MemoryToAssetDeleteV1",
|
|
"StackV1",
|
|
"StackDeleteV1",
|
|
"PersonV1",
|
|
"PersonDeleteV1",
|
|
"AssetFaceV1",
|
|
"AssetFaceDeleteV1",
|
|
"UserMetadataV1",
|
|
"UserMetadataDeleteV1",
|
|
"SyncAckV1",
|
|
"SyncResetV1",
|
|
"SyncCompleteV1"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"SyncMemoryAssetDeleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncMemoryAssetV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncMemoryDeleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncMemoryV1": {
|
|
"properties": {
|
|
"type": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/MemoryType"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"type"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncPartnerDeleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncPartnerV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncPersonDeleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncPersonV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncRequestType": {
|
|
"enum": [
|
|
"AlbumsV1",
|
|
"AlbumUsersV1",
|
|
"AlbumToAssetsV1",
|
|
"AlbumAssetsV1",
|
|
"AlbumAssetExifsV1",
|
|
"AssetsV1",
|
|
"AssetExifsV1",
|
|
"AssetMetadataV1",
|
|
"AuthUsersV1",
|
|
"MemoriesV1",
|
|
"MemoryToAssetsV1",
|
|
"PartnersV1",
|
|
"PartnerAssetsV1",
|
|
"PartnerAssetExifsV1",
|
|
"PartnerStacksV1",
|
|
"StacksV1",
|
|
"UsersV1",
|
|
"PeopleV1",
|
|
"AssetFacesV1",
|
|
"UserMetadataV1"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"SyncResetV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncStackDeleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncStackV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncStreamDto": {
|
|
"properties": {
|
|
"reset": {
|
|
"type": "boolean"
|
|
},
|
|
"types": {
|
|
"items": {
|
|
"$ref": "#/components/schemas/SyncRequestType"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"reset",
|
|
"types"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncUserDeleteV1": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SyncUserMetadataDeleteV1": {
|
|
"properties": {
|
|
"key": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserMetadataKey"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"key"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncUserMetadataV1": {
|
|
"properties": {
|
|
"key": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserMetadataKey"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"key"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SyncUserV1": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"avatarColor"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"SystemConfigDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"SystemConfigSmtpDto": {
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TagBulkAssetsDto": {
|
|
"properties": {
|
|
"assetIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"tagIds": {
|
|
"items": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds",
|
|
"tagIds"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TagCreateDto": {
|
|
"properties": {
|
|
"parentId": {
|
|
"format": "uuid",
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": [
|
|
"parentId"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"TagUpdateDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"TagUpsertDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"TemplateDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"TimeBucketAssetResponseDto": {
|
|
"properties": {
|
|
"city": {
|
|
"description": "Array of city names extracted from EXIF GPS data",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"country": {
|
|
"description": "Array of country names extracted from EXIF GPS data",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"duration": {
|
|
"description": "Array of video durations in HH:MM:SS format (null for images)",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"fileCreatedAt": {
|
|
"description": "Array of file creation timestamps in UTC (ISO 8601 format, without timezone)",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"id": {
|
|
"description": "Array of asset IDs in the time bucket",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"isFavorite": {
|
|
"description": "Array indicating whether each asset is favorited",
|
|
"items": {
|
|
"type": "boolean"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"isImage": {
|
|
"description": "Array indicating whether each asset is an image (false for videos)",
|
|
"items": {
|
|
"type": "boolean"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"isTrashed": {
|
|
"description": "Array indicating whether each asset is in the trash",
|
|
"items": {
|
|
"type": "boolean"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"latitude": {
|
|
"description": "Array of latitude coordinates extracted from EXIF GPS data",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"livePhotoVideoId": {
|
|
"description": "Array of live photo video asset IDs (null for non-live photos)",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"localOffsetHours": {
|
|
"description": "Array of UTC offset hours at the time each photo was taken. Positive values are east of UTC, negative values are west of UTC. Values may be fractional (e.g., 5.5 for +05:30, -9.75 for -09:45). Applying this offset to 'fileCreatedAt' will give you the time the photo was taken from the photographer's perspective.",
|
|
"items": {
|
|
"type": "number"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"longitude": {
|
|
"description": "Array of longitude coordinates extracted from EXIF GPS data",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "number"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"ownerId": {
|
|
"description": "Array of owner IDs for each asset",
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"projectionType": {
|
|
"description": "Array of projection types for 360° content (e.g., \"EQUIRECTANGULAR\", \"CUBEFACE\", \"CYLINDRICAL\")",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"ratio": {
|
|
"description": "Array of aspect ratios (width/height) for each asset",
|
|
"items": {
|
|
"type": "number"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"stack": {
|
|
"description": "Array of stack information as [stackId, assetCount] tuples (null for non-stacked assets)",
|
|
"items": {
|
|
"items": {
|
|
"type": "string"
|
|
},
|
|
"maxItems": 2,
|
|
"minItems": 2,
|
|
"nullable": true,
|
|
"type": "array"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"thumbhash": {
|
|
"description": "Array of BlurHash strings for generating asset previews (base64 encoded)",
|
|
"items": {
|
|
"nullable": true,
|
|
"type": "string"
|
|
},
|
|
"type": "array"
|
|
},
|
|
"visibility": {
|
|
"description": "Array of visibility statuses for each asset (e.g., ARCHIVE, TIMELINE, HIDDEN, LOCKED)",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
},
|
|
"type": "array"
|
|
}
|
|
},
|
|
"required": [
|
|
"city",
|
|
"country",
|
|
"duration",
|
|
"fileCreatedAt",
|
|
"id",
|
|
"isFavorite",
|
|
"isImage",
|
|
"isTrashed",
|
|
"livePhotoVideoId",
|
|
"localOffsetHours",
|
|
"ownerId",
|
|
"projectionType",
|
|
"ratio",
|
|
"stack",
|
|
"thumbhash",
|
|
"visibility"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UpdateAlbumDto": {
|
|
"properties": {
|
|
"albumThumbnailAssetId": {
|
|
"format": "uuid",
|
|
"type": "string"
|
|
},
|
|
"isActivityEnabled": {
|
|
"type": "boolean"
|
|
},
|
|
"order": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetOrder"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"albumThumbnailAssetId",
|
|
"isActivityEnabled",
|
|
"order"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UpdateAlbumUserDto": {
|
|
"properties": {
|
|
"role": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AlbumUserRole"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"role"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UpdateAssetDto": {
|
|
"properties": {
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"livePhotoVideoId": {
|
|
"format": "uuid",
|
|
"type": "object"
|
|
},
|
|
"visibility": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/AssetVisibility"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"isFavorite",
|
|
"livePhotoVideoId",
|
|
"visibility"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UpdateLibraryDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"UserAdminCreateDto": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
]
|
|
},
|
|
"isAdmin": {
|
|
"type": "boolean"
|
|
},
|
|
"notify": {
|
|
"type": "boolean"
|
|
},
|
|
"quotaSizeInBytes": {
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"shouldChangePassword": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"avatarColor",
|
|
"isAdmin",
|
|
"notify",
|
|
"quotaSizeInBytes",
|
|
"shouldChangePassword"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UserAdminDeleteDto": {
|
|
"properties": {
|
|
"force": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"force"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UserAdminUpdateDto": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
]
|
|
},
|
|
"isAdmin": {
|
|
"type": "boolean"
|
|
},
|
|
"pinCode": {
|
|
"example": "123456",
|
|
"type": "object"
|
|
},
|
|
"quotaSizeInBytes": {
|
|
"format": "int64",
|
|
"type": "integer"
|
|
},
|
|
"shouldChangePassword": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"avatarColor",
|
|
"isAdmin",
|
|
"pinCode",
|
|
"quotaSizeInBytes",
|
|
"shouldChangePassword"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"UserAvatarColor": {
|
|
"enum": [
|
|
"primary",
|
|
"pink",
|
|
"red",
|
|
"yellow",
|
|
"blue",
|
|
"green",
|
|
"purple",
|
|
"orange",
|
|
"gray",
|
|
"amber"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"UserMetadataKey": {
|
|
"enum": [
|
|
"preferences",
|
|
"license",
|
|
"onboarding"
|
|
],
|
|
"type": "string"
|
|
},
|
|
"UserPreferencesUpdateDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
},
|
|
"UserUpdateMeDto": {
|
|
"properties": {
|
|
"avatarColor": {
|
|
"allOf": [
|
|
{
|
|
"$ref": "#/components/schemas/UserAvatarColor"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"required": [
|
|
"avatarColor"
|
|
],
|
|
"type": "object"
|
|
},
|
|
"ValidateLibraryDto": {
|
|
"properties": {},
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
} |