E2B

E2B sandboxes API

The sandboxes API from E2B — 13 operation(s) for sandboxes.

OpenAPI Specification

e2b-dev-sandboxes-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 0.1.0
  title: E2B access-tokens sandboxes API
servers:
- url: https://api.e2b.app
tags:
- name: sandboxes
paths:
  /sandboxes:
    get:
      description: List all running sandboxes
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - name: metadata
        in: query
        description: Metadata query used to filter the sandboxes (e.g. "user=abc&app=prod"). Each key and values must be URL encoded.
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Successfully returned all running sandboxes
          content:
            application/json:
              schema:
                type: array
                items:
                  allOf:
                  - $ref: '#/components/schemas/ListedSandbox'
        '401':
          $ref: '#/components/responses/401'
        '400':
          $ref: '#/components/responses/400'
        '500':
          $ref: '#/components/responses/500'
    post:
      description: Create a sandbox from the template
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewSandbox'
      responses:
        '201':
          description: The sandbox was created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
        '401':
          $ref: '#/components/responses/401'
        '400':
          $ref: '#/components/responses/400'
        '500':
          $ref: '#/components/responses/500'
  /v2/sandboxes:
    get:
      description: List all sandboxes
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - name: metadata
        in: query
        description: Metadata query used to filter the sandboxes (e.g. "user=abc&app=prod"). Each key and values must be URL encoded.
        required: false
        schema:
          type: string
      - name: state
        in: query
        description: Filter sandboxes by one or more states
        required: false
        schema:
          type: array
          items:
            $ref: '#/components/schemas/SandboxState'
        style: form
        explode: false
      - $ref: '#/components/parameters/paginationNextToken'
      - $ref: '#/components/parameters/paginationLimit'
      responses:
        '200':
          description: Successfully returned all running sandboxes
          content:
            application/json:
              schema:
                type: array
                items:
                  allOf:
                  - $ref: '#/components/schemas/ListedSandbox'
        '401':
          $ref: '#/components/responses/401'
        '400':
          $ref: '#/components/responses/400'
        '500':
          $ref: '#/components/responses/500'
  /sandboxes/metrics:
    get:
      description: List metrics for given sandboxes
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - name: sandbox_ids
        in: query
        required: true
        description: Comma-separated list of sandbox IDs to get metrics for
        explode: false
        schema:
          type: array
          items:
            type: string
          maxItems: 100
          uniqueItems: true
      responses:
        '200':
          description: Successfully returned all running sandboxes with metrics
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxesWithMetrics'
        '401':
          $ref: '#/components/responses/401'
        '400':
          $ref: '#/components/responses/400'
        '500':
          $ref: '#/components/responses/500'
  /sandboxes/{sandboxID}/logs:
    get:
      description: Get sandbox logs. Use /v2/sandboxes/{sandboxID}/logs instead.
      deprecated: true
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - $ref: '#/components/parameters/sandboxID'
      - in: query
        name: start
        schema:
          type: integer
          format: int64
          minimum: 0
        description: Starting timestamp of the logs that should be returned in milliseconds
      - in: query
        name: limit
        schema:
          default: 1000
          format: int32
          minimum: 0
          type: integer
        description: Maximum number of logs that should be returned
      responses:
        '200':
          description: Successfully returned the sandbox logs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxLogs'
        '404':
          $ref: '#/components/responses/404'
        '401':
          $ref: '#/components/responses/401'
        '500':
          $ref: '#/components/responses/500'
  /v2/sandboxes/{sandboxID}/logs:
    get:
      description: Get sandbox logs
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - $ref: '#/components/parameters/sandboxID'
      - in: query
        name: cursor
        schema:
          type: integer
          format: int64
          minimum: 0
        description: Starting timestamp of the logs that should be returned in milliseconds
      - in: query
        name: limit
        schema:
          default: 1000
          type: integer
          format: int32
          minimum: 0
          maximum: 1000
        description: Maximum number of logs that should be returned
      - in: query
        name: direction
        schema:
          $ref: '#/components/schemas/LogsDirection'
        description: Direction of the logs that should be returned
      - in: query
        name: level
        schema:
          $ref: '#/components/schemas/LogLevel'
        description: Minimum log level to return. Logs below this level are excluded
      - in: query
        name: search
        schema:
          type: string
          maxLength: 256
        description: Case-sensitive substring match on log message content
      responses:
        '200':
          description: Successfully returned the sandbox logs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxLogsV2Response'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
  /sandboxes/{sandboxID}:
    get:
      description: Get a sandbox by id
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - $ref: '#/components/parameters/sandboxID'
      responses:
        '200':
          description: Successfully returned the sandbox
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SandboxDetail'
        '404':
          $ref: '#/components/responses/404'
        '401':
          $ref: '#/components/responses/401'
        '500':
          $ref: '#/components/responses/500'
    delete:
      description: Kill a sandbox
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - $ref: '#/components/parameters/sandboxID'
      responses:
        '204':
          description: The sandbox was killed successfully
        '404':
          $ref: '#/components/responses/404'
        '401':
          $ref: '#/components/responses/401'
        '500':
          $ref: '#/components/responses/500'
  /sandboxes/{sandboxID}/metrics:
    get:
      description: Get sandbox metrics
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - $ref: '#/components/parameters/sandboxID'
      - in: query
        name: start
        schema:
          type: integer
          format: int64
          minimum: 0
        description: Unix timestamp for the start of the interval, in seconds, for which the metrics
      - in: query
        name: end
        schema:
          type: integer
          format: int64
          minimum: 0
          description: Unix timestamp for the end of the interval, in seconds, for which the metrics
      responses:
        '200':
          description: Successfully returned the sandbox metrics
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SandboxMetric'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
  /sandboxes/{sandboxID}/pause:
    post:
      description: Pause the sandbox
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - $ref: '#/components/parameters/sandboxID'
      responses:
        '204':
          description: The sandbox was paused successfully and can be resumed
        '409':
          $ref: '#/components/responses/409'
        '404':
          $ref: '#/components/responses/404'
        '401':
          $ref: '#/components/responses/401'
        '500':
          $ref: '#/components/responses/500'
  /sandboxes/{sandboxID}/resume:
    post:
      deprecated: true
      description: Resume the sandbox
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - $ref: '#/components/parameters/sandboxID'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ResumedSandbox'
      responses:
        '201':
          description: The sandbox was resumed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
        '409':
          $ref: '#/components/responses/409'
        '404':
          $ref: '#/components/responses/404'
        '401':
          $ref: '#/components/responses/401'
        '500':
          $ref: '#/components/responses/500'
  /sandboxes/{sandboxID}/connect:
    post:
      description: Returns sandbox details. If the sandbox is paused, it will be resumed. TTL is only extended.
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - $ref: '#/components/parameters/sandboxID'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ConnectSandbox'
      responses:
        '200':
          description: The sandbox was already running
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
        '201':
          description: The sandbox was resumed successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Sandbox'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
  /sandboxes/{sandboxID}/timeout:
    post:
      description: Set the timeout for the sandbox. The sandbox will expire x seconds from the time of the request. Calling this method multiple times overwrites the TTL, each time using the current timestamp as the starting point to measure the timeout duration.
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      tags:
      - sandboxes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
              - timeout
              properties:
                timeout:
                  description: Timeout in seconds from the current time after which the sandbox should expire
                  type: integer
                  format: int32
                  minimum: 0
      parameters:
      - $ref: '#/components/parameters/sandboxID'
      responses:
        '204':
          description: Successfully set the sandbox timeout
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
  /sandboxes/{sandboxID}/refreshes:
    post:
      description: Refresh the sandbox extending its time to live
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      tags:
      - sandboxes
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                duration:
                  description: Duration for which the sandbox should be kept alive in seconds
                  type: integer
                  maximum: 3600
                  minimum: 0
      parameters:
      - $ref: '#/components/parameters/sandboxID'
      responses:
        '204':
          description: Successfully refreshed the sandbox
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
  /sandboxes/{sandboxID}/snapshots:
    post:
      description: Create a persistent snapshot from the sandbox's current state. Snapshots can be used to create new sandboxes and persist beyond the original sandbox's lifetime.
      tags:
      - sandboxes
      security:
      - ApiKeyAuth: []
      - Supabase1TokenAuth: []
        Supabase2TeamAuth: []
      parameters:
      - $ref: '#/components/parameters/sandboxID'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: Optional name for the snapshot template. If a snapshot template with this name already exists, a new build will be assigned to the existing template instead of creating a new one.
      responses:
        '201':
          description: Snapshot created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SnapshotInfo'
        '400':
          $ref: '#/components/responses/400'
        '401':
          $ref: '#/components/responses/401'
        '404':
          $ref: '#/components/responses/404'
        '500':
          $ref: '#/components/responses/500'
