Runloop Blueprint API

The Blueprint API from Runloop — 11 operation(s) for blueprint.

Operations 12

POST /v1/blueprints Create and build a Blueprint. #
GET /v1/blueprints List Blueprints. #
POST /v1/blueprints/create_from_inspection Create and build a Blueprint from a RepositoryConnection Inspection. #
GET /v1/blueprints/list_public List Public Blueprints. #
GET /v1/blueprints/metadata/keys List available blueprint metadata keys. #
GET /v1/blueprints/metadata/keys/{key}/values List values for a specific blueprint metadata key. #
POST /v1/blueprints/preview Preview Dockerfile definition for a Blueprint. #
GET /v1/blueprints/public/metadata/keys List available public blueprint metadata keys. #
GET /v1/blueprints/public/metadata/keys/{key}/values List values for a specific public blueprint metadata key. #
GET /v1/blueprints/{id} Get a Blueprint. #
POST /v1/blueprints/{id}/delete Delete a Blueprint. #
GET /v1/blueprints/{id}/logs Get Blueprint build logs. #

Documentation

Specifications

Schemas & Data

📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-devbox-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-execution-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-snapshot-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-tunnel-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-launch-parameters-schema.json
📊
JSONStructure
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-structure/runloop-devbox-structure.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-blueprint-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-benchmark-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-benchmark-run-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-scenario-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-agent-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-axon-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-object-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-secret-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-network-policy-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-gateway-config-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-mcp-config-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-api-key-schema.json
📊
JSONSchema
https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/json-schema/runloop-restricted-key-schema.json

Other Resources

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/runloop-ai-blueprint-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

runloop-ai-blueprint-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Runloop agents Blueprint API
  version: '0.1'
  description: Register, version, and mount Agents — packaged agent definitions sourced from Git, npm, pip, or storage objects that can be installed on Devboxes for fast, reproducible agent execution.
  contact:
    name: Runloop AI Support
    url: https://runloop.ai
    email: support@runloop.ai
servers:
- url: https://api.runloop.ai
  description: Runloop API
  variables: {}
