YugabyteDB Access Keys API

The Access Keys API from YugabyteDB — 3 operation(s) for access keys.

Operations 6

GET /api/v1/customers/{cUUID}/access_keys List access keys for all providers of a customer #
GET /api/v1/customers/{cUUID}/providers/{pUUID}/access_keys List access keys for a specific provider #
POST /api/v1/customers/{cUUID}/providers/{pUUID}/access_keys Create/Upload Access Key for onprem provider region - deprecated #
DELETE /api/v1/customers/{cUUID}/providers/{pUUID}/access_keys/{keyCode} Delete an access key #
GET /api/v1/customers/{cUUID}/providers/{pUUID}/access_keys/{keyCode} Get an access key #
PUT /api/v1/customers/{cUUID}/providers/{pUUID}/access_keys/{keyCode} Modify the existing access Key #

Documentation

Specifications

Other Resources

🔗
CLI
https://github.com/yugabyte/ybm-cli
🔗
Integrations
https://github.com/yugabyte/terraform-provider-ybm
🔗
TermsOfService
https://www.yugabyte.com/yugabytedb-managed-service-terms/
🔗
SDKs
https://github.com/yugabyte/platform-go-client
🔗
Integrations
https://github.com/yugabyte/terraform-provider-yba
🔗
Integrations
https://github.com/yugabyte/yugabyte-k8s-operator
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybuniverse.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-backup.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-backup-schedule.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-restore-job.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-storage-config.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-dr-config.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-pitr-config.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-release.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-support-bundle.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybcertificate.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybprovider.yaml
🔗
KubernetesCRD
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/crd/yugabytedb-ybplatform.yaml
🔗
APIsJSON
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/apis.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/arazzo/yugabytedb-add-read-replica-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/arazzo/yugabytedb-backup-and-restore-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/arazzo/yugabytedb-configure-allow-list-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/arazzo/yugabytedb-configure-maintenance-window-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/arazzo/yugabytedb-discover-account-clusters-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/arazzo/yugabytedb-pause-resume-cluster-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/arazzo/yugabytedb-provision-cluster-workflow.yml
🔗
Arazzo
https://raw.githubusercontent.com/api-evangelist/yugabytedb/refs/heads/main/arazzo/yugabytedb-scale-cluster-workflow.yml

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/yugabytedb-access-keys-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

yugabytedb-access-keys-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Yugabytedb Access Keys API
  version: v1
  contact:
    name: https://docs.yugabyte.com
  license:
    name: Polyform Free Trial License 1.0.0
    url: https://github.com/yugabyte/yugabyte-db/blob/master/licenses/POLYFORM-FREE-TRIAL-LICENSE-1.0.0.txt
  termsOfService: TODO(chirag)
  x-refined-note:
  - x-source differs across the merged source definitions and was not carried
  - x-split-from differs across the merged source definitions and was not carried
  description: 'Operations tagged Access Keys across 4 of this provider''s published API definitions: openapi_2.yaml, platform.swagger.json, yugabytedb-anywhere-v1-full.yaml, yugabytedb-anywhere-v1-providers-infra.yaml. Each path carries the servers of the definition it was published in.'
servers:
- url: /
tags:
- name: Access Keys
paths:
  /api/v1/customers/{cUUID}/access_keys:
    get:
      operationId: listAllForCustomer
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AccessKey'
                type: array
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: List access keys for all providers of a customer
      tags:
      - Access Keys
    servers:
    - url: /
  /api/v1/customers/{cUUID}/providers/{pUUID}/access_keys:
    get:
      operationId: list
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: pUUID
        required: true
        schema:
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/AccessKey'
                type: array
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: List access keys for a specific provider
      tags:
      - Access Keys
    post:
      deprecated: true
      description: <b style="color:#ff0000">Deprecated since YBA version 2.20.0.0.</b></p>Use /api/v1/customers/{cUUID}/provider/{pUUID}/edit instead for adding the key
      operationId: createAccesskey
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: pUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessKeyFormData'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKey'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Create/Upload Access Key for onprem provider region - deprecated
      tags:
      - Access Keys
      x-codegen-request-body-name: AccessKeyFormData
    servers:
    - url: /
  /api/v1/customers/{cUUID}/providers/{pUUID}/access_keys/{keyCode}:
    delete:
      operationId: delete_accesskey
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: pUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: keyCode
        required: true
        schema:
          type: string
      - in: query
        name: request
        schema: {}
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/YBPSuccess'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Delete an access key
      tags:
      - Access Keys
    get:
      operationId: index
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: pUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: keyCode
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKey'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Get an access key
      tags:
      - Access Keys
    put:
      description: 'WARNING: This is a preview API that could change.'
      operationId: editAccesskey
      parameters:
      - in: path
        name: cUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: pUUID
        required: true
        schema:
          format: uuid
          type: string
      - in: path
        name: keyCode
        required: true
        schema:
          type: string
      - in: query
        name: request
        schema: {}
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccessKey'
        description: access key edit form data
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessKey'
          description: successful operation
      security:
      - apiKeyAuth: []
      summary: Modify the existing access Key
      tags:
      - Access Keys
      x-codegen-request-body-name: accesskey
    servers:
    - url: /