components:
  schemas:
    SandboxLog:
      description: Log entry with timestamp and line
      required:
      - timestamp
      - line
      properties:
        timestamp:
          type: string
          format: date-time
          description: Timestamp of the log entry
        line:
          type: string
          description: Log line content
    SandboxAutoResumeEnabled:
      type: boolean
      description: Auto-resume enabled flag for paused sandboxes. Default false.
      default: false
    SandboxAutoResumeConfig:
      type: object
      description: Auto-resume configuration for paused sandboxes.
      required:
      - enabled
      properties:
        enabled:
          $ref: '#/components/schemas/SandboxAutoResumeEnabled'
    ListedSandbox:
      required:
      - templateID
      - sandboxID
      - clientID
      - startedAt
      - cpuCount
      - memoryMB
      - diskSizeMB
      - endAt
      - state
      - envdVersion
      properties:
        templateID:
          type: string
          description: Identifier of the template from which is the sandbox created
        alias:
          type: string
          description: Alias of the template
        sandboxID:
          type: string
          description: Identifier of the sandbox
        clientID:
          type: string
          deprecated: true
          description: Identifier of the client
        startedAt:
          type: string
          format: date-time
          description: Time when the sandbox was started
        endAt:
          type: string
          format: date-time
          description: Time when the sandbox will expire
        cpuCount:
          $ref: '#/components/schemas/CPUCount'
        memoryMB:
          $ref: '#/components/schemas/MemoryMB'
        diskSizeMB:
          $ref: '#/components/schemas/DiskSizeMB'
        metadata:
          $ref: '#/components/schemas/SandboxMetadata'
        state:
          $ref: '#/components/schemas/SandboxState'
        envdVersion:
          $ref: '#/components/schemas/EnvdVersion'
        volumeMounts:
          type: array
          items:
            $ref: '#/components/schemas/SandboxVolumeMount'
    Sandbox:
      required:
      - templateID
      - sandboxID
      - clientID
      - envdVersion
      properties:
        templateID:
          type: string
          description: Identifier of the template from which is the sandbox created
        sandboxID:
          type: string
          description: Identifier of the sandbox
        alias:
          type: string
          description: Alias of the template
        clientID:
          type: string
          deprecated: true
          description: Identifier of the client
        envdVersion:
          $ref: '#/components/schemas/EnvdVersion'
        envdAccessToken:
          type: string
          description: Access token used for envd communication
        trafficAccessToken:
          type: string
          nullable: true
          description: Token required for accessing sandbox via proxy.
        domain:
          type: string
          nullable: true
          description: Base domain where the sandbox traffic is accessible
    DiskSizeMB:
      type: integer
      format: int32
      minimum: 0
      description: Disk size for the sandbox in MiB
    ResumedSandbox:
      properties:
        timeout:
          type: integer
          format: int32
          minimum: 0
          default: 15
          description: Time to live for the sandbox in seconds.
        autoPause:
          type: boolean
          deprecated: true
          description: Automatically pauses the sandbox after the timeout
    ConnectSandbox:
      type: object
      required:
      - timeout
      properties:
        timeout:
          description: Timeout in seconds from the current time after which the sandbox should expire
          type: integer
          format: int32
          minimum: 0
    SandboxMetric:
      description: Metric entry with timestamp and line
      required:
      - timestamp
      - timestampUnix
      - cpuCount
      - cpuUsedPct
      - memUsed
      - memTotal
      - diskUsed
      - diskTotal
      properties:
        timestamp:
          type: string
          format: date-time
          deprecated: true
          description: Timestamp of the metric entry
        timestampUnix:
          type: integer
          format: int64
          description: Timestamp of the metric entry in Unix time (seconds since epoch)
        cpuCount:
          type: integer
          format: int32
          description: Number of CPU cores
        cpuUsedPct:
          type: number
          format: float
          description: CPU usage percentage
        memUsed:
          type: integer
          format: int64
          description: Memory used in bytes
        memTotal:
          type: integer
          format: int64
          description: Total memory in bytes
        diskUsed:
          type: integer
          format: int64
          description: Disk used in bytes
        diskTotal:
          type: integer
          format: int64
          description: Total disk space in bytes
    EnvVars:
      additionalProperties:
        type: string
        description: Environment variables for the sandbox
    SandboxVolumeMount:
      type: object
      properties:
        name:
          type: string
          description: Name of the volume
        path:
          type: string
          description: Path of the volume
      required:
      - name
      - path
    SandboxMetadata:
      additionalProperties:
        type: string
        description: Metadata of the sandbox
    SandboxLogsV2Response:
      required:
      - logs
      properties:
        logs:
          default: []
          description: Sandbox logs structured
          type: array
          items:
            $ref: '#/components/schemas/SandboxLogEntry'
    Error:
      required:
      - code
      - message
      properties:
        code:
          type: integer
          format: int32
          description: Error code
        message:
          type: string
          description: Error
    NewSandbox:
      required:
      - templateID
      properties:
        templateID:
          type: string
          description: Identifier of the required template
        timeout:
          type: integer
          format: int32
          minimum: 0
          default: 15
          description: Time to live for the sandbox in seconds.
        autoPause:
          type: boolean
          default: false
          description: Automatically pauses the sandbox after the timeout
        autoResume:
          $ref: '#/components/schemas/SandboxAutoResumeConfig'
        secure:
          type: boolean
          description: Secure all system communication with sandbox
        allow_internet_access:
          type: boolean
          description: Allow sandbox to access the internet. When set to false, it behaves the same as specifying denyOut to 0.0.0.0/0 in the network config.
        network:
          $ref: '#/components/schemas/SandboxNetworkConfig'
        metadata:
          $ref: '#/components/schemas/SandboxMetadata'
        envVars:
          $ref: '#/components/schemas/EnvVars'
        mcp:
          $ref: '#/components/schemas/Mcp'
        volumeMounts:
          type: array
          items:
            $ref: '#/components/schemas/SandboxVolumeMount'
    SandboxLifecycle:
      type: object
      description: Sandbox lifecycle policy returned by sandbox info.
      required:
      - autoResume
      - onTimeout
      properties:
        autoResume:
          type: boolean
          description: Whether the sandbox can auto-resume.
        onTimeout:
          $ref: '#/components/schemas/SandboxOnTimeout'
    LogLevel:
      type: string
      description: State of the sandbox
      enum:
      - debug
      - info
      - warn
      - error
    CPUCount:
      type: integer
      format: int32
      minimum: 1
      description: CPU cores for the sandbox
    SandboxDetail:
      required:
      - templateID
      - sandboxID
      - clientID
      - startedAt
      - cpuCount
      - memoryMB
      - diskSizeMB
      - endAt
      - state
      - envdVersion
      properties:
        templateID:
          type: string
          description: Identifier of the template from which is the sandbox created
        alias:
          type: string
          description: Alias of the template
        sandboxID:
          type: string
          description: Identifier of the sandbox
        clientID:
          type: string
          deprecated: true
          description: Identifier of the client
        startedAt:
          type: string
          format: date-time
          description: Time when the sandbox was started
        endAt:
          type: string
          format: date-time
          description: Time when the sandbox will expire
        envdVersion:
          $ref: '#/components/schemas/EnvdVersion'
        envdAccessToken:
          type: string
          description: Access token used for envd communication
        allowInternetAccess:
          type: boolean
          nullable: true
          description: Whether internet access was explicitly enabled or disabled for the sandbox. Null means it was not explicitly set.
        domain:
          type: string
          nullable: true
          description: Base domain where the sandbox traffic is accessible
        cpuCount:
          $ref: '#/components/schemas/CPUCount'
        memoryMB:
          $ref: '#/components/schemas/MemoryMB'
        diskSizeMB:
          $ref: '#/components/schemas/DiskSizeMB'
        metadata:
          $ref: '#/components/schemas/SandboxMetadata'
        state:
          $ref: '#/components/schemas/SandboxState'
        network:
          $ref: '#/components/schemas/SandboxNetworkConfig'
        lifecycle:
          $ref: '#/components/schemas/SandboxLifecycle'
        volumeMounts:
          type: array
          items:
            $ref: '#/components/schemas/SandboxVolumeMount'
    SandboxOnTimeout:
      type: string
      description: Action taken when the sandbox times out.
      enum:
      - kill
      - pause
    MemoryMB:
      type: integer
      format: int32
      minimum: 128
      description: Memory for the sandbox in MiB
    EnvdVersion:
      type: string
      description: Version of the envd running in the sandbox
    SandboxState:
      type: string
      description: State of the sandbox
      enum:
      - running
      - paused
    SandboxesWithMetrics:
      required:
      - sandboxes
      properties:
        sandboxes:
          additionalProperties:
            $ref: '#/components/schemas/SandboxMetric'
    SandboxNetworkConfig:
      type: object
      properties:
        allowPublicTraffic:
          type: boolean
          default: true
          description: Specify if the sandbox URLs should be accessible only with authentication.
        allowOut:
          type: array
          description: List of allowed CIDR blocks or IP addresses for egress traffic. Allowed addresses always take precedence over blocked addresses.
          items:
            type: string
        denyOut:
          type: array
          description: List of denied CIDR blocks or IP addresses for egress traffic
          items:
            type: string
        maskRequestHost:
          type: string
          description: Specify host mask which will be used for all sandbox requests
    SnapshotInfo:
      type: object
      required:
      - snapshotID
      - names
      properties:
        snapshotID:
          type: string
          description: Identifier of the snapshot template including the tag. Uses namespace/alias when a name was provided (e.g. team-slug/my-snapshot:default), otherwise falls back to the raw template ID (e.g. abc123:default).
        names:
          type: array
          items:
            type: string
          description: Full names of the snapshot template including team namespace and tag (e.g. team-slug/my-snapshot:v2)
    SandboxLogs:
      required:
      - logs
      - logEntries
      properties:
        logs:
          description: Logs of the sandbox
          type: array
          items:
            $ref: '#/components/schemas/SandboxLog'
        logEntries:
          description: Structured logs of the sandbox
          type: array
          items:
            $ref: '#/components/schemas/SandboxLogEntry'
    LogsDirection:
      type: string
      description: Direction of the logs that should be returned
      enum:
      - forward
      - backward
      x-enum-varnames:
      - LogsDirectionForward
      - LogsDirectionBackward
    Mcp:
      type: object
      description: MCP configuration for the sandbox
      additionalProperties: {}
      nullable: true
    SandboxLogEntry:
      required:
      - timestamp
      - level
      - message
      - fields
      properties:
        timestamp:
          type: string
          format: date-time
          description: Timestamp of the log entry
        message:
          type: string
          description: Log message content
        level:
          $ref: '#/components/schemas/LogLevel'
        fields:
          type: object
          additionalProperties:
            type: string
  parameters:
    paginationNextToken:
      name: nextToken
      in: query
      description: Cursor to start the list from
      required: false
      schema:
        type: string
    paginationLimit:
      name: limit
      in: query
      description: Maximum number of items to return per page
      required: false
      schema:
        type: integer
        format: int32
        minimum: 1
        default: 100
        maximum: 100
    sandboxID:
      name: sandboxID
      in: path
      required: true
      schema:
        type: string
  responses:
    '400':
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '500':
      description: Server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '409':
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '404':
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    '401':
      description: Authentication error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
    AccessTokenAuth:
      type: http
      scheme: bearer
      bearerFormat: access_token
    Supabase1TokenAuth:
      type: apiKey
      in: header
      name: X-Supabase-Token
    Supabase2TeamAuth:
      type: apiKey
      in: header
      name: X-Supabase-Team
    AdminTokenAuth:
      type: apiKey
      in: header
      name: X-Admin-Token