YugabyteDB · Capability

YugabyteDB Anywhere v1 — High Availability — Internal HA

YugabyteDB Anywhere v1 — High Availability — Internal HA. 5 operations. Lead operation: YugabyteDB Anywhere Demote Local Leader. Self-contained Naftiko capability covering one Yugabytedb business surface.

Run with Naftiko YugabytedbInternal HA

What You Can Do

GET
Validatebackup — validatebackup
/v1/api/v1/settings/ha/internal/backups/{backupname}/validate
GET
Gethaconfigbyclusterkey — gethaconfigbyclusterkey
/v1/api/v1/settings/ha/internal/config
PUT
Demotelocalleader — YugabyteDB Anywhere Demote Local Leader
/v1/api/v1/settings/ha/internal/config/demote/{timestamp}
PUT
Syncinstances — syncinstances
/v1/api/v1/settings/ha/internal/config/sync/{timestamp}
POST
Syncbackups — syncbackups
/v1/api/v1/settings/ha/internal/upload

MCP Tools

validatebackup

validatebackup

read-only idempotent
gethaconfigbyclusterkey

gethaconfigbyclusterkey

read-only idempotent
yugabytedb-anywhere-demote-local-leader

YugabyteDB Anywhere Demote Local Leader

idempotent
syncinstances

syncinstances

idempotent
syncbackups

syncbackups

Capability Spec

anywhere-v1-high-availability-internal-ha.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: YugabyteDB Anywhere v1 — High Availability — Internal HA
  description: 'YugabyteDB Anywhere v1 — High Availability — Internal HA. 5 operations. Lead operation: YugabyteDB Anywhere
    Demote Local Leader. Self-contained Naftiko capability covering one Yugabytedb business surface.'
  tags:
  - Yugabytedb
  - Internal HA
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    YUGABYTEDB_API_KEY: YUGABYTEDB_API_KEY
capability:
  consumes:
  - type: http
    namespace: anywhere-v1-high-availability-internal-ha
    baseUri: ''
    description: YugabyteDB Anywhere v1 — High Availability — Internal HA business capability. Self-contained, no shared references.
    resources:
    - name: api-v1-settings-ha-internal-backups-backupName-validate
      path: /api/v1/settings/ha/internal/backups/{backupName}/validate
      operations:
      - name: validatebackup
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: backupName
          in: path
          type: string
          required: true
        - name: request
          in: query
          type: string
    - name: api-v1-settings-ha-internal-config
      path: /api/v1/settings/ha/internal/config
      operations:
      - name: gethaconfigbyclusterkey
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: request
          in: query
          type: string
    - name: api-v1-settings-ha-internal-config-demote-timestamp
      path: /api/v1/settings/ha/internal/config/demote/{timestamp}
      operations:
      - name: demotelocalleader
        method: PUT
        description: YugabyteDB Anywhere Demote Local Leader
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: timestamp
          in: path
          type: integer
          required: true
        - name: promote
          in: query
          type: boolean
        - name: request
          in: query
          type: string
    - name: api-v1-settings-ha-internal-config-sync-timestamp
      path: /api/v1/settings/ha/internal/config/sync/{timestamp}
      operations:
      - name: syncinstances
        method: PUT
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: timestamp
          in: path
          type: integer
          required: true
        - name: request
          in: query
          type: string
    - name: api-v1-settings-ha-internal-upload
      path: /api/v1/settings/ha/internal/upload
      operations:
      - name: syncbackups
        method: POST
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: request
          in: query
          type: string
    authentication:
      type: apikey
      key: X-AUTH-YW-API-TOKEN
      value: '{{env.YUGABYTEDB_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: anywhere-v1-high-availability-internal-ha-rest
    port: 8080
    description: REST adapter for YugabyteDB Anywhere v1 — High Availability — Internal HA. One Spectral-compliant resource
      per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/api/v1/settings/ha/internal/backups/{backupname}/validate
      name: api-v1-settings-ha-internal-backups-backupname-validate
      description: REST surface for api-v1-settings-ha-internal-backups-backupName-validate.
      operations:
      - method: GET
        name: validatebackup
        description: validatebackup
        call: anywhere-v1-high-availability-internal-ha.validatebackup
        with:
          backupName: rest.backupName
          request: rest.request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/settings/ha/internal/config
      name: api-v1-settings-ha-internal-config
      description: REST surface for api-v1-settings-ha-internal-config.
      operations:
      - method: GET
        name: gethaconfigbyclusterkey
        description: gethaconfigbyclusterkey
        call: anywhere-v1-high-availability-internal-ha.gethaconfigbyclusterkey
        with:
          request: rest.request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/settings/ha/internal/config/demote/{timestamp}
      name: api-v1-settings-ha-internal-config-demote-timestamp
      description: REST surface for api-v1-settings-ha-internal-config-demote-timestamp.
      operations:
      - method: PUT
        name: demotelocalleader
        description: YugabyteDB Anywhere Demote Local Leader
        call: anywhere-v1-high-availability-internal-ha.demotelocalleader
        with:
          timestamp: rest.timestamp
          promote: rest.promote
          request: rest.request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/settings/ha/internal/config/sync/{timestamp}
      name: api-v1-settings-ha-internal-config-sync-timestamp
      description: REST surface for api-v1-settings-ha-internal-config-sync-timestamp.
      operations:
      - method: PUT
        name: syncinstances
        description: syncinstances
        call: anywhere-v1-high-availability-internal-ha.syncinstances
        with:
          timestamp: rest.timestamp
          request: rest.request
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v1/settings/ha/internal/upload
      name: api-v1-settings-ha-internal-upload
      description: REST surface for api-v1-settings-ha-internal-upload.
      operations:
      - method: POST
        name: syncbackups
        description: syncbackups
        call: anywhere-v1-high-availability-internal-ha.syncbackups
        with:
          request: rest.request
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: anywhere-v1-high-availability-internal-ha-mcp
    port: 9090
    transport: http
    description: MCP adapter for YugabyteDB Anywhere v1 — High Availability — Internal HA. One tool per consumed operation,
      routed inline through this capability's consumes block.
    tools:
    - name: validatebackup
      description: validatebackup
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: anywhere-v1-high-availability-internal-ha.validatebackup
      with:
        backupName: tools.backupName
        request: tools.request
      outputParameters:
      - type: object
        mapping: $.
    - name: gethaconfigbyclusterkey
      description: gethaconfigbyclusterkey
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: anywhere-v1-high-availability-internal-ha.gethaconfigbyclusterkey
      with:
        request: tools.request
      outputParameters:
      - type: object
        mapping: $.
    - name: yugabytedb-anywhere-demote-local-leader
      description: YugabyteDB Anywhere Demote Local Leader
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: anywhere-v1-high-availability-internal-ha.demotelocalleader
      with:
        timestamp: tools.timestamp
        promote: tools.promote
        request: tools.request
      outputParameters:
      - type: object
        mapping: $.
    - name: syncinstances
      description: syncinstances
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: anywhere-v1-high-availability-internal-ha.syncinstances
      with:
        timestamp: tools.timestamp
        request: tools.request
      outputParameters:
      - type: object
        mapping: $.
    - name: syncbackups
      description: syncbackups
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: anywhere-v1-high-availability-internal-ha.syncbackups
      with:
        request: tools.request
      outputParameters:
      - type: object
        mapping: $.