{ "opencollection": "1.0.0", "info": { "name": "ArangoDB Core Authentication API", "version": "3.12.10 (API v0)" }, "items": [ { "info": { "name": "Authentication", "type": "folder" }, "items": [ { "info": { "name": "Hot-reload the JWT secret(s) from disk", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/_admin/server/jwt" }, "docs": "Sending a request without payload to this endpoint reloads the JWT secret(s)\nfrom disk. Only the files specified via the arangod startup option\n`--server.jwt-secret-keyfile` or `--server.jwt-secret-folder` are used.\nIt is not possible to change the locations where files are loaded from\nwithout restarting the process.\n\nTo utilize the API a superuser JWT token is necessary, otherwise the response\nwill be _HTTP 403 Forbidden_.\n" }, { "info": { "name": "List all access tokens", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/_api/token/:user", "params": [ { "name": "user", "value": "", "type": "path", "description": "The name of the user.\n" } ] }, "docs": "List the access tokens for a given user.\n\nThis only returns the access token metadata.\nThe actual access token strings are only shown when creating tokens. \n\nThe user account you authenticate with needs to have administrate access\nto the `_system` database if you want to list the access tokens for a\ndifferent user. You can always list your own access tokens,\nregardless of database access levels.\n" }, { "info": { "name": "Create an access token", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/_api/token/:user", "params": [ { "name": "user", "value": "", "type": "path", "description": "The name of the user.\n" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Create a new access token for the given user.\n\nThe response includes the actual access token string that you need to\nstore in a secure manner. It is only shown once.\n\nThe user account you authenticate with needs to have administrate access\nto the `_system` database if you want to create an access token for a\ndifferent user. You can always create an access token for yourself,\nregardless of database access levels.\n" }, { "info": { "name": "Delete an access token", "type": "http" }, "http": { "method": "DELETE", "url": "{{baseUrl}}/_api/token/:user/:token-id", "params": [ { "name": "user", "value": "", "type": "path", "description": "The name of the user.\n" }, { "name": "token-id", "value": "", "type": "path", "description": "The identifier of the access token.\n" } ] }, "docs": "Delete an access token with the specified identifier for the given user.\n\nThe user account you authenticate with needs to have administrate access\nto the `_system` database if you want to delete an access token for a\ndifferent user. You can always delete your own access tokens,\nregardless of database access levels.\n" }, { "info": { "name": "Get information about the loaded JWT secrets", "type": "http" }, "http": { "method": "GET", "url": "{{baseUrl}}/_db/:database-name/_admin/server/jwt", "params": [ { "name": "database-name", "value": "_system", "type": "path", "description": "The name of a database. Which database you use doesn't matter as long\nas the user account you authenticate with has at least read access\nto this database. If the `--server.harden` startup option is enabled,\nadministrate access to the `_system` database is required.\n" } ] }, "docs": "Get information about the currently loaded secrets.\n\nTo utilize the API a superuser JWT token is necessary, otherwise the response\nwill be _HTTP 403 Forbidden_.\n" }, { "info": { "name": "Create a JWT session token", "type": "http" }, "http": { "method": "POST", "url": "{{baseUrl}}/_open/auth", "body": { "type": "json", "data": "{}" } }, "docs": "Obtain a JSON Web Token (JWT) from the credentials of an ArangoDB user account\nor a user's access token.\nYou can use the JWT in the `Authorization` HTTP header as a `Bearer` token to\nauthenticate requests.\n\nThe lifetime for the token is controlled by the `--server.session-timeout`\nstartup option.\n" } ] } ], "bundled": true }