ArangoDB Security API

Configure audit logging, encryption at rest and encryption in transit

Operations 3

POST /_admin/server/encryption Rotate the encryption at rest key #
POST /_admin/server/tls Reload the TLS data #
GET /_db/{database-name}/_admin/server/tls Get the TLS data #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/arangodb-security-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

arangodb-security-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    name: ArangoDB Inc.
    url: https://arango.ai
  license:
    name: Business Source License 1.1
    url: https://github.com/arangodb/arangodb/blob/devel/LICENSE
  summary: The HTTP API of the ArangoDB graph database system
  title: ArangoDB Core Security API
  version: 3.12.10 (API v0)
  description: Configure audit logging, encryption at rest and encryption in transit
tags:
- description: Configure audit logging, encryption at rest and encryption in transit
  name: Security
paths:
  /_admin/server/encryption:
    post:
      description: 'Change the user-supplied encryption at rest key by sending a request without

        payload to this endpoint. The file supplied via `--rocksdb.encryption-keyfolder`

        will be reloaded and the internal encryption key will be re-encrypted with the

        new user key.


        This is a protected API and can only be executed with superuser rights.

        This API is not available on Coordinator nodes.

        '
      operationId: rotateEncryptionAtRestKey
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  code:
                    description: 'The HTTP response status code.

                      '
                    example: 200
                    type: integer
                  error:
                    description: 'A flag indicating that no error occurred.

                      '
                    example: false
                    type: boolean
                  result:
                    description: 'The result object.

                      '
                    properties:
                      encryption-keys:
                        description: 'An array of objects with the SHA-256 hashes of the key secrets.

                          Can be empty.

                          '
                        items:
                          type: object
                        type: array
                    required:
                    - encryption-keys
                    type: object
                required:
                - error
                - code
                - result
                type: object
          description: 'This API will return HTTP 200 if everything is ok

            '
        '403':
          description: 'This API will return HTTP 403 FORBIDDEN if it is not called with

            superuser rights.

            '
        '404':
          description: 'This API will return HTTP 404 in case encryption key rotation is disabled.

            '
      summary: Rotate the encryption at rest key
      tags:
      - Security
  /_admin/server/tls:
    post:
      description: 'This API call triggers a reload of all the TLS data (server key, client-auth CA)

        and then returns a summary. The JSON response is exactly as in the corresponding

        GET request.


        This is a protected API and can only be executed with superuser rights.

        '
      operationId: reloadServerTls
      responses:
        '200':
          description: 'This API will return HTTP 200 if everything is ok

            '
        '403':
          description: 'This API will return HTTP 403 Forbidden if it is not called with

            superuser rights.

            '
      summary: Reload the TLS data
      tags:
      - Security
  /_db/{database-name}/_admin/server/tls:
    get:
      description: "Return a summary of the TLS data. The JSON response will contain a field\n`result` with the following components:\n\n  - `keyfile`: Information about the key file.\n  - `clientCA`: Information about the Certificate Authority (CA) for\n    client certificate verification.\n\nIf server name indication (SNI) is used and multiple key files are\nconfigured for different server names, then there is an additional\nattribute `SNI`, which contains for each configured server name\nthe corresponding information about the key file for that server name.\n\nIn all cases the value of the attribute will be a JSON object, which\nhas a subset of the following attributes (whatever is appropriate):\n\n  - `sha256`: The value is a string with the SHA256 of the whole input\n    file.\n  - `certificates`: The value is a JSON array with the public\n    certificates in the chain in the file.\n  - `privateKeySha256`: In cases where there is a private key (`keyfile`\n    but not `clientCA`), this field is present and contains a\n    JSON string with the SHA256 of the private key.\n\nThis API requires authentication.\n"
      operationId: getServerTls
      parameters:
      - description: 'The name of a database. Which database you use doesn''t matter as long

          as the user account you authenticate with has at least read access

          to this database. If the `--server.harden` startup option is enabled,

          administrate access to the `_system` database is required.

          '
        example: _system
        in: path
        name: database-name
        required: true
        schema:
          type: string
      responses:
        '200':
          description: 'This API will return HTTP 200 if everything is ok

            '
      summary: Get the TLS data
      tags:
      - Security
externalDocs:
  description: ArangoDB Documentation
  url: https://docs.arango.ai/arangodb/