Ambassador RateLimits API

Manage rate limiting configuration for controlling request throughput to backend services using labels and descriptors.

Operations 5

GET /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimits Ambassador List All Ratelimit Resources in a Namespace #
POST /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimits Ambassador Create a New Ratelimit #
GET /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimits/{name} Ambassador Get a Specific Ratelimit #
PUT /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimits/{name} Ambassador Update a Ratelimit #
DELETE /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimits/{name} Ambassador Delete a Ratelimit #

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/ambassador-ratelimits-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

ambassador-ratelimits-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Ambassador Edge Stack Diagnostics Rate Limits API
  description: API for managing Ambassador Edge Stack resources in Kubernetes environments. Ambassador Edge Stack is a Kubernetes-native API gateway built on Envoy Proxy that provides routing, load balancing, authentication, rate limiting, and observability for microservices. This specification covers the management of core custom resource definitions (CRDs) including Mapping, Host, TLSContext, RateLimitService, and related configuration resources exposed through the Edge Stack management API.
  version: 3.x
  contact:
    name: Ambassador Labs
    url: https://www.getambassador.io
    email: support@datawire.io
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://{ambassador-host}:8877
  description: Ambassador Edge Stack Admin API
  variables:
    ambassador-host:
      default: localhost
      description: Hostname or IP of the Ambassador Edge Stack admin interface
- url: https://{ambassador-host}/edge_stack/api
  description: Ambassador Edge Stack Management API
  variables:
    ambassador-host:
      default: localhost
      description: Hostname or IP of the Ambassador Edge Stack service
security:
- bearerAuth: []
tags:
- name: RateLimits
  description: Manage rate limiting configuration for controlling request throughput to backend services using labels and descriptors.
  externalDocs:
    url: https://www.getambassador.io/docs/edge-stack/latest/topics/using/rate-limits
