RudderStack Internal API

The Internal API API from RudderStack — 5 operation(s) for internal api.

Operations 5

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /internal/v1/extract Submit an internal extract request · Extract #
Ask an LLM
“Where do extract requests go on the RudderStack internal API?”
“Which internal endpoint handles data extract jobs?”
Tell an agent
Submit this extract request to the internal extract endpoint.
Forward the extract payload to the internal extract handler.
POST /internal/v1/retl Submit a reverse ETL request · Retl #
Ask an LLM
“How do reverse ETL requests get sent into the internal API?”
“Which internal endpoint accepts reverse ETL syncs from a warehouse?”
Tell an agent
Send this reverse ETL request to the internal retl endpoint.
Push the reverse ETL payload through the internal handler.
POST /internal/v1/audiencelist Submit an audience list request · Audience List #
Ask an LLM
“Where do I send an audience list request internally?”
“Is there an internal endpoint dedicated to audience lists?”
Tell an agent
Submit this audience list request to the internal audience list endpoint.
Forward the audience list payload to the internal handler.
POST /internal/v1/replay Submit an event replay request · Replay #
Ask an LLM
“Which internal endpoint handles replaying events?”
“Can I send replay requests through the internal API?”
Tell an agent
Send this replay request to the internal replay endpoint.
Submit the replay payload to the internal replay handler.
POST /internal/v1/batch Submit an internal batch request · Batch #
Ask an LLM
“Where do internal batch requests go, separate from the public batch call?”
“Is there an internal-only batch endpoint?”
Tell an agent
Submit this batch to the internal batch endpoint, not the public v1 batch.
Forward the internal batch payload to the internal batch handler.

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/rudderstack:rudderstack-internal-api-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

rudderstack-internal-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: RudderStack HTTP Internal API
  version: 1.0.0-oas3
  description: The RudderStack HTTP API lets you track your customer event data and route it to your desired destinations.
  termsOfService: https://www.rudderstack.com/master-service-agreement/
  contact:
    email: support@rudderstack.com
  license:
    name: Elastic License 2.0
    url: https://www.elastic.co/licensing/elastic-license
servers:
- url: /v1
tags:
- name: Internal API
paths:
  /internal/v1/extract:
    post:
      tags:
      - Internal API
      summary: Extract
      description: Handles extract requests.
      operationId: Extract
      responses:
        '200':
          description: StatusOK
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: OK
        '400':
          description: StatusBadRequest
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Invalid request
        '401':
          description: StatusUnauthorized
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Invalid Authorization Header
        '404':
          description: StatusNotFound
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Source does not accept webhook events
        '413':
          description: StatusRequestEntityTooLarge
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Request size too large
        '429':
          description: StatusTooManyRequests
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Too many requests
      security:
      - writeKeyAuth: []
  /internal/v1/retl:
    post:
      tags:
      - Internal API
      summary: Retl
      description: Handles retl (reverse ETL) requests.
      operationId: Retl
      responses:
        '200':
          description: StatusOK
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: OK
        '400':
          description: StatusBadRequest
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Invalid request
        '401':
          description: StatusUnauthorized
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Invalid Authorization Header
        '404':
          description: StatusNotFound
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Source does not accept webhook events
        '413':
          description: StatusRequestEntityTooLarge
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Request size too large
        '429':
          description: StatusTooManyRequests
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Too many requests
      security:
      - sourceIDAuth: []
  /internal/v1/audiencelist:
    post:
      tags:
      - Internal API
      summary: Audience List
      description: Handles audience list requests.
      operationId: AudienceList
      responses:
        '200':
          description: StatusOK
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: OK
        '400':
          description: StatusBadRequest
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Invalid request
        '401':
          description: StatusUnauthorized
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Invalid Authorization Header
        '404':
          description: StatusNotFound
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Source does not accept webhook events
        '413':
          description: StatusRequestEntityTooLarge
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Request size too large
        '429':
          description: StatusTooManyRequests
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Too many requests
      security:
      - writeKeyAuth: []
  /internal/v1/replay:
    post:
      tags:
      - Internal API
      summary: Replay
      description: Handles replay requests.
      operationId: Replay
      responses:
        '200':
          description: StatusOK
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: OK
        '400':
          description: StatusBadRequest
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Invalid request
        '401':
          description: StatusUnauthorized
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Invalid Authorization Header
        '404':
          description: StatusNotFound
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Source does not accept webhook events
        '413':
          description: StatusRequestEntityTooLarge
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Request size too large
        '429':
          description: StatusTooManyRequests
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Too many requests
      security:
      - sourceIDAuth: []
  /internal/v1/batch:
    post:
      tags:
      - Internal API
      summary: Batch
      description: Handles internal batch requests.
      operationId: InternalBatch
      responses:
        '200':
          description: StatusOK
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: OK
        '400':
          description: StatusBadRequest
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Invalid request
        '401':
          description: StatusUnauthorized
          content:
            text/plain; charset=utf-8:
              schema:
                type: string
              example: Invalid Authorization Header
      security:
      - sourceIDAuth: []
components:
  securitySchemes:
    writeKeyAuth:
      type: http
      scheme: basic
      description: Write Key Basic Authentication
    sourceIDAuth:
      type: http
      scheme: basic
      description: SourceID Basic Authentication