servers:
- description: 8001 is the default port on which the Admin API listens.
  url: http://localhost:8001
- description: 8444 is the default port for HTTPS traffic to the Admin API.
  url: https://localhost:8444
openapi: 3.1.0
components:
  schemas:
    snis:
      required:
      - name
      - certificate
      type: object
      properties:
        id:
          format: uuid
          type: string
        name:
          type: string
        tags:
          type: array
        certificate:
          $ref: '#/components/schemas/certificates'
        created_at:
          format: int32
          type: integer
    vaults_beta:
      required:
      - prefix
      - name
      type: object
      properties:
        id:
          format: uuid
          type: string
        created_at:
          format: int32
          type: integer
        description:
          type: string
        updated_at:
          format: int32
          type: integer
        tags:
          type: array
        config:
          type: array
        name:
          type: string
        prefix:
          type: string
    tags:
      required:
      - tag
      - entity_name
      - entity_id
      type: object
      properties:
        entity_name:
          type: string
        entity_id:
          type: string
        tag:
          type: string
    parameters:
      required:
      - key
      - value
      type: object
      properties:
        value:
          type: string
        key:
          type: string
        created_at:
          format: int32
          type: integer
    upstreams:
      required:
      - name
      type: object
      properties:
        id:
          format: uuid
          type: string
        healthchecks:
          default:
            active:
              timeout: 1
              healthy:
                http_statuses:
                - 200
                - 302
                interval: 0
                successes: 0
              unhealthy:
                interval: 0
                http_statuses:
                - 429
                - 404
                - 500
                - 501
                - 502
                - 503
                - 504
                - 505
                tcp_failures: 0
                timeouts: 0
                http_failures: 0
              concurrency: 10
              https_verify_certificate: true
              type: http
              http_path: /
            passive:
              unhealthy:
                timeouts: 0
                tcp_failures: 0
                http_statuses:
                - 429
                - 500
                - 503
                http_failures: 0
              type: http
              healthy:
                http_statuses:
                - 200
                - 201
                - 202
                - 203
                - 204
                - 205
                - 206
                - 207
                - 208
                - 226
                - 300
                - 301
                - 302
                - 303
                - 304
                - 305
                - 306
                - 307
                - 308
                successes: 0
          type: array
        name:
          type: string
        hash_fallback:
          default: none
          type: string
        hash_on:
          default: none
          type: string
        hash_on_header:
          type: string
        host_header:
          type: string
        hash_fallback_header:
          type: string
        tags:
          type: array
        created_at:
          format: int32
          type: integer
        algorithm:
          default: round-robin
          type: string
        hash_on_cookie_path:
          default: /
          type: string
        hash_on_cookie:
          type: string
        slots:
          default: 10000
          type: integer
        client_certificate:
          $ref: '#/components/schemas/certificates'
    ca_certificates:
      required:
      - cert
      type: object
      properties:
        id:
          format: uuid
          type: string
        cert_digest:
          type: string
        tags:
          type: array
        cert:
          type: string
        created_at:
          format: int32
          type: integer
    certificates:
      required:
      - cert
      - key
      type: object
      properties:
        id:
          format: uuid
          type: string
        created_at:
          format: int32
          type: integer
        cert:
          type: string
        tags:
          type: array
        key:
          type: string
        cert_alt:
          type: string
        key_alt:
          type: string
    clustering_data_planes:
      required:
      - id
      - ip
      - hostname
      - sync_status
      type: object
      properties:
        id:
          type: string
        ip:
          type: string
        version:
          type: string
        last_seen:
          format: int32
          type: integer
        config_hash:
          type: string
        sync_status:
          default: unknown
          type: string
        hostname:
          type: string
    services:
      required:
      - protocol
      - host
      - port
      - enabled
      type: object
      properties:
        name:
          type: string
        tags:
          type: array
        retries:
          default: 5
          type: integer
        connect_timeout:
          default: 60000
          type: integer
        write_timeout:
          default: 60000
          type: integer
        read_timeout:
          default: 60000
          type: integer
        client_certificate:
          $ref: '#/components/schemas/certificates'
        id:
          format: uuid
          type: string
        tls_verify:
          type: boolean
        port:
          default: 80
          type: integer
        tls_verify_depth:
          type: integer
          nullable: true
          default: ~
        enabled:
          default: true
          type: boolean
        path:
          type: string
        created_at:
          format: int32
          type: integer
        updated_at:
          format: int32
          type: integer
        protocol:
          default: http
          type: string
        host:
          type: string
        ca_certificates:
          type: array
    routes:
      required:
      - protocols
      - https_redirect_status_code
      - strip_path
      - preserve_host
      - request_buffering
      - response_buffering
      type: object
      properties:
        protocols:
          default:
          - http
          - https
          type: array
        preserve_host:
          default: false
          type: boolean
        name:
          type: string
        request_buffering:
          default: true
          type: boolean
        tags:
          type: array
        response_buffering:
          default: true
          type: boolean
        regex_priority:
          default: 0
          type: integer
        service:
          $ref: '#/components/schemas/services'
        https_redirect_status_code:
          default: 426
          type: integer
        id:
          format: uuid
          type: string
        headers:
          type: array
        destinations:
          type: array
        sources:
          type: array
        snis:
          type: array
        paths:
          type: array
        created_at:
          format: int32
          type: integer
        updated_at:
          format: int32
          type: integer
        hosts:
          type: array
        strip_path:
          default: true
          type: boolean
        methods:
          type: array
        path_handling:
          default: v0
          type: string
    consumers:
      required: []
      type: object
      properties:
        id:
          format: uuid
          type: string
        created_at:
          format: int32
          type: integer
        tags:
          type: array
        username:
          type: string
        custom_id:
          type: string
    plugins:
      required:
      - name
      - protocols
      - enabled
      type: object
      properties:
        id:
          format: uuid
          type: string
        name:
          type: string
        tags:
          type: array
        enabled:
          default: true
          type: boolean
        service:
          $ref: '#/components/schemas/services'
          default: ~
          nullable: true
        route:
          $ref: '#/components/schemas/routes'
          default: ~
          nullable: true
        created_at:
          format: int32
          type: integer
        consumer:
          $ref: '#/components/schemas/consumers'
          default: ~
          nullable: true
        config:
          type: array
        protocols:
          type: array
          default:
          - grpc
          - grpcs
          - http
          - https
          enum:
          - http
          - https
          - tcp
          - tls
          - udp
          - grpc
          - grpcs
    targets:
      required:
      - upstream
      - target
      type: object
      properties:
        id:
          format: uuid
          type: string
        created_at:
          format: float
          type: number
        upstream:
          $ref: '#/components/schemas/upstreams'
        target:
          type: string
        tags:
          type: array
        weight:
          default: 100
          type: integer
    workspaces:
      required:
      - name
      type: object
      properties:
        id:
          format: uuid
          type: string
        created_at:
          format: int32
          type: integer
        comment:
          type: string
        config:
          type: array
        meta:
          type: array
        name:
          type: string