components:
  schemas:
    AccessKeyId:
      example:
        keyCode: keyCode
        providerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      properties:
        keyCode:
          type: string
        providerUUID:
          format: uuid
          type: string
      type: object
    AccessKey:
      description: Access key for the cloud provider. This helps to authenticate the user and get access to the provider.
      example:
        idKey:
          keyCode: keyCode
          providerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
        creationDate: 2022-12-12 13:07:18+00:00
        keyInfo:
          sshPort: 6
          nodeExporterPort: 0
          installNodeExporter: true
          skipProvisioning: true
          nodeExporterUser: nodeExporterUser
          provisionInstanceScript: provisionInstanceScript
          passwordlessSudoAccess: true
          publicKey: publicKey
          vaultFile: vaultFile
          sshPrivateKeyContent: sshPrivateKeyContent
          privateKey: privateKey
          setUpChrony: true
          vaultPasswordFile: vaultPasswordFile
          ntpServers:
          - ntpServers
          - ntpServers
          skipKeyValidateAndUpload: true
          sshUser: sshUser
          deleteRemote: true
          showSetUpChrony: true
          airGapInstall: true
          keyPairName: keyPairName
          managementState: YBAManaged
        expirationDate: 2022-12-12 13:07:18+00:00
      properties:
        creationDate:
          description: Creation date of key
          example: 2022-12-12 13:07:18+00:00
          format: date-time
          readOnly: true
          type: string
        expirationDate:
          description: Expiration date of key
          example: 2022-12-12 13:07:18+00:00
          format: date-time
          type: string
        idKey:
          $ref: '#/components/schemas/AccessKeyId'
        keyInfo:
          $ref: '#/components/schemas/KeyInfo'
      required:
      - idKey
      - keyInfo
      type: object
    AccessKeyFormData:
      example:
        expirationThresholdDays: 0
        keyCode: keyCode
        keyContent: keyContent
        keyType: PUBLIC
      properties:
        expirationThresholdDays:
          format: int32
          type: integer
        keyCode:
          type: string
        keyContent:
          type: string
        keyType:
          enum:
          - PUBLIC
          - PRIVATE
          type: string
      required:
      - keyCode
      - keyContent
      - keyType
      type: object
    KeyInfo:
      example:
        sshPort: 6
        nodeExporterPort: 0
        installNodeExporter: true
        skipProvisioning: true
        nodeExporterUser: nodeExporterUser
        provisionInstanceScript: provisionInstanceScript
        passwordlessSudoAccess: true
        publicKey: publicKey
        vaultFile: vaultFile
        sshPrivateKeyContent: sshPrivateKeyContent
        privateKey: privateKey
        setUpChrony: true
        vaultPasswordFile: vaultPasswordFile
        ntpServers:
        - ntpServers
        - ntpServers
        skipKeyValidateAndUpload: true
        sshUser: sshUser
        deleteRemote: true
        showSetUpChrony: true
        airGapInstall: true
        keyPairName: keyPairName
        managementState: YBAManaged
      properties:
        airGapInstall:
          type: boolean
        deleteRemote:
          type: boolean
        installNodeExporter:
          type: boolean
        keyPairName:
          type: string
        managementState:
          description: Key Management state
          enum:
          - YBAManaged
          - SelfManaged
          - Unknown
          readOnly: true
          type: string
        nodeExporterPort:
          format: int32
          type: integer
        nodeExporterUser:
          type: string
        ntpServers:
          items:
            type: string
          type: array
        passwordlessSudoAccess:
          type: boolean
        privateKey:
          type: string
        provisionInstanceScript:
          type: string
        publicKey:
          type: string
        setUpChrony:
          type: boolean
        showSetUpChrony:
          type: boolean
        skipKeyValidateAndUpload:
          type: boolean
        skipProvisioning:
          type: boolean
        sshPort:
          format: int32
          type: integer
        sshPrivateKeyContent:
          type: string
        sshUser:
          type: string
        vaultFile:
          type: string
        vaultPasswordFile:
          type: string
      type: object
    YBPSuccess:
      example:
        success: true
        message: message
      properties:
        message:
          description: API response message.
          readOnly: true
          type: string
        success:
          description: API operation status. A value of true indicates the operation was successful.
          readOnly: true
          type: boolean
      type: object
    YBPSuccess_2:
      properties:
        message:
          description: API response message.
          readOnly: true
          type: string
        success:
          description: API operation status. A value of true indicates the operation was successful.
          readOnly: true
          type: boolean
      type: object
    KeyInfo_2:
      properties:
        airGapInstall:
          type: boolean
        deleteRemote:
          type: boolean
        installNodeExporter:
          type: boolean
        nodeExporterPort:
          format: int32
          type: integer
        nodeExporterUser:
          type: string
        ntpServers:
          items:
            type: string
          type: array
        passwordlessSudoAccess:
          type: boolean
        privateKey:
          type: string
        provisionInstanceScript:
          type: string
        publicKey:
          type: string
        setUpChrony:
          type: boolean
        showSetUpChrony:
          type: boolean
        skipProvisioning:
          type: boolean
        sshPort:
          format: int32
          type: integer
        sshUser:
          type: string
        vaultFile:
          type: string
        vaultPasswordFile:
          type: string
      type: object
    AccessKey_2:
      description: Access key for the cloud provider. This helps to authenticate the user and get access to the provider.
      properties:
        idKey:
          $ref: '#/components/schemas/AccessKeyId_2'
        keyInfo:
          $ref: '#/components/schemas/KeyInfo_2'
          description: Cloud provider key information
      required:
      - idKey
      - keyInfo
      type: object
    AccessKeyId_2:
      properties:
        keyCode:
          type: string
        providerUUID:
          format: uuid
          type: string
      type: object
    AccessKeyId_3:
      example:
        keyCode: keyCode
        providerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      properties:
        keyCode:
          type: string
          example: OK
        providerUUID:
          format: uuid
          type: string
          example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      type: object
    AccessKeyFormData_2:
      example:
        expirationThresholdDays: 0
        keyCode: keyCode
        keyContent: keyContent
        keyType: PUBLIC
      properties:
        expirationThresholdDays:
          format: int32
          type: integer
          example: 100
        keyCode:
          type: string
          example: OK
        keyContent:
          type: string
          example: example-key
        keyType:
          enum:
          - PUBLIC
          - PRIVATE
          type: string
          example: PUBLIC
      required:
      - keyCode
      - keyContent
      - keyType
      type: object
    KeyInfo_3:
      example:
        sshPort: 6
        nodeExporterPort: 0
        installNodeExporter: true
        skipProvisioning: true
        nodeExporterUser: nodeExporterUser
        provisionInstanceScript: provisionInstanceScript
        passwordlessSudoAccess: true
        publicKey: publicKey
        vaultFile: vaultFile
        sshPrivateKeyContent: sshPrivateKeyContent
        privateKey: privateKey
        setUpChrony: true
        vaultPasswordFile: vaultPasswordFile
        ntpServers:
        - ntpServers
        - ntpServers
        skipKeyValidateAndUpload: true
        sshUser: sshUser
        deleteRemote: true
        showSetUpChrony: true
        airGapInstall: true
        keyPairName: keyPairName
        managementState: YBAManaged
      properties:
        airGapInstall:
          type: boolean
          example: true
        deleteRemote:
          type: boolean
          example: true
        installNodeExporter:
          type: boolean
          example: true
        keyPairName:
          type: string
          example: example-keyPairName
        managementState:
          description: Key Management state
          enum:
          - YBAManaged
          - SelfManaged
          - Unknown
          readOnly: true
          type: string
          example: YBAManaged
        nodeExporterPort:
          format: int32
          type: integer
          example: 5433
        nodeExporterUser:
          type: string
          example: '5433'
        ntpServers:
          items:
            type: string
          type: array
          example:
          - example-ntpServers
        passwordlessSudoAccess:
          type: boolean
          example: true
        privateKey:
          type: string
          example: example-key
        provisionInstanceScript:
          type: string
          example: example-provisionInstanceScript
        publicKey:
          type: string
          example: example-key
        setUpChrony:
          type: boolean
          example: true
        showSetUpChrony:
          type: boolean
          example: true
        skipKeyValidateAndUpload:
          type: boolean
          example: true
        skipProvisioning:
          type: boolean
          example: true
        sshPort:
          format: int32
          type: integer
          example: 5433
        sshPrivateKeyContent:
          type: string
          example: example-key
        sshUser:
          type: string
          example: example-sshUser
        vaultFile:
          type: string
          example: example-vaultFile
        vaultPasswordFile:
          type: string
          example: REDACTED
      type: object
    YBPSuccess_3:
      example:
        success: true
        message: message
      properties:
        message:
          description: API response message.
          readOnly: true
          type: string
          example: Example message
        success:
          description: API operation status. A value of true indicates the operation was successful.
          readOnly: true
          type: boolean
          example: true
      type: object
    AccessKeyId_4:
      example:
        keyCode: keyCode
        providerUUID: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      properties:
        keyCode:
          type: string
          example: OK
        providerUUID:
          format: uuid
          type: string
          example: 046b6c7f-0b8a-43b9-b35d-6489e6daee91
      type: object
    AccessKeyFormData_3:
      example:
        expirationThresholdDays: 0
        keyCode: keyCode
        keyContent: keyContent
        keyType: PUBLIC
      properties:
        expirationThresholdDays:
          format: int32
          type: integer
          example: 100
        keyCode:
          type: string
          example: OK
        keyContent:
          type: string
          example: example-key
        keyType:
          enum:
          - PUBLIC
          - PRIVATE
          type: string
          example: PUBLIC
      required:
      - keyCode
      - keyContent
      - keyType
      type: object
    KeyInfo_4:
      example:
        sshPort: 6
        nodeExporterPort: 0
        installNodeExporter: true
        skipProvisioning: true
        nodeExporterUser: nodeExporterUser
        provisionInstanceScript: provisionInstanceScript
        passwordlessSudoAccess: true
        publicKey: publicKey
        vaultFile: vaultFile
        sshPrivateKeyContent: sshPrivateKeyContent
        privateKey: privateKey
        setUpChrony: true
        vaultPasswordFile: vaultPasswordFile
        ntpServers:
        - ntpServers
        - ntpServers
        skipKeyValidateAndUpload: true
        sshUser: sshUser
        deleteRemote: true
        showSetUpChrony: true
        airGapInstall: true
        keyPairName: keyPairName
        managementState: YBAManaged
      properties:
        airGapInstall:
          type: boolean
          example: true
        deleteRemote:
          type: boolean
          example: true
        installNodeExporter:
          type: boolean
          example: true
        keyPairName:
          type: string
          example: example-keyPairName
        managementState:
          description: Key Management state
          enum:
          - YBAManaged
          - SelfManaged
          - Unknown
          readOnly: true
          type: string
          example: YBAManaged
        nodeExporterPort:
          format: int32
          type: integer
          example: 5433
        nodeExporterUser:
          type: string
          example: '5433'
        ntpServers:
          items:
            type: string
          type: array
          example:
          - example-ntpServers
        passwordlessSudoAccess:
          type: boolean
          example: true
        privateKey:
          type: string
          example: example-key
        provisionInstanceScript:
          type: string
          example: example-provisionInstanceScript
        publicKey:
          type: string
          example: example-key
        setUpChrony:
          type: boolean
          example: true
        showSetUpChrony:
          type: boolean
          example: true
        skipKeyValidateAndUpload:
          type: boolean
          example: true
        skipProvisioning:
          type: boolean
          example: true
        sshPort:
          format: int32
          type: integer
          example: 5433
        sshPrivateKeyContent:
          type: string
          example: example-key
        sshUser:
          type: string
          example: example-sshUser
        vaultFile:
          type: string
          example: example-vaultFile
        vaultPasswordFile:
          type: string
          example: REDACTED
      type: object
    YBPSuccess_4:
      example:
        success: true
        message: message
      properties:
        message:
          description: API response message.
          readOnly: true
          type: string
          example: Example message
        success:
          description: API operation status. A value of true indicates the operation was successful.
          readOnly: true
          type: boolean
          example: true
      type: object
  securitySchemes:
    apiKeyAuth:
      description: API token passed as header
      in: header
      name: X-AUTH-YW-API-TOKEN
      type: apiKey
externalDocs:
  description: About YugabyteDB Anywhere
  url: https://docs.yugabyte.com/latest/yugabyte-platform/
x-refined-from:
- openapi_2.yaml
- platform.swagger.json
- yugabytedb-anywhere-v1-full.yaml
- yugabytedb-anywhere-v1-providers-infra.yaml