security:
- bearerAuth: []
tags:
- name: Blueprint
paths:
  /v1/blueprints:
    post:
      tags:
      - Blueprint
      summary: Create and build a Blueprint.
      description: Starts build of custom defined container Blueprint. The Blueprint will begin in the 'provisioning' step and transition to the 'building' step once it is selected off the build queue., Upon build complete it will transition to 'building_complete' if the build is successful.
      operationId: createBlueprint
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlueprintBuildParameters'
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlueprintView'
      deprecated: false
    get:
      tags:
      - Blueprint
      summary: List Blueprints.
      description: List all Blueprints or filter by name.
      operationId: listImages
      parameters:
      - name: name
        in: query
        description: Filter by name
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: string
      - name: status
        in: query
        description: Filter by build status (queued, provisioning, building, failed, build_complete)
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: string
      - name: limit
        in: query
        description: The limit of items to return. Default is 20. Max is 5000.
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: integer
          format: int32
      - name: starting_after
        in: query
        description: Load the next page of data starting after the item with the given ID.
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: string
      - name: include_total_count
        in: query
        description: If true (default), includes total_count in the response. Set to false to skip the count query for better performance on large datasets.
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlueprintListView'
      deprecated: false
  /v1/blueprints/create_from_inspection:
    post:
      tags:
      - Blueprint
      summary: Create and build a Blueprint from a RepositoryConnection Inspection.
      description: Starts build of custom defined container Blueprint using a RepositoryConnection Inspection as a source container specification.
      operationId: createBlueprintFromInspection
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlueprintBuildFromInspectionParameters'
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlueprintView'
      deprecated: false
  /v1/blueprints/list_public:
    get:
      tags:
      - Blueprint
      summary: List Public Blueprints.
      description: List all public Blueprints that are available to all users.
      operationId: listPublicBlueprints
      parameters:
      - name: name
        in: query
        description: Filter by name
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: string
      - name: status
        in: query
        description: Filter by build status (queued, provisioning, building, failed, build_complete)
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: string
      - name: limit
        in: query
        description: The limit of items to return. Default is 20. Max is 5000.
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: integer
          format: int32
      - name: starting_after
        in: query
        description: Load the next page of data starting after the item with the given ID.
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: string
      - name: include_total_count
        in: query
        description: If true (default), includes total_count in the response. Set to false to skip the count query for better performance on large datasets.
        required: false
        deprecated: false
        allowEmptyValue: true
        schema:
          type: boolean
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlueprintListView'
      deprecated: false
  /v1/blueprints/metadata/keys:
    get:
      tags:
      - Blueprint
      summary: List available blueprint metadata keys.
      description: Returns a list of all available metadata keys that can be used for filtering blueprints.
      operationId: getBlueprintMetadataKeys
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataKeysView'
      deprecated: false
  /v1/blueprints/metadata/keys/{key}/values:
    get:
      tags:
      - Blueprint
      summary: List values for a specific blueprint metadata key.
      description: Returns a list of all values that exist for a specific metadata key across all blueprints.
      operationId: getBlueprintMetadataValues
      parameters:
      - name: key
        in: path
        description: The metadata key to get values for.
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataValuesView'
        '400':
          description: Invalid metadata key provided.
      deprecated: false
  /v1/blueprints/preview:
    post:
      tags:
      - Blueprint
      summary: Preview Dockerfile definition for a Blueprint.
      description: Preview building a Blueprint with the specified configuration. You can take the resulting Dockerfile and test out your build using any local docker tooling.
      operationId: previewImage
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BlueprintBuildParameters'
        required: false
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlueprintPreviewView'
      deprecated: true
  /v1/blueprints/public/metadata/keys:
    get:
      tags:
      - Blueprint
      summary: List available public blueprint metadata keys.
      description: Returns a list of all available metadata keys from public blueprints only that can be used for filtering.
      operationId: getPublicBlueprintMetadataKeys
      parameters: []
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataKeysView'
      deprecated: false
  /v1/blueprints/public/metadata/keys/{key}/values:
    get:
      tags:
      - Blueprint
      summary: List values for a specific public blueprint metadata key.
      description: Returns a list of all values that exist for a specific metadata key across all public blueprints only.
      operationId: getPublicBlueprintMetadataValues
      parameters:
      - name: key
        in: path
        description: The metadata key to get values for from public blueprints.
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MetadataValuesView'
        '400':
          description: Invalid metadata key provided.
      deprecated: false
  /v1/blueprints/{id}:
    get:
      tags:
      - Blueprint
      summary: Get a Blueprint.
      description: Get the details of a previously created Blueprint including the build status.
      operationId: getBlueprint
      parameters:
      - name: id
        in: path
        description: The ID of the Blueprint
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlueprintView'
      deprecated: false
  /v1/blueprints/{id}/delete:
    post:
      tags:
      - Blueprint
      summary: Delete a Blueprint.
      description: 'Delete a previously created Blueprint. If a blueprint has dependent snapshots, it cannot be deleted. You can find them by querying: GET /v1/devboxes/disk_snapshots?source_blueprint_id={blueprint_id}.'
      operationId: deleteBlueprint
      parameters:
      - name: id
        in: path
        description: The ID of the Blueprint
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmptyRecord'
        '400':
          description: Blueprint has dependent snapshots that must be deleted first. Returns list of snapshot IDs.
        '404':
          description: Blueprint not found.
      deprecated: false
  /v1/blueprints/{id}/logs:
    get:
      tags:
      - Blueprint
      summary: Get Blueprint build logs.
      description: Get all logs from the building of a Blueprint.
      operationId: blueprintLogs
      parameters:
      - name: id
        in: path
        description: The ID of the Blueprint
        required: true
        deprecated: false
        allowEmptyValue: false
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlueprintBuildLogsListView'
      deprecated: false
