DeepInfra Agents API

Manage agent-framework instances (OpenClaw and friends).

Operations 13

POST /v1/agents Create Instance #
GET /v1/agents List Instances #
GET /v1/agents/catalog Get Catalog #
GET /v1/agents/{instance_id} Get Instance #
PATCH /v1/agents/{instance_id} Rename Instance #
DELETE /v1/agents/{instance_id} Delete Instance #
POST /v1/agents/{instance_id}/launch_token Create Dashboard Launch Token #
POST /v1/agents/{instance_id}/stop Stop Instance #
POST /v1/agents/{instance_id}/start Start Instance #
POST /v1/agents/{instance_id}/update Update Instance Version #
GET /v1/agents/{instance_id}/backups List Backups #
POST /v1/agents/{instance_id}/backup Create Backup #
POST /v1/agents/{instance_id}/backups/{backup_id}/restore Restore Backup #

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/deepinfra:deepinfra-agents-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

deepinfra-agents-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DeepInfra Agents API
  description: The DeepInfra API provides serverless AI inference, custom model deployments, and GPU rentals.
  version: 1.0.0
servers:
- url: https://api.deepinfra.com
tags:
- name: Agents
  description: Manage agent-framework instances (OpenClaw and friends).
paths:
  /v1/agents:
    post:
      tags:
      - Agents
      summary: Create Instance
      operationId: openclaw_create_v1_agents_post
      security:
      - HTTPBearer: []
      parameters:
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentCreateIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentCreateOut'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '402':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Payment Required
        '429':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Too Many Requests
        '503':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Service Unavailable
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    get:
      tags:
      - Agents
      summary: List Instances
      operationId: openclaw_list_v1_agents_get
      security:
      - HTTPBearer: []
      parameters:
      - name: state
        in: query
        required: false
        schema:
          enum:
          - active
          - inactive
          - all
          type: string
          description: 'Which instances to return: active, inactive, or all (both)'
          default: active
          title: State
        description: 'Which instances to return: active, inactive, or all (both)'
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AgentInstanceOut'
                title: Response Openclaw List V1 Agents Get
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agents/catalog:
    get:
      tags:
      - Agents
      summary: Get Catalog
      operationId: openclaw_catalog_v1_agents_catalog_get
      security:
      - HTTPBearer: []
      parameters:
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentCatalogOut'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agents/{instance_id}:
    get:
      tags:
      - Agents
      summary: Get Instance
      operationId: openclaw_get_v1_agents__instance_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: instance_id
        in: path
        required: true
        schema:
          type: string
          title: Instance Id
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AgentInstanceOut'
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    patch:
      tags:
      - Agents
      summary: Rename Instance
      operationId: openclaw_update_v1_agents__instance_id__patch
      security:
      - HTTPBearer: []
      parameters:
      - name: instance_id
        in: path
        required: true
        schema:
          type: string
          title: Instance Id
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AgentUpdateIn'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Agents
      summary: Delete Instance
      operationId: openclaw_delete_v1_agents__instance_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: instance_id
        in: path
        required: true
        schema:
          type: string
          title: Instance Id
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agents/{instance_id}/launch_token:
    post:
      tags:
      - Agents
      summary: Create Dashboard Launch Token
      description: 'Mint a single-use launch URL for the dashboard.


        Called by the launcher page right when readyz flips ready. The launch URL

        is used as a top-level navigation; /launch then sets the oc_auth cookie

        and 302s into the proxied dashboard.


        The user''s bearer token is stashed in Redis under the token''s jti and

        retrieved (atomic GETDEL) on /launch redeem — this keeps the bearer out of

        the URL and out of any signed payload while preserving the existing proxy

        auth flow (oc_auth cookie value = bearer token).


        Refuses instances whose agent_type has has_dashboard=False (e.g. hermes).'
      operationId: openclaw_launch_token_v1_agents__instance_id__launch_token_post
      security:
      - HTTPBearer: []
      parameters:
      - name: instance_id
        in: path
        required: true
        schema:
          type: string
          title: Instance Id
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OpenClawLaunchTokenOut'
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Bad Request
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agents/{instance_id}/stop:
    post:
      tags:
      - Agents
      summary: Stop Instance
      operationId: openclaw_stop_v1_agents__instance_id__stop_post
      security:
      - HTTPBearer: []
      parameters:
      - name: instance_id
        in: path
        required: true
        schema:
          type: string
          title: Instance Id
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Conflict
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agents/{instance_id}/start:
    post:
      tags:
      - Agents
      summary: Start Instance
      operationId: openclaw_start_v1_agents__instance_id__start_post
      security:
      - HTTPBearer: []
      parameters:
      - name: instance_id
        in: path
        required: true
        schema:
          type: string
          title: Instance Id
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Conflict
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agents/{instance_id}/update:
    post:
      tags:
      - Agents
      summary: Update Instance Version
      operationId: openclaw_update_version_v1_agents__instance_id__update_post
      security:
      - HTTPBearer: []
      parameters:
      - name: instance_id
        in: path
        required: true
        schema:
          type: string
          title: Instance Id
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Conflict
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agents/{instance_id}/backups:
    get:
      tags:
      - Agents
      summary: List Backups
      operationId: openclaw_list_backups_v1_agents__instance_id__backups_get
      security:
      - HTTPBearer: []
      parameters:
      - name: instance_id
        in: path
        required: true
        schema:
          type: string
          title: Instance Id
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AgentBackupOut'
                title: Response Openclaw List Backups V1 Agents  Instance Id  Backups Get
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Not Found
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agents/{instance_id}/backup:
    post:
      tags:
      - Agents
      summary: Create Backup
      operationId: openclaw_trigger_backup_v1_agents__instance_id__backup_post
      security:
      - HTTPBearer: []
      parameters:
      - name: instance_id
        in: path
        required: true
        schema:
          type: string
          title: Instance Id
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Conflict
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/agents/{instance_id}/backups/{backup_id}/restore:
    post:
      tags:
      - Agents
      summary: Restore Backup
      operationId: openclaw_restore_backup_v1_agents__instance_id__backups__backup_id__restore_post
      security:
      - HTTPBearer: []
      parameters:
      - name: instance_id
        in: path
        required: true
        schema:
          type: string
          title: Instance Id
      - name: backup_id
        in: path
        required: true
        schema:
          type: string
          title: Backup Id
      - name: xi-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: Xi-Api-Key
      - name: x-api-key
        in: header
        required: false
        schema:
          anyOf:
          - type: string
          - type: 'null'
          title: X-Api-Key
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema: {}
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Unauthorized
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Not Found
        '409':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeepError'
          description: Conflict
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    AgentCreateIn:
      properties:
        name:
          type: string
          maxLength: 64
          minLength: 1
          title: Name
          description: Instance name
        agent_type_id:
          type: string
          title: Agent Type Id
          description: Agent type identifier
          default: openclaw
        plan_id:
          type: string
          title: Plan Id
          description: Plan identifier
          default: standard
      type: object
      required:
      - name
      title: AgentCreateIn
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    AgentInstanceState:
      type: string
      enum:
      - creating
      - starting
      - running
      - stopping
      - stopped
      - failed
      - deleted
      title: AgentInstanceState
    AgentBackupOut:
      properties:
        snapshot_name:
          type: string
          title: Snapshot Name
        size_in_gb:
          type: integer
          title: Size In Gb
        state:
          type: string
          title: State
        created_at_unix:
          type: integer
          title: Created At Unix
      type: object
      required:
      - snapshot_name
      - size_in_gb
      - state
      - created_at_unix
      title: AgentBackupOut
    AgentTypeMetaOut:
      properties:
        pretty_name:
          type: string
          title: Pretty Name
          description: Human-readable display name for the framework
        version:
          type: string
          title: Version
          description: Agent framework version
        has_dashboard:
          type: boolean
          title: Has Dashboard
          description: Whether instances of this framework expose a dashboard via the nginx proxy. False -> SSH-only; the UI should hide the dashboard launch affordance and surface the SSH connection string instead.
        self_service_update_command:
          type: string
          title: Self Service Update Command
          description: 'Non-empty when instances of this framework update themselves: the command the customer runs over SSH. POST /{id}/update refuses such instances, so the UI should show this command instead of the in-place Update action and skip the catalog-version comparison (the instance''s version pin does not move after a self-service update).'
          default: ''
        plans:
          items:
            $ref: '#/components/schemas/AgentPlanOut'
          type: array
          title: Plans
          description: Plans available for this agent type
      type: object
      required:
      - pretty_name
      - version
      - has_dashboard
      - plans
      title: AgentTypeMetaOut
    AgentInstanceOut:
      properties:
        id:
          type: string
          title: Id
        name:
          type: string
          title: Name
        state:
          $ref: '#/components/schemas/AgentInstanceState'
        start_ts:
          type: integer
          title: Start Ts
        state_ts:
          type: integer
          title: State Ts
        stop_ts:
          anyOf:
          - type: integer
          - type: 'null'
          title: Stop Ts
        price_per_hour:
          type: number
          title: Price Per Hour
        region:
          type: string
          title: Region
        last_backup_ts:
          anyOf:
          - type: integer
          - type: 'null'
          title: Last Backup Ts
        ssh_port:
          type: integer
          title: Ssh Port
        fail_reason:
          anyOf:
          - type: string
          - type: 'null'
          title: Fail Reason
        public_ip:
          anyOf:
          - type: string
          - type: 'null'
          title: Public Ip
        version:
          anyOf:
          - type: string
          - type: 'null'
          title: Version
        agent_type:
          type: string
          title: Agent Type
        ssh_user:
          type: string
          title: Ssh User
          description: POSIX user the agent runs as inside the VM; also the SSH login user.
        plan_id:
          type: string
          title: Plan Id
      type: object
      required:
      - id
      - name
      - state
      - start_ts
      - state_ts
      - stop_ts
      - price_per_hour
      - region
      - last_backup_ts
      - ssh_port
      - fail_reason
      - public_ip
      - version
      - agent_type
      - ssh_user
      - plan_id
      title: AgentInstanceOut
    OpenClawLaunchTokenOut:
      properties:
        dashboard_url:
          type: string
          title: Dashboard Url
          description: Single-use URL that opens the dashboard. Short TTL; mint right before navigating.
      type: object
      required:
      - dashboard_url
      title: OpenClawLaunchTokenOut
    AgentPlanOut:
      properties:
        id:
          type: string
          title: Id
          description: Plan identifier
        vcpu:
          type: integer
          title: Vcpu
          description: Number of vCPUs
        ram_gb:
          type: integer
          title: Ram Gb
          description: RAM in GB
        price_per_hour:
          type: number
          title: Price Per Hour
          description: Price in USD per hour
        monthly_egress_gb:
          type: integer
          title: Monthly Egress Gb
          description: Included monthly egress allowance in GB
      type: object
      required:
      - id
      - vcpu
      - ram_gb
      - price_per_hour
      - monthly_egress_gb
      title: AgentPlanOut
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    DeepError:
      properties:
        error:
          type: string
          title: Error
          description: Error
          examples:
          - Model not found
      type: object
      required:
      - error
      title: DeepError
    AgentCatalogOut:
      additionalProperties:
        $ref: '#/components/schemas/AgentTypeMetaOut'
      type: object
      title: AgentCatalogOut
      description: 'Per-agent-type catalog: keyed by agent_type_id, each entry carries the

        current version and the plans available for that type.'
    AgentUpdateIn:
      properties:
        name:
          type: string
          maxLength: 64
          minLength: 1
          title: Name
          description: Instance name
      additionalProperties: false
      type: object
      required:
      - name
      title: AgentUpdateIn
    AgentCreateOut:
      properties:
        instance_id:
          type: string
          title: Instance Id
          description: Instance ID
      type: object
      required:
      - instance_id
      title: AgentCreateOut
  securitySchemes:
    HTTPBearer:
      type: http
      scheme: bearer