Restate Subscription API

Subscription management

Operations 4

GET /subscriptions List Subscriptions #
POST /subscriptions Create Subscription #
GET /subscriptions/{subscription} Get Subscription #
DELETE /subscriptions/{subscription} Delete Subscription #

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/restate-subscription-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

restate-subscription-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Admin Subscription API
  description: This API exposes the admin operations of a Restate cluster, such as registering new service deployments, interacting with running invocations, register Kafka subscriptions, retrieve service metadata. For an overview, check out the Operate documentation. If you're looking for how to call your services, check out the Ingress HTTP API instead.
  version: 1.4.0
tags:
- name: Subscription
  description: Subscription management
  externalDocs:
    url: https://docs.restate.dev/operate/invocation#managing-kafka-subscriptions
paths:
  /subscriptions:
    get:
      tags:
      - Subscription
      summary: List Subscriptions
      description: List all subscriptions.
      operationId: list_subscriptions
      parameters:
      - name: sink
        in: query
        description: Filter by the exact specified sink.
        style: simple
        schema:
          type: string
      - name: source
        in: query
        description: Filter by the exact specified source.
        style: simple
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSubscriptionsResponse'
    post:
      tags:
      - Subscription
      summary: Create Subscription
      description: Create subscription.
      externalDocs:
        url: https://docs.restate.dev/operate/invocation#managing-kafka-subscriptions
      operationId: create_subscription
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateSubscriptionRequest'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
  /subscriptions/{subscription}:
    get:
      tags:
      - Subscription
      summary: Get Subscription
      description: Get subscription
      operationId: get_subscription
      parameters:
      - name: subscription
        in: path
        description: Subscription identifier
        required: true
        schema:
          type: string
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionResponse'
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
    delete:
      tags:
      - Subscription
      summary: Delete Subscription
      description: Delete subscription.
      operationId: delete_subscription
      parameters:
      - name: subscription
        in: path
        description: Subscription identifier
        required: true
        schema:
          type: string
      responses:
        '202':
          description: Accepted
        '400':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '403':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '404':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '409':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '500':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
        '503':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorDescriptionResponse'
components:
  schemas:
    CreateSubscriptionRequest:
      type: object
      required:
      - sink
      - source
      properties:
        source:
          title: Source
          description: 'Source uri. Accepted forms:


            * `kafka://<cluster_name>/<topic_name>`, e.g. `kafka://my-cluster/my-topic`'
          type: string
        sink:
          title: Sink
          description: 'Sink uri. Accepted forms:


            * `service://<service_name>/<service_name>`, e.g. `service://Counter/count`'
          type: string
        options:
          title: Options
          description: Additional options to apply to the subscription.
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
    SubscriptionResponse:
      type: object
      required:
      - id
      - options
      - sink
      - source
      properties:
        id:
          $ref: '#/components/schemas/String'
        source:
          type: string
        sink:
          type: string
        options:
          type: object
          additionalProperties:
            type: string
    ErrorDescriptionResponse:
      title: Error description response
      description: Error details of the response
      type: object
      required:
      - message
      properties:
        message:
          type: string
        restate_code:
          title: Restate code
          description: Restate error code describing this error
          type:
          - string
          - 'null'
    String:
      type: string
    ListSubscriptionsResponse:
      type: object
      required:
      - subscriptions
      properties:
        subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionResponse'
externalDocs:
  url: https://docs.restate.dev/operate/