{ "openapi": "3.0.0", "info": { "title": "Account Management API", "version": "2" }, "paths": { "/.well-known/openid-configuration": { "get": { "operationId": "FetchOpenIDConfiguration", "description": "Fetches the information about the OpenID provider's configuration. For more details, see https://openid.net/specs/openid-connect-discovery-1_0.html.", "x-optionalSecurity": true, "responses": { "200": { "description": "The request was successful.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/openidConfiguration" } } } } }, "security": [ {} ] } }, "/accounts/forgot_link": { "get": { "operationId": "GetForgotLink", "description": "Get forgot password link by login.\n*WARNING.* Endpoint is disabled.", "x-optionalSecurity": true, "parameters": [ { "name": "login", "description": "User login.", "required": true, "in": "query", "schema": { "description": "User login.", "example": "mylogin@acronis.com", "type": "string" } } ], "responses": { "200": { "description": "The request was successful.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/forgot_link" } } } }, "400": { "description": "Bad request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ {} ] } }, "/applications": { "get": { "operationId": "FetchApplications", "description": "Fetches a list of all registered applications.", "responses": { "200": { "description": "The request was successful.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/applicationsList" } } } }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_viewer" ] } ] } }, "/applications/{application_id}": { "get": { "operationId": "FetchApplication", "description": "Fetches the information about the application by ID.", "parameters": [ { "name": "application_id", "description": "Application ID (UUID).", "required": true, "in": "path", "schema": { "description": "Application ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } } ], "responses": { "200": { "description": "The request was successful.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/application" } } } }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_viewer" ] } ] } }, "/applications/{application_id}/bindings/tenants/{tenant_id}": { "post": { "operationId": "TurnOnTenantApplication", "description": "Turns the application on for the tenant.", "parameters": [ { "name": "application_id", "description": "Application ID (UUID).", "required": true, "in": "path", "schema": { "description": "Application ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } }, { "name": "tenant_id", "description": "Tenant ID (UUID).", "required": true, "in": "path", "schema": { "description": "Tenant ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } } ], "responses": { "204": { "description": "Application was successfully turned on.", "content": {} }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_admin" ] } ] }, "delete": { "operationId": "TurnOffTenantApplication", "description": "Turns the application off for the tenant.", "parameters": [ { "name": "application_id", "description": "Application ID (UUID).", "required": true, "in": "path", "schema": { "description": "Application ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } }, { "name": "tenant_id", "description": "Tenant ID (UUID).", "required": true, "in": "path", "schema": { "description": "Tenant ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } } ], "responses": { "204": { "description": "Application was successfully turned off.", "content": {} }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_admin" ] } ] } }, "/applications/{application_id}/settings/tenants/{tenant_id}/{setting_name}": { "delete": { "operationId": "DeleteTenantApplicationSetting", "description": "Deletes own setting of the tenant's application.\nThe setting will be inherited from parent tenants when deleted.", "parameters": [ { "name": "application_id", "description": "Application ID (UUID).", "required": true, "in": "path", "schema": { "description": "Application ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } }, { "name": "tenant_id", "description": "Tenant ID (UUID).", "required": true, "in": "path", "schema": { "description": "Tenant ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } }, { "name": "setting_name", "description": "A name of the application's setting.", "required": true, "in": "path", "schema": { "description": "A name of the application's setting.", "type": "string" } } ], "responses": { "204": { "description": "Own application setting was successfully deleted.", "content": {} }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_admin" ] } ] }, "put": { "operationId": "UpdateTenantApplicationSetting", "description": "Updates a setting of the tenant's application.", "parameters": [ { "name": "application_id", "description": "Application ID (UUID).", "required": true, "in": "path", "schema": { "description": "Application ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } }, { "name": "tenant_id", "description": "Tenant ID (UUID).", "required": true, "in": "path", "schema": { "description": "Tenant ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } }, { "name": "setting_name", "description": "A name of the application's setting.", "required": true, "in": "path", "schema": { "description": "A name of the application's setting.", "type": "string" } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/settingPut" } } } }, "responses": { "200": { "description": "Own setting was successfully updated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/setting" } } } }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "415": { "description": "Requested type in the `Accept` request header is not supported.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_admin" ] } ] }, "get": { "operationId": "FetchTenantApplicationSetting", "description": "Fetches a setting of the tenant's application.", "parameters": [ { "name": "application_id", "description": "Application ID (UUID).", "required": true, "in": "path", "schema": { "description": "Application ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } }, { "name": "tenant_id", "description": "Tenant ID (UUID).", "required": true, "in": "path", "schema": { "description": "Tenant ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } }, { "name": "setting_name", "description": "A name of the application's setting.", "required": true, "in": "path", "schema": { "description": "A name of the application's setting.", "type": "string" } } ], "responses": { "200": { "description": "The request was successful.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/setting" } } } }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_viewer" ] } ] } }, "/clients": { "post": { "operationId": "CreateClient", "description": "Creates a new client.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/clientPost" } } } }, "responses": { "201": { "description": "Client was successfully created.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/clientPostResult" } } } }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "415": { "description": "Requested type in the `Accept` request header is not supported.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_admin", "urn:acronis.com::account-server::replication_manager", "urn:acronis.com::account-server::managed_clients_admin" ] } ] }, "get": { "operationId": "FetchClientsBatch", "description": "Fetches a batch of clients.", "parameters": [ { "name": "uuids", "description": "A filter by comma-separated list of client's UUIDs.", "in": "query", "schema": { "description": "A filter by comma-separated list of client's UUIDs.", "example": "1e4d7438-0ebe-11e7-b131-c7b5bde6feed,248c535a-0ebe-11e7-a80e-bbdaa1d60c7c", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}(,[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12})*", "minLength": 36 } }, { "name": "origin_id", "description": "A filter by clients origin ID. Can be used together with uuids or separately.", "in": "query", "schema": { "description": "A filter by clients origin ID. Can be used together with uuids or separately.", "example": "1e4d7438-0ebe-11e7-b131-c7b5bde6feed", "type": "string" } }, { "name": "allow_deleted", "description": "If true, info for deleted clients may be returned.", "in": "query", "schema": { "description": "If true, info for deleted clients may be returned.", "type": "boolean" } } ], "responses": { "200": { "description": "The request was successful.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/clientBatch" } } } }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_viewer" ] } ] } }, "/clients/{client_id}": { "delete": { "operationId": "DeleteClient", "description": "Deletes a client by ID.", "parameters": [ { "name": "client_id", "description": "Client ID (UUID).", "required": true, "in": "path", "schema": { "description": "Client ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } } ], "responses": { "204": { "description": "Client was successfully deleted.", "content": {} }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_admin", "urn:acronis.com::account-server::replication_manager", "urn:acronis.com::account-server::managed_clients_admin" ] } ] }, "put": { "operationId": "UpdateClient", "description": "Updates a client by ID.", "parameters": [ { "name": "client_id", "description": "Client ID (UUID).", "required": true, "in": "path", "schema": { "description": "Client ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } } ], "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/clientPut" } } } }, "responses": { "200": { "description": "Client was successfully updated.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/client" } } } }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "415": { "description": "Requested type in the `Accept` request header is not supported.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_admin", "urn:acronis.com::account-server::replication_manager", "urn:acronis.com::account-server::managed_clients_admin" ] } ] }, "get": { "operationId": "FetchClient", "description": "Fetches a client by ID.", "parameters": [ { "name": "client_id", "description": "Client ID (UUID).", "required": true, "in": "path", "schema": { "description": "Client ID (UUID).", "type": "string", "pattern": "[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}", "minLength": 36, "maxLength": 36 } } ], "responses": { "200": { "description": "The request was successful.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/client" } } } }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "404": { "description": "Not Found.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::tenant_viewer" ] } ] } }, "/idp/token": { "post": { "operationId": "RequestTokens", "description": "Requests an access token, an ID token and, optionally, a refresh token.\n\nTo additionally request a refresh token, refer to [OpenID Connect Core 1.0 Section 11](https://openid.net/specs/openid-connect-core-1_0.html#rfc.section.11).", "x-optionalSecurity": true, "parameters": [ { "name": "Authorization", "description": "Used to send the base64-encoded \"client_id:client_secret\" credentials.\nMay be required depending on the grant type and 'token_endpoint_auth_method'", "in": "header", "schema": { "description": "Used to send the base64-encoded \"client_id:client_secret\" credentials.\nMay be required depending on the grant type and 'token_endpoint_auth_method'", "example": "Basic QUJDMTIz=", "type": "string", "pattern": "^Basic [0-9a-zA-Z\\-\\._~+/]*=$" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "required": [ "grant_type" ], "properties": { "grant_type": { "description": "The following authorization grant types are supported:\n\n- `password` grant type implementation is in accordance with [RFC6749 Section 4.3](https://datatracker.ietf.org/doc/html/rfc6749#section-4.3).\n- `md5_password` grant type is the same as `password` grant type, but password provided as MD5 hashsum.\n- `authorization_code`, `refresh_token` and `client_credentials` grant types implementation is in accordance with [OpenID Connect Core 1.0 Section 3.1.3](https://openid.net/specs/openid-connect-core-1_0.html#TokenEndpoint).\n- `authorization_code` grant type implementation also supports PKCE extension in accordance with [RFC7636](https://datatracker.ietf.org/doc/html/rfc7636)\n- `urn:ietf:params:oauth:grant-type:device_code` grant type implementation is in accordance with [RFC8628](https://datatracker.ietf.org/doc/html/rfc8628).\n- `urn:ietf:params:oauth:grant-type:jwt-bearer` grant type implementation is in accordance with [RFC7523](https://datatracker.ietf.org/doc/html/rfc7523).", "enum": [ "password", "md5_password", "authorization_code", "refresh_token", "client_credentials", "urn:ietf:params:oauth:grant-type:device_code", "urn:ietf:params:oauth:grant-type:jwt-bearer" ], "type": "string" }, "client_id": { "description": "OAuth 2.0 / OpenID Connect client's identifier (UUID).\n\nRequired for the `urn:ietf:params:oauth:grant-type:device_code` grant type.\n\nRequired for `authorization_code` and `client_credentials` grant types if the client was created with `token_endpoint_auth_method` set to `client_secret_post`.", "type": "string" }, "client_secret": { "description": "OAuth 2.0 / OpenID Connect clients secret.\n\nRequired for `authorization_code` and `client_credentials` grant types if the client was created with `token_endpoint_auth_method` set to `client_secret_post`.", "type": "string" }, "username": { "description": "Required for the `password` and `md5_password` grant types.", "type": "string" }, "password": { "description": "Required for the `password` and `md5_password` grant types.", "type": "string" }, "refresh_token": { "description": "Required for the `refresh_token` grant type.", "type": "string" }, "code": { "description": "Required for the `authorization_code` grant type.", "type": "string" }, "scope": { "description": "Not used for the `authorization_code` grant type. Optional for all other supported grant types.", "type": "string", "pattern": "^[\\w_]+(\\s+[\\w_]+)*$" }, "assertion": { "description": "Required for the `urn:ietf:params:oauth:grant-type:jwt-bearer` grant type.", "type": "string" }, "device_code": { "description": "Required for the `urn:ietf:params:oauth:grant-type:device_code` grant type.", "type": "string" }, "totp_code": { "description": "Required for the `password` grant type with TOTP authentication.", "type": "string" }, "code_verifier": { "description": "A cryptographically random string that is used to correlate the authorization request to the token request.\n\nRequired for the `authorization_code` grant type if `code_challenge` was provided during the authorization request.", "type": "string", "pattern": "^[A-Za-z0-9\\-\\._~]{43,128}$" }, "not_required_introspection": { "description": "Determines what kind of the access token will be issued: that require introspection or that do not require it.\n\nTokens that require introspection we call \"hybrid\" because we use combined approach to work with them: one part of the tokens' data could be obtained from the token itself but another part requires making a request to the introspection endpoint.\nThey contain not the full list of associated access policies in the scope and their introspection is required by the resource server for proper authorization.\n\nIf `not_required_introspection` is set to `true`, the issued token will contain all associated access policies in the scope and its introspection will not be required.\nSuch JWT token has `\"nri\": 1` in the header section (\"nri\" - not required introspection).\n\nIf `not_required_introspection` is not set or set to `false`, Account Server will decide whether to issue a \"hybrid\" token or not based on the its internal logic and roles configuration.\nNon \"hybrid\" JWT token has `\"nri\": 0` in the header section or does not have this field at all.", "type": "boolean" } } } } } }, "responses": { "200": { "description": "Authentication was successful and the tokens were issued.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/token" } } } }, "400": { "description": "Failed authentication factors check and when `redirect_uri` form parameter is not defined.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/tokenError" } } } }, "401": { "description": "Failed authentication factors check and when `redirect_uri` form parameter is not defined.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/tokenError" } } } }, "403": { "description": "Requested scope is not allowed.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/tokenError" } } } } }, "security": [ {} ] } }, "/idp/revoke_token": { "post": { "operationId": "RevokeToken", "description": "Revokes an access token and, if any, a refresh token in accordance with [RFC7009](https://datatracker.ietf.org/doc/html/rfc7009).\n\nConfidential clients must either follow Basic authentication scheme or provide credentials in the request body.\n\nPublic clients must provide `client_id` in the request body.\n\nIf `access_token` revocation is requested, the refresh token, if any, issued together with provided access token will also be revoked.\n\nIf `refresh_token` revocation is requested, the access token issued together with provided refresh token will also be revoked.", "x-optionalSecurity": true, "parameters": [ { "name": "Authorization", "description": "Used to send the base64-encoded \"client_id:client_secret\" credentials.", "in": "header", "schema": { "description": "Used to send the base64-encoded \"client_id:client_secret\" credentials.", "example": "Basic QUJDMTIz=", "type": "string", "pattern": "^Basic [0-9a-zA-Z\\-\\._~+/]*=$" } } ], "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "required": [ "token" ], "properties": { "token": { "description": "The token that the client wants to revoke.", "type": "string" }, "token_type_hint": { "description": "A hint about the token type submitted for revocation.", "enum": [ "access_token", "refresh_token" ], "type": "string" }, "client_id": { "description": "OAuth 2.0 / OpenID Connect client's identifier (UUID).\nRequired for public clients.", "type": "string" }, "client_secret": { "description": "OAuth 2.0 / OpenID Connect clients secret.\nCan be used by confidential clients for authentication.", "type": "string" } } } } } }, "responses": { "200": { "description": "Authentication was successful and the token was revoked.", "content": {} }, "400": { "description": "Invalid request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/revokeError" } } } }, "401": { "description": "Failed authentication factors check.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/revokeError" } } } } }, "security": [ {} ] } }, "/idp/introspect_token": { "post": { "operationId": "IntrospectToken", "description": "Introspect an access token in accordance with [RFC7662](https://datatracker.ietf.org/doc/html/rfc7662).", "requestBody": { "content": { "application/x-www-form-urlencoded": { "schema": { "type": "object", "required": [ "token" ], "properties": { "token": { "description": "The token that the client wants to introspect.", "type": "string" } } } } } }, "responses": { "200": { "description": "Authentication and authorization were successful and the token's was introspected.\n\nNote if the token from the request body is invalid (signature verification failed, token is expired, or something else), 200 HTTP code will be returned, but the response body will contain `{\"active\": false}`.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/tokenIntrospectionResponse" } } } }, "400": { "description": "Bad request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "oauth2": [ "urn:acronis.com::account-server::token_introspector" ] } ] } }, "/idp/ott": { "post": { "operationId": "RequestOneTimeToken", "description": "Available in cloud version only and this method can be accessed only by OAuth 2.0 / OpenID Connect client.\n\nRequests a one-time token for authentication on behalf of the specified user.\nEither user external ID or Acronis user login or Acronis user UUID can be supplied.", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/idpOttPost" } } } }, "responses": { "200": { "description": "One-time token was successfully issued.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/idpOtt" } } } }, "400": { "description": "Bad request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "403": { "description": "Current user is not authorized to access this endpoint or its method.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ { "basicAuth": [] }, { "oauth2": [ "urn:acronis.com::account-server::user_admin" ] } ] } }, "/idp/ott/login": { "post": { "operationId": "LogInWithOneTimeToken", "description": "Authenticates to the platform using one-time token and provides the IdP session cookie.\n\nAvailable in cloud version only.", "x-optionalSecurity": true, "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/idpOttLoginPost" } } } }, "responses": { "200": { "description": "Authentication with one-time token was successful.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/user" } } } }, "400": { "description": "Bad request.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } }, "401": { "description": "Method required an authenticated user.", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/errorScheme" } } } } }, "security": [ {} ] } }, "/idp/logout": { "get": { "operationId": "Logout", "description": "Performs a logout from the platform.", "responses": { "200": { "description": "User was successfully logged out.", "content": { "text/html": { "schema": { "example": "
\r\n