info:
  summary: Kong RESTful Admin API for administration purposes.
  description: "       {{site.base_gateway}} comes with an **internal** RESTful Admin
    API for administration purposes.\n        Requests to the Admin API can be sent
    to any node in the cluster, and Kong will\n        keep the configuration consistent
    across all nodes.\n\n        - `8001` is the default port on which the Admin API
    listens.\n        - `8444` is the default port for HTTPS traffic to the Admin
    API.\n\n        This API is designed for internal use and provides full control
    over Kong, so\n        care should be taken when setting up Kong environments
    to avoid undue public\n        exposure of this API. See [this document][secure-admin-api]
    for a discussion\n        of methods to secure the Admin API.\n      "
  version: 2.8.0
  contact:
    name: Kong
    url: https://github.com/Kong/kong
  title: Kong Admin API
  license:
    name: Apache 2.0
    url: https://github.com/Kong/kong/blob/master/LICENSE
paths:
  /status:
    get:
      summary: Retrieve node status
  /schemas/plugins/{name}:
    get:
      summary: Retrieve Plugin Schema
  /plugins/schema/{name}:
    get: []
  /upstreams/{upstreams}/health:
    get:
      summary: Show Upstream health for node
  /upstreams/{upstreams}/targets:
    post:
      description: This method is not available when using DB-less mode.
    get: []
  /cache:
    delete:
      description: This method is not available when using DB-less mode.
  /config:
    post:
      description: This method is only available when using DB-less mode.
    get:
      description: This method is only available when using DB-less mode.
  /clustering/data-planes: []
  /services/{services}/plugins/{plugins}:
    patch:
      description: This method is not available when using DB-less mode.
  /upstreams/{upstreams}/targets/all:
    get:
      summary: List all Targets
  /upstreams/{upstreams}/targets/{targets}:
    patch:
      description: This method is not available when using DB-less mode.
      summary: Update Target
    put:
      description: This method is not available when using DB-less mode.
    delete:
      description: This method is not available when using DB-less mode.
      summary: Delete Target
    get: []
  /upstreams/{upstreams}/targets/{targets}/unhealthy:
    post:
      description: This method is not available when using DB-less mode.
      summary: Set target as unhealthy
  /cache/{key}:
    delete:
      description: This method is not available when using DB-less mode.
    get: []
  /consumers/{consumers}/plugins/{plugins}:
    patch:
      description: This method is not available when using DB-less mode.
  /plugins:
    post:
      description: This method is not available when using DB-less mode.
  /consumers/{consumers}/plugins:
    post:
      description: This method is not available when using DB-less mode.
  /upstreams/{upstreams}/targets/{targets}/{address}/healthy:
    post:
      description: This method is not available when using DB-less mode.
      summary: Set target address as healthy
  /plugins/{plugins}:
    patch:
      description: This method is not available when using DB-less mode.
  /targets/{targets}: []
  /endpoints:
    get:
      summary: List available endpoints
  /targets/{targets}/upstream: []
  /routes/{routes}/plugins:
    post:
      description: This method is not available when using DB-less mode.
  /consumers:
    get: []
  /tags/{tags}:
    get:
      summary: ' List entity IDs by tag '
  /:
    get:
      summary: Retrieve node information
  /certificates/{certificates}:
    patch:
      description: This method is not available when using DB-less mode.
    put:
      description: This method is not available when using DB-less mode.
    get: []
  /certificates/{certificates}/snis: []
  /certificates/{certificates}/snis/{snis}: []
  /upstreams/{upstreams}/targets/{targets}/healthy:
    post:
      description: This method is not available when using DB-less mode.
      summary: Set target as healthy
  /upstreams/{upstreams}/targets/{targets}/{address}/unhealthy:
    post:
      description: This method is not available when using DB-less mode.
      summary: Set target address as unhealthy
  /routes/{routes}/plugins/{plugins}:
    patch:
      description: This method is not available when using DB-less mode.
  /schemas/{name}:
    get:
      summary: Retrieve Entity Schema
  /schemas/{db_entity_name}/validate:
    post:
      description: This method is not available when using DB-less mode.
      summary: Validate a configuration against a schema
  /plugins/enabled:
    get:
      summary: Retrieve Enabled Plugins
  /snis/{snis}/certificate: []
  /clustering/status: []
  /targets: []
  /services/{services}/plugins:
    post:
      description: This method is not available when using DB-less mode.
  /schemas/plugins/validate:
    post:
      description: This method is not available when using DB-less mode.
      summary: Validate a plugin configuration against the schema