components:
  schemas:
    BlueprintState:
      type: string
      enum:
      - created
      - deleted
    BlueprintBuildLogsListView:
      type: object
      additionalProperties: false
      properties:
        blueprint_id:
          type: string
          description: ID of the Blueprint.
        logs:
          type: array
          items:
            $ref: '#/components/schemas/BlueprintBuildLog'
          description: List of logs generated during Blueprint build.
      required:
      - blueprint_id
      - logs
    LaunchParameters:
      type: object
      additionalProperties: false
      description: LaunchParameters enable you to customize the resources available to your Devbox as well as the environment set up that should be completed before the Devbox is marked as 'running'.
      properties:
        launch_commands:
          type:
          - array
          - 'null'
          items:
            type: string
          description: Set of commands to be run at launch time, before the entrypoint process is run.
        resource_size_request:
          $ref: '#/components/schemas/ResourceSize'
          description: 'Preset Devbox resources (vCPU, RAM in GiB, ephemeral disk in GiB). If not set, SMALL is used. X_SMALL: 0.5 vCPU, 1 GiB RAM, 4 GiB disk. SMALL: 1 vCPU, 2 GiB RAM, 4 GiB disk. MEDIUM: 2 vCPU, 4 GiB RAM, 8 GiB disk. LARGE: 2 vCPU, 8 GiB RAM, 16 GiB disk. X_LARGE: 4 vCPU, 16 GiB RAM, 16 GiB disk. XX_LARGE: 8 vCPU, 32 GiB RAM, 16 GiB disk. CUSTOM_SIZE: set custom_cpu_cores, custom_gb_memory, and optionally custom_disk_size.'
        available_ports:
          type:
          - array
          - 'null'
          items:
            type: integer
            format: int32
          description: '[Deprecated] A list of ports to make available on the Devbox. This field is ignored.'
        keep_alive_time_seconds:
          type:
          - integer
          - 'null'
          format: int64
          description: Time in seconds after which Devbox will automatically shutdown. Default is 1 hour. Maximum is 48 hours (172800 seconds).
        after_idle:
          $ref: '#/components/schemas/IdleConfigurationParameters'
          description: Configure Devbox lifecycle based on idle activity. If after_idle is set, Devbox will ignore keep_alive_time_seconds. If both after_idle and lifecycle.after_idle are set, they must have the same value. Use lifecycle.after_idle instead.
        custom_cpu_cores:
          type:
          - integer
          - 'null'
          format: int32
          description: Custom CPU cores. Must be 0.5, 1, or a multiple of 2. Max is 16.
        custom_gb_memory:
          type:
          - integer
          - 'null'
          format: int32
          description: Custom memory size in GiB. Must be 1 or a multiple of 2. Max is 64GiB.
        custom_disk_size:
          type:
          - integer
          - 'null'
          format: int32
          description: Custom disk size in GiB. Must be a multiple of 2. Min is 2GiB, max is 64GiB.
        architecture:
          $ref: '#/components/schemas/Architecture'
          description: The target architecture for the Devbox. If unset, defaults to x86_64.
        user_parameters:
          $ref: '#/components/schemas/UserParameters'
          description: Specify the user for execution on Devbox. If not set, default `user` will be used.
        required_services:
          type:
          - array
          - 'null'
          items:
            type: string
          description: A list of ContainerizedService names to be started when a Devbox is created. A valid ContainerizedService must be specified in Blueprint to be started.
        network_policy_id:
          type:
          - string
          - 'null'
          description: (Optional) ID of the network policy to apply to Devboxes launched with these parameters. When set on a Blueprint launch parameters, Devboxes created from it will inherit this policy unless explicitly overridden.
        lifecycle:
          $ref: '#/components/schemas/LifecycleConfigurationParameters'
          description: Lifecycle configuration for idle and resume behavior. Configure idle policy via lifecycle.after_idle (if both this and the top-level after_idle are set, they must match) and resume triggers via lifecycle.resume_triggers.
    BlueprintBuildLog:
      type: object
      additionalProperties: false
      properties:
        level:
          type: string
          description: Log line severity level.
        timestamp_ms:
          type: integer
          format: int64
          description: Time of log (Unix timestamp milliseconds).
        message:
          type: string
          description: Log line message.
      required:
      - level
      - timestamp_ms
      - message
    BlueprintBuildFromInspectionParameters:
      type: object
      additionalProperties: false
      properties:
        name:
          type: string
          description: Name of the Blueprint.
        inspection_source:
          $ref: '#/components/schemas/InspectionSource'
          description: (Optional) Use a RepositoryInspection a source of a Blueprint build. The Dockerfile will be automatically created based on the RepositoryInspection contents.
        system_setup_commands:
          type:
          - array
          - 'null'
          items:
            type: string
          description: A list of commands to run to set up your system.
        launch_parameters:
          $ref: '#/components/schemas/LaunchParameters'
          description: Parameters to configure your Devbox at launch time.
        file_mounts:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
          description: (Optional) Map of paths and file contents to write before setup.
        metadata:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
          description: (Optional) User defined metadata for the Blueprint.
        secrets:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
          description: '(Optional) Map of mount IDs/environment variable names to secret names. Secrets can be used as environment variables in system_setup_commands. Example: {"GITHUB_TOKEN": "gh_secret"} makes ''gh_secret'' available as GITHUB_TOKEN.'
        network_policy_id:
          type:
          - string
          - 'null'
          description: (Optional) ID of the network policy to apply during blueprint build. This restricts network access during the build process.
      required:
      - name
      - inspection_source
    LifecycleConfigurationParameters:
      type: object
      additionalProperties: false
      description: Lifecycle configuration for Devbox idle and resume behavior. Configure idle policy via after_idle and resume triggers via resume_triggers.
      properties:
        after_idle:
          $ref: '#/components/schemas/IdleConfigurationParameters'
          description: Configure Devbox lifecycle based on idle activity. If both this and the top-level after_idle are set, they must have the same value. Prefer this field for new integrations.
        resume_triggers:
          $ref: '#/components/schemas/ResumeTriggers'
          description: Triggers that can resume a suspended Devbox.
    BlueprintListView:
      type: object
      additionalProperties: false
      properties:
        blueprints:
          type: array
          items:
            $ref: '#/components/schemas/BlueprintView'
          description: List of blueprints matching filter.
        has_more:
          type: boolean
        total_count:
          type:
          - integer
          - 'null'
          format: int32
      required:
      - blueprints
      - has_more
    InspectionSource:
      type: object
      additionalProperties: false
      description: Use a RepositoryInspection a source of a Blueprint build.
      properties:
        inspection_id:
          type: string
          description: The ID of a repository inspection.
        github_auth_token:
          type:
          - string
          - 'null'
          description: GitHub authentication token for accessing private repositories.
      required:
      - inspection_id
    ContainerizedServiceView:
      type: object
      additionalProperties: false
      properties:
        name:
          type: string
          description: The name of the container service.
        image:
          type: string
          description: The image of the container service.
        credentials:
          $ref: '#/components/schemas/Credentials'
          description: The credentials of the container service.
        env:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
          description: The environment variables of the container service.
        port_mappings:
          type:
          - array
          - 'null'
          items:
            type: string
          description: The port mappings of the container service. Port mappings are in the format of <host_port>:<container_port>.
        options:
          type:
          - string
          - 'null'
          description: Additional Docker container create options.
      required:
      - name
      - image
    IdleConfigurationParameters:
      type: object
      additionalProperties: false
      properties:
        idle_time_seconds:
          type: integer
          format: int32
          description: After idle_time_seconds, on_idle action will be taken.
        on_idle:
          $ref: '#/components/schemas/IdleAction'
          description: Action to take after Devbox becomes idle.
      required:
      - idle_time_seconds
      - on_idle
    Credentials:
      type: object
      additionalProperties: false
      properties:
        username:
          type: string
          description: The username of the container service.
        password:
          type: string
          description: The password of the container service.
      required:
      - username
      - password
    EmptyRecord:
      type: object
      additionalProperties: false
      properties: {}
    BlueprintView:
      type: object
      additionalProperties: false
      description: Blueprints are ways to create customized starting points for Devboxes. They allow you to define custom starting points for Devboxes such that environment set up can be cached to improve Devbox boot times.
      properties:
        id:
          type: string
          description: The id of the Blueprint.
        name:
          type: string
          description: The name of the Blueprint.
        status:
          $ref: '#/components/schemas/BlueprintBuildStatus'
          description: The status of the Blueprint build.
        state:
          $ref: '#/components/schemas/BlueprintState'
          description: The state of the Blueprint.
        create_time_ms:
          type: integer
          format: int64
          description: Creation time of the Blueprint (Unix timestamp milliseconds).
        build_finish_time_ms:
          type:
          - integer
          - 'null'
          format: int64
          description: Build completion time of the Blueprint (Unix timestamp milliseconds).
        parameters:
          $ref: '#/components/schemas/BlueprintBuildParameters'
          description: The parameters used to create Blueprint.
        failure_reason:
          $ref: '#/components/schemas/BlueprintBuildFailureReason'
          description: The failure reason if the Blueprint build failed, if any.
        base_blueprint_id:
          type:
          - string
          - 'null'
          description: The ID of the base Blueprint.
        containerized_services:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ContainerizedServiceView'
          description: List of ContainerizedServices available in the Blueprint. Services can be explicitly started when creating a Devbox.
        is_public:
          type: boolean
          description: Whether this Blueprint is publicly accessible to all users.
        metadata:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
          description: User defined metadata associated with the blueprint.
        devbox_capabilities:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/DevboxCapabilities'
          description: Capabilities that will be available on Devbox.
      required:
      - id
      - name
      - status
      - state
      - create_time_ms
      - parameters
    MetadataKeysView:
      type: object
      additionalProperties: false
      properties:
        keys:
          type: array
          items:
            type: string
    BlueprintBuildParameters:
      type: object
      additionalProperties: false
      properties:
        name:
          type: string
          description: Name of the Blueprint.
        dockerfile:
          type:
          - string
          - 'null'
          description: Dockerfile contents to be used to build the Blueprint.
        system_setup_commands:
          type:
          - array
          - 'null'
          items:
            type: string
          description: A list of commands to run to set up your system.
        code_mounts:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/CodeMountParameters'
          description: A list of code mounts to be included in the Blueprint.
        launch_parameters:
          $ref: '#/components/schemas/LaunchParameters'
          description: Parameters to configure your Devbox at launch time.
        file_mounts:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
          description: (Optional) Map of paths and file contents to write before setup.
        base_blueprint_id:
          type:
          - string
          - 'null'
          description: (Optional) ID of previously built blueprint to use as a base blueprint for this build.
        base_blueprint_name:
          type:
          - string
          - 'null'
          description: (Optional) Name of previously built blueprint to use as a base blueprint for this build. When set, this will load the latest successfully built Blueprint with the given name. Only one of (base_blueprint_id, base_blueprint_name) should be specified.
        services:
          type:
          - array
          - 'null'
          items:
            $ref: '#/components/schemas/ContainerizedServiceView'
          description: (Optional) List of containerized services to include in the Blueprint. These services will be pre-pulled during the build phase for optimized startup performance.
        metadata:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
          description: (Optional) User defined metadata for the Blueprint.
        build_args:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
          description: (Optional) Arbitrary Docker build args to pass during build.
        secrets:
          type:
          - object
          - 'null'
          additionalProperties:
            type: string
          description: '(Optional) Map of mount IDs/environment variable names to secret names. Secrets will be available to commands during the build. Secrets are NOT stored in the blueprint image. Example: {"DB_PASS": "DATABASE_PASSWORD"} makes the secret ''DATABASE_PASSWORD'' available as environment variable ''DB_PASS''.'
        build_context:
          $ref: '#/components/schemas/BuildContext'
          description: (Optional) Build context to be attached to the Blueprint build. This context is the source of COPY and ADD directives.
        network_policy_id:
          type:
          - string
          - 'null'
          description: (Optional) ID of the network policy to apply during blueprint build. This restricts network access during the build process. This does not affect devboxes created from this blueprint; if you want devboxes created from this blueprint to inherit the network policy, set the network_policy_id on the blueprint launch parameters.
      required:
      - name
    DevboxCapabilities:
      type: string
      enum:
      - unknown
      - docker_in_docker
    IdleAction:
      type: string
      enum:
      - shutdown
      - suspend
      description: 'Action to take after Devbox idle timer is triggered.


        shutdown: Shutdown the Devbox.

        suspend: Suspend the Devbox.

        '
      x-enum-descriptions:
        shutdown: Shutdown the Devbox.
        suspend: Suspend the Devbox.
    CodeMountParameters:
      type: object
      additionalProperties: false
      properties:
        repo_name:
          type: string
          description: The name of the repo to mount. By default, code will be mounted at /home/user/{repo_name}.
        repo_owner:
          type: string
          description: The owner of the repo.
        install_command:
          type:
          - string
          - 'null'
          description: Installation command to install and setup repository.
        git_ref:
          type:
          - string
          - 'null'
          description: Optional git ref (branch or tag) to checkout. Defaults to the repository default branch.
        token:
          type:
          - string
          - 'null'
          description: The authentication token necessary to pull repo.
      required:
      - repo_name
      - repo_owner
    BlueprintBuildFailureReason:
      type: string
      enum:
      - out_of_memory
      - out_of_disk
      - build_failed
      description: 'The cause of the failure of the Blueprint build.


        out_of_memory: The build has run out of memory. Contact support if this is unexpected.

        out_of_disk: The build has run out of disk. Contact support if this is unexpected.

        build_failed: The build has failed. Use the dashboard to look at Blueprint build logs for more info.

        '
      x-enum-descriptions:
        out_of_memory: The build has run out of memory. Contact support if this is unexpected.
        out_of_disk: The build has run out of disk. Contact support if this is unexpected.
        build_failed: The build has failed. Use the dashboard to look at Blueprint build logs for more info.
    BlueprintBuildStatus:
      type: string
      enum:
      - queued
      - provisioning
      - building
      - failed
      - build_complete
      description: 'The status of the Blueprint build.


        queued: Blueprint is queued waiting for build capacity to become available.

        provisioning: Allocating and booting the necessary infrastructure resources to create the Blueprint image.

        building: Building the Blueprint image.

        failed: Blueprint image failed to build. See the logs on the dashboard.

        build_complete: Blueprint image completed build. You can now use the ID to create Devboxes.

        '
      x-enum-descriptions:
        queued: Blueprint is queued waiting for build capacity to become available.
        provisioning: Allocating and booting the necessary infrastructure resources to create the Blueprint image.
        building: Building the Blueprint image.
        failed: Blueprint image failed to build. See the logs on the dashboard.
        build_complete: Blueprint image completed build. You can now use the ID to create Devboxes.
    ObjectContext:
      type: object
      additionalProperties: false
      description: A build context backed by an Object.
      properties:
        object_id:
          type: string
          description: The ID of an object, whose contents are to be used as a build context.
        type:
          type: string
          enum:
          - object
          default: object
      required:
      - object_id
      - type
    UserParameters:
      type: object
      additionalProperties: false
      description: Configuration for the Linux user in the Devbox environment.
      properties:
        username:
          type: string
          description: Username for the Linux user.
        uid:
          type: integer
          format: int32
          description: User ID (UID) for the Linux user. Must be a non-negative integer.
      required:
      - username
      - uid
    Architecture:
      type: string
      enum:
      - x86_64
      - arm64
    ResumeTriggers:
      type: object
      additionalProperties: false
      description: Triggers that can resume a suspended Devbox.
      properties:
        http:
          type:
          - boolean
          - 'null'
          description: When true, HTTP traffic to a suspended Devbox via tunnel will trigger a resume.
        axon_event:
          type:
          - boolean
          - 'null'
          description: When true, axon events targeting a suspended Devbox will trigger a resume.
    BuildContext:
      oneOf:
      - $ref: '#/components/schemas/ObjectContext'
      discriminator:
        proper

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/runloop-ai/refs/heads/main/openapi/runloop-ai-blueprint-api-openapi.yml