Golem Component API

WebAssembly component registry operations.

Operations 7

POST /v1/envs/{environment_id}/components Create a new component in the environment #
GET /v1/envs/{environment_id}/components List all components in the environment #
GET /v1/envs/{environment_id}/components/{component_name} Get a component in the environment by name #
GET /v1/components/{component_id} Get the latest version of a component by id #
PATCH /v1/components/{component_id} Update a component with a new version #
DELETE /v1/components/{component_id} Delete a component #
GET /v1/components/{component_id}/revisions/{revision}/wasm Download the WASM binary of a specific component revision #

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/golem-cloud-component-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

golem-cloud-component-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Golem Cloud ApiDefinition Component API
  description: REST API for the Golem durable computing platform. Manage WebAssembly components, launch and invoke durable workers, define and deploy custom HTTP APIs (the Worker Gateway), and manage plugins. The same API is served by the open-source self-hosted Golem and by the managed Golem Cloud hosted service. Authenticate with a bearer token created from your account.
  termsOfService: https://www.golem.cloud/terms
  contact:
    name: Golem Cloud Support
    url: https://learn.golem.cloud
  license:
    name: BUSL-1.1
    url: https://github.com/golemcloud/golem/blob/main/LICENSE
  version: '1.0'
servers:
- url: https://release.api.golem.cloud
  description: Golem Cloud managed hosted service
- url: http://localhost:9881
  description: Local self-hosted Golem (default worker/registry service port)
security:
- Token: []
tags:
- name: Component
  description: WebAssembly component registry operations.
paths:
  /v1/envs/{environment_id}/components:
    post:
      tags:
      - Component
      operationId: createComponent
      summary: Create a new component in the environment
      description: Uploads a new WebAssembly component into the given environment.
      parameters:
      - $ref: '#/components/parameters/EnvironmentId'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                name:
                  type: string
                component:
                  type: string
                  format: binary
      responses:
        '200':
          description: The created component metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Component'
        '400':
          $ref: '#/components/responses/Error'
    get:
      tags:
      - Component
      operationId: listEnvironmentComponents
      summary: List all components in the environment
      parameters:
      - $ref: '#/components/parameters/EnvironmentId'
      responses:
        '200':
          description: A list of components.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Component'
  /v1/envs/{environment_id}/components/{component_name}:
    get:
      tags:
      - Component
      operationId: getComponentByName
      summary: Get a component in the environment by name
      parameters:
      - $ref: '#/components/parameters/EnvironmentId'
      - name: component_name
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The component metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Component'
  /v1/components/{component_id}:
    get:
      tags:
      - Component
      operationId: getComponent
      summary: Get the latest version of a component by id
      parameters:
      - $ref: '#/components/parameters/ComponentId'
      responses:
        '200':
          description: The component metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Component'
    patch:
      tags:
      - Component
      operationId: updateComponent
      summary: Update a component with a new version
      parameters:
      - $ref: '#/components/parameters/ComponentId'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                component:
                  type: string
                  format: binary
      responses:
        '200':
          description: The updated component metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Component'
    delete:
      tags:
      - Component
      operationId: deleteComponent
      summary: Delete a component
      parameters:
      - $ref: '#/components/parameters/ComponentId'
      responses:
        '200':
          description: Component deleted.
  /v1/components/{component_id}/revisions/{revision}/wasm:
    get:
      tags:
      - Component
      operationId: downloadComponentWasm
      summary: Download the WASM binary of a specific component revision
      parameters:
      - $ref: '#/components/parameters/ComponentId'
      - name: revision
        in: path
        required: true
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: The WASM binary.
          content:
            application/octet-stream:
              schema:
                type: string
                format: binary
components:
  responses:
    Error:
      description: An error response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/GolemError'
  parameters:
    EnvironmentId:
      name: environment_id
      in: path
      required: true
      schema:
        type: string
        format: uuid
    ComponentId:
      name: component_id
      in: path
      required: true
      schema:
        type: string
        format: uuid
  schemas:
    GolemError:
      type: object
      properties:
        error:
          type: string
    Component:
      type: object
      properties:
        componentId:
          type: string
          format: uuid
        componentName:
          type: string
        componentVersion:
          type: integer
          format: int64
        componentSize:
          type: integer
          format: int64
        createdAt:
          type: string
          format: date-time
  securitySchemes:
    Token:
      type: http
      scheme: bearer
      description: Bearer token created for your Golem account. Pass it in the Authorization header as `Bearer <token>`.