Anaconda Server API

The repository API behind the Anaconda Platform and the on-premises Anaconda Server — channels, artifacts (conda, PyPI, CRAN), subchannels, mirrors, installers, CVE and vulnerability metadata, accounts, users, groups, tokens, license and system administration. Published as OpenAPI 3.0.0 (version 6.5) with 129 paths and 172 operations, secured with a JWT bearer scheme and an X-Auth user-token API key.

OpenAPI Specification

anaconda-server-openapi-original.json Raw ↑
{"openapi": "3.0.0", "info": {"version": "6.5", "title": "Anaconda Server API"}, "servers": [{"url": "https://api.anaconda.cloud/api"}], "tags": [{"name": "system", "description": "System endpoints - version, health, etc."}, {"name": "auth", "description": "Authentication endpoints"}, {"name": "account", "description": "User account actions"}, {"name": "artifacts", "description": "Artifact endpoints - search, retrieve, mirror"}, {"name": "users", "description": "User role management endpoints (CRUD is managed separately)"}, {"name": "groups", "description": "Group management endpoints"}, {"name": "channels", "description": "Channel management endpoints"}, {"name": "tags", "description": "Tags"}], "paths": {"/installers": {"get": {"tags": ["installers"], "summary": "Get list of miniconda installers available for download.", "operationId": "repo.endpoints.installers.list_installers", "responses": {"200": {"description": "successful operation", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Installers"}}}}, "500": {"$ref": "#/components/responses/InternalServerError"}}}}, "/installers/{installer_name}": {"get": {"tags": ["installers"], "summary": "Donwload miniconda installer from mounted installers.zip", "operationId": "repo.endpoints.installers.download_installer", "parameters": [{"$ref": "#/components/parameters/installer_name-parameter"}], "responses": {"200": {"description": "successfully found the resource to download"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}}}, "/external-docs": {"get": {"tags": ["docs"], "summary": "Redirect a user to the right documentation location", "operationId": "repo.endpoints.system.get_external_docs", "responses": {"302": {"description": "redirect to the current documentation of Anaconda Server"}}}}, "/system": {"get": {"tags": ["system"], "summary": "Get system information such as health, version, etc.", "operationId": "repo.endpoints.system.health", "responses": {"200": {"description": "successful operation", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/System"}}}}, "400": {"$ref": "#/components/responses/BadRequest"}, "500": {"$ref": "#/components/responses/InternalServerError"}}}}, "/system/stats": {"get": {"tags": ["system"], "summary": "Get system stats such as disk usage, etc.", "operationId": "repo.endpoints.system.stats", "responses": {"200": {"description": "successful operation", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SystemStats"}}}}, "400": {"$ref": "#/components/responses/BadRequest"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/system/metrics": {"get": {"tags": ["system"], "summary": "Get system metrics in OpenMetrics format", "operationId": "repo.endpoints.system.metrics", "parameters": [{"in": "query", "name": "name[]", "required": false, "description": "metrics name filter", "schema": {"type": "array", "items": {"type": "string"}}}], "responses": {"200": {"description": "Exported metrics", "content": {"application/openmetrics-text": {"schema": {"type": "string"}}, "application/json": {"schema": {"$ref": "#/components/schemas/OpenMetrics"}}}}, "500": {"$ref": "#/components/responses/InternalServerError"}}}}, "/system/history": {"get": {"tags": ["account"], "summary": "Get full history of all system events", "operationId": "repo.endpoints.system.history", "parameters": [{"$ref": "#/components/parameters/event-types-query"}, {"$ref": "#/components/parameters/user-id-query"}, {"$ref": "#/components/parameters/offset-query"}, {"$ref": "#/components/parameters/limit-query"}], "responses": {"200": {"description": "successful retrieval of history", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountHistory"}}}}, "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/system/scopes": {"get": {"tags": ["system"], "summary": "Get all possible scopes in system", "operationId": "repo.endpoints.system.scopes", "responses": {"200": {"description": "successful operation", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "string"}}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}, {"user_token": []}]}}, "/system/resource_types": {"get": {"tags": ["system"], "summary": "Get all possible resource types, used for role management", "operationId": "repo.endpoints.system.resource_types", "responses": {"200": {"description": "successful operation", "content": {"application/json": {"schema": {"type": "array", "items": {"type": "string"}}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/system/license": {"get": {"tags": ["system"], "summary": "Get current license information", "operationId": "repo.endpoints.system.get_license", "responses": {"200": {"description": "Current license information", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductLicense"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}, {"user_token": []}]}, "post": {"tags": ["system"], "summary": "Add license key", "operationId": "repo.endpoints.system.post_license", "requestBody": {"description": "Activate the license", "required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/ProductLicenseRequest"}}}}, "responses": {"200": {"description": "Current license information"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}, "put": {"tags": ["system"], "summary": "Update or re-activate license key", "operationId": "repo.endpoints.system.put_license", "responses": {"202": {"description": "Accepted"}, "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/system/settings": {"get": {"tags": ["system"], "summary": "Get current system settings", "operationId": "repo.endpoints.system.get_settings", "responses": {"200": {"description": "System settings", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SystemSettings"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}, {"user_token": []}]}, "put": {"tags": ["system"], "summary": "Update system settings", "operationId": "repo.endpoints.system.update_settings", "requestBody": {"description": "System settings", "required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/SystemSettings"}}}}, "responses": {"200": {"description": "Current system settings"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}, {"user_token": []}]}}, "/diagnose/blobs": {"post": {"tags": ["diagnosis"], "summary": "Diagnose", "operationId": "repo.endpoints.diagnosis.blobs.troubleshoot_routes_blobs", "description": "## Troubleshoots routes and blobs in the database.\n* If the blobs of active routes of given channel name(s) are not available, mark the active routes as passive. \nIf the channel name list is not given, then do the process for all channel artifacts.\n* Return the list of routes updated\n* Identify the index blobs in the database as per the channel names given or for all \nchannels (if list is not given) so that admin can analyse it and decide about removing the index blobs\n", "requestBody": {"description": "request body for diagnosis", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiagnosisRequest"}}}}, "responses": {"200": {"description": "Analyse missing blobs", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/DiagnoseRoutesAndBlobs"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}, {"user_token": []}]}}, "/auth/login": {"post": {"tags": ["auth"], "summary": "Authenticate user", "operationId": "repo.endpoints.auth.login", "requestBody": {"description": "Get user token by providing credentials", "required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LoginRequest"}}}}, "responses": {"200": {"description": "Token information", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/LoginResponse"}}}}, "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "500": {"$ref": "#/components/responses/InternalServerError"}}}}, "/auth/logout": {"get": {"tags": ["auth"], "operationId": "repo.endpoints.auth.logout_get", "responses": {"302": {"description": "successful redirect a user"}}}}, "/auth/authorize": {"get": {"tags": ["auth"], "summary": "Initiates authentication flow", "operationId": "repo.endpoints.auth.openidc_authorize", "responses": {"200": {"description": "returns the redirect_rul", "content": {"application/json": {"schema": {"type": "object", "properties": {"redirect_url": {"type": "string"}}}}}}}}}, "/auth/callback/kc": {"get": {"tags": ["auth"], "parameters": [{"in": "query", "name": "code", "required": true, "schema": {"type": "string"}, "description": "authorization_code from OpenID provider"}, {"in": "query", "name": "state", "schema": {"type": "string"}}, {"in": "query", "name": "redirect_uri", "schema": {"type": "string"}}], "summary": "Callback endpoint, used for final redirect from the OpenID connect provider", "operationId": "repo.endpoints.auth.openidc_callback_keycloak", "description": "kc means Keycloak, could be potentially extended with different providers", "responses": {"302": {"description": "redirects to index page and sets the corresponding cookies"}, "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthenticated"}}}}, "/account/register": {"post": {"x-not-implemented": "red", "tags": ["account"], "summary": "This allows a non-user to create an user", "operationId": "repo.endpoints.account.register", "requestBody": {"description": "registered new user with provided payload", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "responses": {"200": {"description": "successful operation"}, "400": {"$ref": "#/components/responses/BadRequest"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "deprecated": true}}, "/account/register/{account_id}": {"get": {"x-not-implemented": "red", "tags": ["account"], "summary": "Once a new user is registered they must confirm their registration via an email", "description": "When a new account is registered, it must first be confirmed before full access is granted. An email will be sent to the email address used during registration. There will be a link in that email that points to https://server.com/register/{accountid}", "operationId": "repo.endpoints.account.register_confirm", "parameters": [{"in": "path", "name": "account_id", "schema": {"type": "string"}, "description": "the uuid in the link of the confirmation email", "required": true}], "responses": {"200": {"description": "successful operation"}, "400": {"$ref": "#/components/responses/BadRequest"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}], "deprecated": true}}, "/account/unregister": {"post": {"x-not-implemented": "red", "tags": ["account"], "summary": "This allows a user to unregister their account", "description": "If the user wants to unregister their account from repo, this endpoint uses the currently logged in user to unregister. A confirmation email will be sent to the registered address before unregistration is complete.", "operationId": "repo.endpoints.account.unregister", "responses": {"200": {"description": "successfully triggered unregistration"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}], "deprecated": true}}, "/account/unregister/{account_id}": {"get": {"x-not-implemented": "red", "tags": ["account"], "summary": "This is confirm that the user does want to unregister their account from repo", "description": "This endpoint will normally be called due to the user confirming their unregistration from the confirmation email they received", "operationId": "repo.endpoints.account.unregister_confirm", "parameters": [{"in": "path", "name": "account_id", "schema": {"type": "string"}, "description": "the uuid in the link of the confirmation email", "required": true}], "responses": {"200": {"description": "successful operation"}, "400": {"$ref": "#/components/responses/BadRequest"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}], "deprecated": true}}, "/account": {"get": {"x-not-implemented": "yellow", "tags": ["account"], "summary": "This gets the account data for the currently logged in user.", "description": "The platform will know what user to get data for by using the JWT token.There is no need to query parameters", "operationId": "repo.endpoints.account.get_account", "responses": {"200": {"description": "successful operation", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/Account"}}}}, "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}, {"user_token": []}]}, "put": {"x-not-implemented": "red", "tags": ["account"], "summary": "Edit the currently logged in user's account", "description": "The user that is currently logged in is determined by the JWT token that is available", "operationId": "repo.endpoints.account.edit_account", "requestBody": {"description": "pass the schema properties edited", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountUpdateRequest"}}}}, "responses": {"200": {"description": "successful operation"}, "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}], "deprecated": true}, "delete": {"x-not-implemented": "red", "tags": ["account"], "summary": "Delete the account temporarily until confirmed", "operationId": "repo.endpoints.account.delete", "responses": {"200": {"description": "successful deletion"}, "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}], "deprecated": true}}, "/account/tokens": {"get": {"tags": ["account"], "summary": "Get user tokens for current account", "description": "Returns the list of created token by this user, either `scope` or `resource` type.", "operationId": "repo.endpoints.tokens.user_tokens.list_tokens", "responses": {"200": {"description": "successful operation", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenList"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}, "post": {"tags": ["account"], "summary": "Create a new user token", "description": "Give access to allow user to do specific actions on one or more resources", "operationId": "repo.endpoints.tokens.user_tokens.post_token", "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenCreateRequest"}}}}, "responses": {"200": {"description": "Created token object, which also contains the token itself and id of the token", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenCreateResponse"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/account/token-info": {"get": {"tags": ["account"], "summary": "Get information about the current user token, provided with X-Auth header", "operationId": "repo.endpoints.tokens.user_tokens.info", "responses": {"200": {"description": "successful operation", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenInfo"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"user_token": []}]}}, "/account/tokens/{token_id}": {"put": {"tags": ["account"], "summary": "Update user token information", "operationId": "repo.endpoints.tokens.user_tokens.put_token", "description": "By default reissues a new token and returns in `token` attribute. If `reissue_token` query parameter is false, then token is not reissued and old value is used. The api returns `null` as a token in this case.\n", "parameters": [{"$ref": "#/components/parameters/token_id-parameter"}, {"$ref": "#/components/parameters/reissue_token-query"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenUpdateRequest"}}}}, "responses": {"200": {"description": "Updated token object, which also contains the token itself", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenUpdateResponse"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}, "delete": {"tags": ["account"], "summary": "Delete specific user token", "operationId": "repo.endpoints.tokens.user_tokens.delete_token", "parameters": [{"$ref": "#/components/parameters/token_id-parameter"}], "responses": {"204": {"description": "Token is deleted"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/account/tokens/{token_id}/metadata": {"put": {"tags": ["users"], "summary": "Update user token metadata", "operationId": "repo.endpoints.tokens.user_tokens.put_token_metadata", "description": "Updates token metadata\n", "parameters": [{"$ref": "#/components/parameters/token_id-parameter"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenUpdateMetadataRequest"}}}}, "responses": {"200": {"description": "Updated token object, which also contains the token itself", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenUpdateResponse"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/users/{user_id}/tokens": {"get": {"tags": ["users"], "summary": "Get user tokens for current account by admin user", "description": "Returns the list of created token by this user, either `scope` or `resource` type. Token list includes also `token_hash`.\n", "operationId": "repo.endpoints.tokens.admin_user_tokens.list_tokens", "parameters": [{"$ref": "#/components/parameters/user_id-parameter"}], "responses": {"200": {"description": "successful operation", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenList"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}, "post": {"tags": ["users"], "summary": "Create a new user token by admin user", "description": "Give access to allow user to do specific actions on one or more resources", "operationId": "repo.endpoints.tokens.admin_user_tokens.post_token", "parameters": [{"$ref": "#/components/parameters/user_id-parameter"}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenCreateRequest"}}}}, "responses": {"200": {"description": "Created token object, which also contains the token itself and id of the token", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenCreateResponse"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/users/tokens": {"post": {"tags": ["users"], "summary": "Bulk update of token information for users", "operationId": "repo.endpoints.tokens.admin_user_tokens.list_users_tokens", "description": "By default reissues a new tokens and returns a UsersTokens object with tokens,  successful_updated_users and unsuccessful_updated_users attributes. If `reissue_token` query parameter is false, then tokens are not reissued and old values are used. The api returns `null` as a token in this case.\n", "parameters": [{"$ref": "#/components/parameters/with_hash-query"}], "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UsersTokenGetRequest"}}}}, "responses": {"200": {"description": "Updated users tokens object, which also contains the tokens itself", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UsersTokensGetResponse"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}, "put": {"tags": ["users"], "summary": "Bulk update of token information for users", "operationId": "repo.endpoints.tokens.admin_user_tokens.put_tokens", "description": "By default reissues a new tokens and returns a UsersTokens object with tokens,  successful_updated_users and unsuccessful_updated_users attributes. If `reissue_token` query parameter is false, then tokens are not reissued and old values are used. The api returns `null` as a token in this case.\n", "requestBody": {"required": true, "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UsersTokenUpdateRequest"}}}}, "responses": {"200": {"description": "Updated users tokens object, which also contains the tokens itself", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UsersTokenUpdateResponse"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/users/{user_id}/tokens/{token_id}": {"put": {"tags": ["users"], "summary": "Update user token information", "operationId": "repo.endpoints.tokens.admin_user_tokens.put_token", "description": "By default reissues a new token and returns in `token` attribute. If `reissue_token` query parameter is false, then token is not reissued and old value is used. The api returns `null` as a token in this case.\n", "parameters": [{"$ref": "#/components/parameters/user_id-parameter"}, {"$ref": "#/components/parameters/token_id-parameter"}, {"$ref": "#/components/parameters/reissue_token-query"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenUpdateRequest"}}}}, "responses": {"200": {"description": "Updated token object, which also contains the token itself", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenUpdateResponse"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}, "delete": {"tags": ["users"], "summary": "Delete specific user token", "operationId": "repo.endpoints.tokens.admin_user_tokens.delete_token", "parameters": [{"$ref": "#/components/parameters/user_id-parameter"}, {"$ref": "#/components/parameters/token_id-parameter"}], "responses": {"204": {"description": "Token is deleted"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/users/{user_id}/tokens/{token_id}/metadata": {"put": {"tags": ["users"], "summary": "Update user token metadata", "operationId": "repo.endpoints.tokens.admin_user_tokens.put_token_metadata", "description": "Updates token metadata\n", "parameters": [{"$ref": "#/components/parameters/user_id-parameter"}, {"$ref": "#/components/parameters/token_id-parameter"}], "requestBody": {"content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenUpdateMetadataRequest"}}}}, "responses": {"200": {"description": "Updated token object, which also contains the token itself", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/UserTokenUpdateResponse"}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/account/history": {"get": {"tags": ["account"], "summary": "Get the history logs for the account", "operationId": "repo.endpoints.account.history", "parameters": [{"$ref": "#/components/parameters/event-types-query"}, {"$ref": "#/components/parameters/search-query"}, {"$ref": "#/components/parameters/offset-query"}, {"$ref": "#/components/parameters/limit-query"}], "responses": {"200": {"description": "successful retrieval of history", "content": {"application/json": {"schema": {"type": "object", "properties": {"items": {"$ref": "#/components/schemas/AccountHistory"}}}}}}, "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}}, "/account/history/ws": {"get": {"tags": ["account", "websocket"], "operationId": "repo.endpoints.account.publish_events", "parameters": [{"name": "timeout", "in": "query", "required": false, "schema": {"type": "integer", "default": 5000}}, {"$ref": "#/components/parameters/event-types-query"}], "responses": {"101": {"description": "Read-only websocket with new events", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountHistory"}}}}, "400": {"$ref": "#/components/responses/BadRequest"}}, "security": [{"jwt": []}]}}, "/account/logs": {"get": {"x-not-implemented": "red", "tags": ["account"], "summary": "Get the audit logs for the account", "description": "this gets the logs for the account and if the account is owned by an admin user then it retrieves the logs for everyone. maybe that's too much", "operationId": "repo.endpoints.account.logs", "parameters": [{"$ref": "#/components/parameters/search-query"}, {"$ref": "#/components/parameters/created-query"}, {"$ref": "#/components/parameters/updated-query"}, {"$ref": "#/components/parameters/offset-query"}, {"$ref": "#/components/parameters/limit-query"}], "responses": {"200": {"description": "successful retrieval of logs", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/AccountAuditLog"}}}}, "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}], "deprecated": true}}, "/account/channels": {"get": {"tags": ["account"], "summary": "Get channels the user has access to", "operationId": "repo.endpoints.channels.channels.list_my_channels", "parameters": [{"$ref": "#/components/parameters/permission-query"}, {"$ref": "#/components/parameters/offset-query"}, {"$ref": "#/components/parameters/limit-query"}, {"$ref": "#/components/parameters/include-subchannels"}, {"$ref": "#/components/parameters/channel-sort-query"}], "responses": {"200": {"description": "ok", "content": {"application/json": {"schema": {"type": "object", "properties": {"total_count": {"type": "number"}, "items": {"type": "array", "items": {"$ref": "#/components/schemas/Channel"}}}}}}}, "400": {"$ref": "#/components/responses/BadRequest"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}, {"user_token": []}]}}, "/account/permissions": {"get": {"tags": ["account"], "summary": "Get the permissions for this user's account", "operationId": "repo.endpoints.account.get_user_permissions", "responses": {"200": {"description": "ok", "content": {"application/json": {"schema": {"type": "object", "properties": {"items": {"type": "array", "items": {"$ref": "#/components/schemas/UserPermission"}}}}}}}, "400": {"$ref": "#/components/responses/BadRequest"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}}}, "/account/scopes": {"get": {"tags": ["account"], "summary": "Get the scopes for specific user account", "operationId": "repo.endpoints.account.get_user_scopes", "responses": {"200": {"description": "ok", "content": {"application/json": {"schema": {"type": "object", "properties": {"scopes": {"type": "string"}}}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}, {"user_token": []}]}}, "/users": {"get": {"tags": ["users"], "summary": "Get list of users for the group editing", "operationId": "repo.endpoints.users.list_users", "parameters": [{"$ref": "#/components/parameters/search-query"}, {"$ref": "#/components/parameters/limit-query"}, {"$ref": "#/components/parameters/offset-query"}], "responses": {"200": {"description": "successfully retrieved users", "content": {"application/json": {"schema": {"type": "array", "items": {"$ref": "#/components/schemas/GroupMember"}}}}}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}]}, "post": {"x-not-implemented": "red", "tags": ["users"], "summary": "Admin Only! Create user (handled by IDP for now)", "description": "Admin only. This can only be done by the logged in user.", "operationId": "repo.endpoints.users.post", "requestBody": {"description": "create user with provided payload", "content": {"application/json": {"schema": {"$ref": "#/components/schemas/User"}}}}, "responses": {"200": {"description": "successful operation"}, "400": {"$ref": "#/components/responses/BadRequest"}, "401": {"$ref": "#/components/responses/Unauthenticated"}, "403": {"$ref": "#/components/responses/Forbidden"}, "404": {"$ref": "#/components/responses/NotFound"}, "500": {"$ref": "#/components/responses/InternalServerError"}}, "security": [{"jwt": []}], "de

# --- truncated at 32 KB (208 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/anaconda/refs/heads/main/openapi/anaconda-server-openapi-original.json
Where this information came from

This is an independent, third-party profile of Anaconda Server API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.