Emissary-Ingress RateLimitService API

Operations for managing RateLimitService custom resources that configure integration with external rate limiting services compatible with the Envoy rate limit API.

Operations 2

GET /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimitservices Emissary-Ingress List RateLimitService resources in a namespace #
POST /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimitservices Emissary-Ingress Create a RateLimitService resource #

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/emissary-ingress-ratelimitservice-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

emissary-ingress-ratelimitservice-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Emissary-Ingress Configuration AuthService Rate Limit Service API
  description: Emissary-Ingress is a CNCF incubating Kubernetes-native API gateway and ingress controller built on the Envoy proxy. It is configured through Kubernetes Custom Resource Definitions (CRDs) including Mapping for request routing, Host for domain and TLS management, TLSContext for TLS termination settings, RateLimitService for delegating rate limiting to external services, and AuthService for external authentication. All resources are managed through the Kubernetes API server using standard CRUD operations.
  version: 3.9.0
  contact:
    name: Emissary-Ingress Community
    url: https://www.getambassador.io/community
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://{kubernetes-api-server}
  description: Kubernetes API server
  variables:
    kubernetes-api-server:
      default: localhost:6443
      description: Address of the Kubernetes API server
tags:
- name: RateLimitService
  description: Operations for managing RateLimitService custom resources that configure integration with external rate limiting services compatible with the Envoy rate limit API.
paths:
  /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimitservices:
    get:
      operationId: listNamespacedRateLimitService
      summary: Emissary-Ingress List RateLimitService resources in a namespace
      description: Returns all RateLimitService custom resources in the specified namespace. These resources configure integration with external rate limiting services that implement the Envoy rate limit gRPC API.
      tags:
      - RateLimitService
      parameters:
      - $ref: '#/components/parameters/namespace'
      - $ref: '#/components/parameters/labelSelector'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/continueToken'
      responses:
        '200':
          description: Successfully retrieved list of RateLimitService resources
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitServiceList'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
    post:
      operationId: createNamespacedRateLimitService
      summary: Emissary-Ingress Create a RateLimitService resource
      description: Creates a new RateLimitService custom resource pointing to an external rate limiting service. Emissary-Ingress will consult this service for rate limit decisions on all requests that include rate limit labels in their Mapping configuration.
      tags:
      - RateLimitService
      parameters:
      - $ref: '#/components/parameters/namespace'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RateLimitService'
      responses:
        '201':
          description: RateLimitService resource created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitService'
        '400':
          description: Invalid RateLimitService specification
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
components:
  parameters:
    labelSelector:
      name: labelSelector
      in: query
      required: false
      description: A selector to restrict the list of returned resources by their labels. Defaults to everything.
      schema:
        type: string
    limit:
      name: limit
      in: query
      required: false
      description: Maximum number of responses to return per page. If there are additional results, a continue token is returned.
      schema:
        type: integer
        minimum: 1
    continueToken:
      name: continue
      in: query
      required: false
      description: A continuation token for paginating through large result sets, returned from a previous list call.
      schema:
        type: string
    namespace:
      name: namespace
      in: path
      required: true
      description: The Kubernetes namespace of the resource.
      schema:
        type: string
  schemas:
    ObjectMeta:
      type: object
      description: Standard Kubernetes object metadata.
      required:
      - name
      properties:
        name:
          type: string
          description: Name of the resource, unique within the namespace.
          maxLength: 253
        namespace:
          type: string
          description: Namespace the resource belongs to.
        labels:
          type: object
          additionalProperties:
            type: string
          description: Map of string keys and values for organizing resources.
        annotations:
          type: object
          additionalProperties:
            type: string
          description: Map of non-identifying metadata for the resource.
        resourceVersion:
          type: string
          description: Opaque value used for optimistic concurrency control. Must be provided on update and delete operations.
        generation:
          type: integer
          format: int64
          description: Monotonically increasing sequence number for desired state changes.
        uid:
          type: string
          description: Unique identifier assigned by the Kubernetes system.
        creationTimestamp:
          type: string
          format: date-time
          description: Timestamp when the resource was created.
    RateLimitService:
      type: object
      description: Emissary-Ingress RateLimitService custom resource configuring integration with an external rate limiting service. The service must implement the Envoy rate limit gRPC API. Only one RateLimitService can be active at a time.
      required:
      - apiVersion
      - kind
      - metadata
      - spec
      properties:
        apiVersion:
          type: string
          description: API version of the resource.
          enum:
          - getambassador.io/v3alpha1
        kind:
          type: string
          description: Resource kind.
          enum:
          - RateLimitService
        metadata:
          $ref: '#/components/schemas/ObjectMeta'
        spec:
          $ref: '#/components/schemas/RateLimitServiceSpec'
    RateLimitServiceSpec:
      type: object
      description: Specification for the RateLimitService.
      required:
      - service
      properties:
        service:
          type: string
          description: Name (and optional port) of the Kubernetes service implementing the Envoy rate limit gRPC API.
          example: rate-limit-service:8081
        protocol_version:
          type: string
          description: Version of the Envoy rate limit gRPC protocol to use.
          enum:
          - v2
          - v3
          default: v2
        timeout_ms:
          type: integer
          description: Timeout in milliseconds for rate limit service calls. Requests will proceed if the rate limit service times out.
          minimum: 0
          default: 20
        grpc_service:
          type: object
          description: Advanced gRPC service configuration.
          properties:
            target_uri:
              type: string
              description: Target URI for the gRPC rate limit service.
    RateLimitServiceList:
      type: object
      description: List of RateLimitService resources.
      required:
      - apiVersion
      - kind
      - items
      properties:
        apiVersion:
          type: string
        kind:
          type: string
          enum:
          - RateLimitServiceList
        metadata:
          type: object
        items:
          type: array
          description: List of RateLimitService resources.
          items:
            $ref: '#/components/schemas/RateLimitService'
externalDocs:
  description: Emissary-Ingress Documentation
  url: https://www.getambassador.io/docs/emissary/