paths:
  /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimits:
    get:
      operationId: listRateLimits
      summary: Ambassador List All Ratelimit Resources in a Namespace
      description: Returns a list of all RateLimit resources in the specified namespace. RateLimits define rate limiting policies using labels and descriptors that control request throughput to backend services.
      tags:
      - RateLimits
      parameters:
      - $ref: '#/components/parameters/Namespace'
      - $ref: '#/components/parameters/LabelSelector'
      responses:
        '200':
          description: RateLimit list retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitList'
              examples:
                Listratelimits200Example:
                  summary: Default listRateLimits 200 response
                  x-microcks-default: true
                  value:
                    apiVersion: example_value
                    kind: example_value
                    metadata:
                      continue: example_value
                      resourceVersion: example_value
                    items:
                    - apiVersion: example_value
                      kind: example_value
        '401':
          description: Authentication required
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createRateLimit
      summary: Ambassador Create a New Ratelimit
      description: Creates a new RateLimit resource in the specified namespace. RateLimits define rate limiting policies using domain, descriptors, and rate values to control traffic flow.
      tags:
      - RateLimits
      parameters:
      - $ref: '#/components/parameters/Namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RateLimit'
            examples:
              CreateratelimitRequestExample:
                summary: Default createRateLimit request
                x-microcks-default: true
                value:
                  apiVersion: example_value
                  kind: example_value
                  metadata:
                    name: Example Title
                    namespace: example_value
                    labels: example_value
                    annotations: example_value
                    creationTimestamp: '2026-01-15T10:30:00Z'
                    generation: 10
                    resourceVersion: example_value
                    uid: '500123'
                  spec:
                    domain: example_value
                    limits:
                    - {}
      responses:
        '201':
          description: RateLimit created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimit'
              examples:
                Createratelimit201Example:
                  summary: Default createRateLimit 201 response
                  x-microcks-default: true
                  value:
                    apiVersion: example_value
                    kind: example_value
                    metadata:
                      name: Example Title
                      namespace: example_value
                      labels: example_value
                      annotations: example_value
                      creationTimestamp: '2026-01-15T10:30:00Z'
                      generation: 10
                      resourceVersion: example_value
                      uid: '500123'
                    spec:
                      domain: example_value
                      limits:
                      - {}
        '400':
          description: Invalid RateLimit specification
        '401':
          description: Authentication required
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimits/{name}:
    get:
      operationId: getRateLimit
      summary: Ambassador Get a Specific Ratelimit
      description: Retrieves the specification of a specific RateLimit resource.
      tags:
      - RateLimits
      parameters:
      - $ref: '#/components/parameters/Namespace'
      - $ref: '#/components/parameters/ResourceName'
      responses:
        '200':
          description: RateLimit retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimit'
              examples:
                Getratelimit200Example:
                  summary: Default getRateLimit 200 response
                  x-microcks-default: true
                  value:
                    apiVersion: example_value
                    kind: example_value
                    metadata:
                      name: Example Title
                      namespace: example_value
                      labels: example_value
                      annotations: example_value
                      creationTimestamp: '2026-01-15T10:30:00Z'
                      generation: 10
                      resourceVersion: example_value
                      uid: '500123'
                    spec:
                      domain: example_value
                      limits:
                      - {}
        '401':
          description: Authentication required
        '404':
          description: RateLimit not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    put:
      operationId: updateRateLimit
      summary: Ambassador Update a Ratelimit
      description: Replaces an existing RateLimit resource with the provided specification.
      tags:
      - RateLimits
      parameters:
      - $ref: '#/components/parameters/Namespace'
      - $ref: '#/components/parameters/ResourceName'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RateLimit'
            examples:
              UpdateratelimitRequestExample:
                summary: Default updateRateLimit request
                x-microcks-default: true
                value:
                  apiVersion: example_value
                  kind: example_value
                  metadata:
                    name: Example Title
                    namespace: example_value
                    labels: example_value
                    annotations: example_value
                    creationTimestamp: '2026-01-15T10:30:00Z'
                    generation: 10
                    resourceVersion: example_value
                    uid: '500123'
                  spec:
                    domain: example_value
                    limits:
                    - {}
      responses:
        '200':
          description: RateLimit updated successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimit'
              examples:
                Updateratelimit200Example:
                  summary: Default updateRateLimit 200 response
                  x-microcks-default: true
                  value:
                    apiVersion: example_value
                    kind: example_value
                    metadata:
                      name: Example Title
                      namespace: example_value
                      labels: example_value
                      annotations: example_value
                      creationTimestamp: '2026-01-15T10:30:00Z'
                      generation: 10
                      resourceVersion: example_value
                      uid: '500123'
                    spec:
                      domain: example_value
                      limits:
                      - {}
        '400':
          description: Invalid RateLimit specification
        '401':
          description: Authentication required
        '404':
          description: RateLimit not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteRateLimit
      summary: Ambassador Delete a Ratelimit
      description: Deletes a specific RateLimit resource.
      tags:
      - RateLimits
      parameters:
      - $ref: '#/components/parameters/Namespace'
      - $ref: '#/components/parameters/ResourceName'
      responses:
        '200':
          description: RateLimit deleted successfully
        '401':
          description: Authentication required
        '404':
          description: RateLimit not found
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    RateLimitSpec:
      type: object
      description: Specification for a RateLimit resource
      required:
      - domain
      - limits
      properties:
        domain:
          type: string
          description: Rate limiting domain that groups related rate limit configurations. Typically set to 'ambassador'.
          example: ambassador
        limits:
          type: array
          description: List of rate limit rules
          items:
            $ref: '#/components/schemas/RateLimitRule'
          example: []
    RateLimitRule:
      type: object
      description: A single rate limiting rule with a pattern and rate
      required:
      - pattern
      - rate
      properties:
        pattern:
          type: array
          description: Descriptor entries to match against. Each entry is a key-value pair that must match the labels sent with the request.
          items:
            type: object
            additionalProperties:
              type: string
          example:
          - generic_key: my-rate-limit
        rate:
          type: integer
          description: Maximum number of requests allowed in the specified unit of time
          minimum: 1
          example: 10
        unit:
          type: string
          description: Time unit for the rate limit
          enum:
          - second
          - minute
          - hour
          - day
          default: minute
          example: second
        injectRequestHeaders:
          type: array
          description: Headers to inject into the request when the rate limit is applied
          items:
            type: object
            properties:
              name:
                type: string
              value:
                type: string
          example: []
    ObjectMeta:
      type: object
      description: Standard Kubernetes object metadata
      properties:
        name:
          type: string
          description: Name of the resource, unique within a namespace
          example: Example Title
        namespace:
          type: string
          description: Kubernetes namespace the resource belongs to
          example: example_value
        labels:
          type: object
          description: Key-value pairs for organizing and selecting resources
          additionalProperties:
            type: string
          example: example_value
        annotations:
          type: object
          description: Key-value pairs for storing arbitrary non-identifying metadata
          additionalProperties:
            type: string
          example: example_value
        creationTimestamp:
          type: string
          format: date-time
          description: Timestamp when the resource was created
          example: '2026-01-15T10:30:00Z'
        generation:
          type: integer
          description: Sequence number representing a specific generation of the resource
          example: 10
        resourceVersion:
          type: string
          description: Opaque value for optimistic concurrency control
          example: example_value
        uid:
          type: string
          description: Unique identifier for the resource
          example: '500123'
      required:
      - name
      - namespace
    RateLimit:
      type: object
      description: An Ambassador RateLimit resource that defines rate limiting policies using descriptors and rate values. Works with the built-in Ambassador Edge Stack rate limiting service.
      required:
      - apiVersion
      - kind
      - metadata
      - spec
      properties:
        apiVersion:
          type: string
          const: getambassador.io/v3alpha1
          example: example_value
        kind:
          type: string
          const: RateLimit
          example: example_value
        metadata:
          $ref: '#/components/schemas/ObjectMeta'
        spec:
          $ref: '#/components/schemas/RateLimitSpec'
    RateLimitList:
      type: object
      description: List of RateLimit resources
      properties:
        apiVersion:
          type: string
          const: getambassador.io/v3alpha1
          example: example_value
        kind:
          type: string
          const: RateLimitList
          example: example_value
        metadata:
          type: object
          properties:
            continue:
              type: string
            resourceVersion:
              type: string
          example: example_value
        items:
          type: array
          items:
            $ref: '#/components/schemas/RateLimit'
          example: []
  parameters:
    LabelSelector:
      name: labelSelector
      in: query
      required: false
      description: Kubernetes label selector to filter resources
      schema:
        type: string
      example: app=my-service
    Namespace:
      name: namespace
      in: path
      required: true
      description: Kubernetes namespace
      schema:
        type: string
      example: default
    ResourceName:
      name: name
      in: path
      required: true
      description: Name of the resource
      schema:
        type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Bearer token authentication. Tokens are managed through the Ambassador Edge Stack management interface or Kubernetes service account tokens.
externalDocs:
  description: Ambassador Edge Stack Documentation
  url: https://www.getambassador.io/docs/edge-stack/latest/