Depot BuildKitService API

Acquire a low-level BuildKit machine connection (depot.buildkit.v1.BuildKitService).

OpenAPI Specification

depot-dev-buildkitservice-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: Depot BuildKitService API
  description: HTTP/JSON view of the Depot API. Depot's API is built on Connect, which offers multiprotocol support for gRPC, gRPC-Web, and HTTP/JSON over the same services. Each remote procedure call (RPC) is invoked as an HTTP POST to a path of the form /{package}.{Service}/{Method}, with a JSON request body and a JSON response body. This document models the documented services for managing projects, project tokens, builds, and BuildKit connections. All requests are authenticated with a Bearer token (an organization API token, user token, or project token) in the Authorization header.
  termsOfService: https://depot.dev/terms
  contact:
    name: Depot Support
    url: https://depot.dev/docs
    email: help@depot.dev
  version: '1.0'
servers:
- url: https://api.depot.dev
security:
- bearerAuth: []
tags:
- name: BuildKitService
  description: Acquire a low-level BuildKit machine connection (depot.buildkit.v1.BuildKitService).
paths:
  /depot.buildkit.v1.BuildKitService/GetEndpoint:
    post:
      operationId: getEndpoint
      tags:
      - BuildKitService
      summary: Acquire a BuildKit machine endpoint for a build.
      description: Returns a lower-level BuildKit connection (endpoint plus TLS material) for advanced use cases that drive BuildKit directly. Authenticated with the one-time build token returned by CreateBuild.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetEndpointRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetEndpointResponse'
components:
  schemas:
    GetEndpointRequest:
      type: object
      required:
      - buildId
      properties:
        buildId:
          type: string
        platform:
          type: string
          enum:
          - PLATFORM_UNSPECIFIED
          - PLATFORM_AMD64
          - PLATFORM_ARM64
    GetEndpointResponse:
      type: object
      description: Streaming response in the gRPC/Connect API; modeled here as the active endpoint message containing the BuildKit connection details.
      properties:
        endpoint:
          type: string
          description: BuildKit machine endpoint address.
        serverName:
          type: string
        cert:
          type: object
          properties:
            cert:
              type: string
            key:
              type: string
        caCert:
          type: object
          properties:
            cert:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A Depot token in the Authorization header as "Bearer {token}". Use an organization API token or user token for project/build management, and a one-time build token (from CreateBuild) for BuildKit endpoint calls.