Beam Web Endpoints API

The Web Endpoints API from Beam — 3 operation(s) for web endpoints.

OpenAPI Specification

beam-cloud-web-endpoints-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Beam Task Queues Web Endpoints API
  description: 'Specification of the documented Beam (beam.cloud) HTTP surfaces: synchronous invocation of deployed web endpoints, asynchronous task submission to deployed task queues, and the control-plane Tasks API for querying status and cancelling tasks. Beam deployments are created from Python with the Beam SDK/CLI; this spec covers the resulting HTTP invocation and management patterns only.'
  termsOfService: https://www.beam.cloud/terms
  contact:
    name: Beam Support
    url: https://docs.beam.cloud
  version: '2.0'
servers:
- url: https://app.beam.cloud
  description: Invocation host for deployed endpoints and task queues (named or id path)
- url: https://api.beam.cloud
  description: Control-plane host for the Tasks management API
security:
- bearerAuth: []
tags:
- name: Web Endpoints
paths:
  /endpoint/{name}:
    post:
      operationId: invokeNamedEndpoint
      tags:
      - Web Endpoints
      summary: Invoke a deployed web endpoint by name
      description: Synchronously invoke a deployed Python function exposed as a web endpoint, addressed by its deployment name on the shared invocation host. Endpoints are intended for synchronous work that completes within roughly 180 seconds. A deployment is also reachable at its versioned app subdomain (https://{name}-{id}-v{n}.app.beam.cloud).
      parameters:
      - name: name
        in: path
        required: true
        description: The name of the deployed endpoint.
        schema:
          type: string
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
            example:
              x: 12
      responses:
        '200':
          description: OK - the function return value, serialized as JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          description: Unauthorized - missing or invalid Bearer token.
      security:
      - bearerAuth: []
  /endpoint/{name}/v{version}:
    post:
      operationId: invokeNamedEndpointVersion
      tags:
      - Web Endpoints
      summary: Invoke a specific version of a deployed web endpoint
      description: Invoke a specific deployment version of a named web endpoint, e.g. /endpoint/zonos-tts/v1.
      parameters:
      - name: name
        in: path
        required: true
        description: The name of the deployed endpoint.
        schema:
          type: string
      - name: version
        in: path
        required: true
        description: The deployment version number.
        schema:
          type: integer
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: OK - the function return value, serialized as JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          description: Unauthorized - missing or invalid Bearer token.
      security:
      - bearerAuth: []
  /endpoint/id/{id}:
    post:
      operationId: invokeEndpointById
      tags:
      - Web Endpoints
      summary: Invoke a deployed web endpoint by id
      description: Synchronously invoke a deployed endpoint addressed by its unique deployment id, e.g. /endpoint/id/55108039-e3bf-409b-bad5-f4982b2f1c02. Commonly used for temporary or ephemeral deployments.
      parameters:
      - name: id
        in: path
        required: true
        description: The unique id of the deployment.
        schema:
          type: string
          format: uuid
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              additionalProperties: true
      responses:
        '200':
          description: OK - the function return value, serialized as JSON.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
        '401':
          description: Unauthorized - missing or invalid Bearer token.
      security:
      - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'Beam API token passed as `Authorization: Bearer <TOKEN>`. Generate tokens in the Beam dashboard or with the Beam CLI.'