Welcome to the new Golem Cloud Docs! 👋
Component

Component API

Get the metadata for all component versions

PathMethodProtected
/v1/components/{component_id}GETYes

Each component can have multiple versions. Every time a new WASM is uploaded for a given component id, that creates a new version. This endpoint returns a list of all versions for the component id provided as part of the URL. Each element of the response describes a single version of a component, but does not contain the binary (WASM) itself:

  • versionedComponentId associates a specific version with the component id
  • componentName is the human-readable name of the component
  • componentSize is the WASM binary's size in bytes
  • metadata contains information extracted from the WASM itself
  • metadata.exports is a list of exported functions, including their parameter's and return value's types
  • metadata.producers is a list of producer information added by tooling, each consisting of a list of fields associating one or more values to a given key. This contains information about what compilers and other WASM related tools were used to construct the Golem component.

Example Response JSON

[
  {
    "versionedComponentId": {
      "componentId": "616ccd92-d666-4180-8349-8d125b269fac",
      "version": 0
    },
    "componentName": "string",
    "componentSize": 0,
    "metadata": {
      "exports": [
        {
          "type": "Function",
          "name": "string",
          "parameters": [
            {
              "name": "string",
              "typ": {
                "type": "Variant",
                "name": "string",
                "owner": "string",
                "cases": [
                  {
                    "name": "string",
                    "typ": {}
                  }
                ]
              }
            }
          ],
          "result": {
            "typ": {
              "type": "Variant",
              "name": "string",
              "owner": "string",
              "cases": [
                {
                  "name": "string",
                  "typ": {}
                }
              ]
            }
          }
        }
      ],
      "producers": [
        {
          "fields": [
            {
              "name": "string",
              "values": [
                {
                  "name": "string",
                  "version": "string"
                }
              ]
            }
          ]
        }
      ],
      "memories": [
        {
          "initial": 0,
          "maximum": 0
        }
      ],
      "binaryWit": "string",
      "rootPackageName": "string",
      "rootPackageVersion": "string",
      "dynamicLinking": {
        "property1": {
          "type": "WasmRpc",
          "targets": {
            "property1": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            },
            "property2": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            }
          }
        },
        "property2": {
          "type": "WasmRpc",
          "targets": {
            "property1": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            },
            "property2": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            }
          }
        }
      },
      "agentTypes": [
        {
          "typeName": "string",
          "description": "string",
          "constructor": {
            "name": "string",
            "description": "string",
            "promptHint": "string",
            "inputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            }
          },
          "methods": [
            {
              "name": "string",
              "description": "string",
              "promptHint": "string",
              "inputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              },
              "outputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              }
            }
          ],
          "dependencies": [
            {
              "typeName": "string",
              "description": "string",
              "constructor": {
                "name": "string",
                "description": "string",
                "promptHint": "string",
                "inputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                }
              },
              "methods": [
                {
                  "name": "string",
                  "description": "string",
                  "promptHint": "string",
                  "inputSchema": {
                    "type": "Multimodal",
                    "elements": [
                      {
                        "name": "string",
                        "schema": {
                          "type": "ComponentModel",
                          "elementType": {
                            "type": "Variant",
                            "name": "string",
                            "owner": "string",
                            "cases": [
                              null
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "outputSchema": {
                    "type": "Multimodal",
                    "elements": [
                      {
                        "name": "string",
                        "schema": {
                          "type": "ComponentModel",
                          "elementType": {
                            "type": "Variant",
                            "name": "string",
                            "owner": "string",
                            "cases": [
                              null
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "accountId": "string",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "createdAt": "2019-08-24T14:15:22Z",
    "componentType": "Durable",
    "files": [
      {
        "key": "string",
        "path": "string",
        "permissions": "read-only"
      }
    ],
    "installedPlugins": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "pluginName": "string",
        "pluginVersion": "string",
        "pluginRegistered": true,
        "priority": 0,
        "parameters": {
          "property1": "string",
          "property2": "string"
        }
      }
    ],
    "env": {
      "property1": "string",
      "property2": "string"
    }
  }
]

Update a component

PathMethodProtected
/v1/components/{component_id}/uploadPUTYes

Query Parameters

NameTypeRequiredDescription
component_type#/components/schemas/ComponentTypeNoType of the new version of the component - if not specified, the type of the previous version
is used.

Request Body: WASM Binary File

Make sure to include Content-Type: application/octet-stream Header

Example Response JSON

{
  "versionedComponentId": {
    "componentId": "616ccd92-d666-4180-8349-8d125b269fac",
    "version": 0
  },
  "componentName": "string",
  "componentSize": 0,
  "metadata": {
    "exports": [
      {
        "type": "Function",
        "name": "string",
        "parameters": [
          {
            "name": "string",
            "typ": {
              "type": "Variant",
              "name": "string",
              "owner": "string",
              "cases": [
                {
                  "name": "string",
                  "typ": {}
                }
              ]
            }
          }
        ],
        "result": {
          "typ": {
            "type": "Variant",
            "name": "string",
            "owner": "string",
            "cases": [
              {
                "name": "string",
                "typ": {}
              }
            ]
          }
        }
      }
    ],
    "producers": [
      {
        "fields": [
          {
            "name": "string",
            "values": [
              {
                "name": "string",
                "version": "string"
              }
            ]
          }
        ]
      }
    ],
    "memories": [
      {
        "initial": 0,
        "maximum": 0
      }
    ],
    "binaryWit": "string",
    "rootPackageName": "string",
    "rootPackageVersion": "string",
    "dynamicLinking": {
      "property1": {
        "type": "WasmRpc",
        "targets": {
          "property1": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          },
          "property2": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          }
        }
      },
      "property2": {
        "type": "WasmRpc",
        "targets": {
          "property1": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          },
          "property2": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          }
        }
      }
    },
    "agentTypes": [
      {
        "typeName": "string",
        "description": "string",
        "constructor": {
          "name": "string",
          "description": "string",
          "promptHint": "string",
          "inputSchema": {
            "type": "Multimodal",
            "elements": [
              {
                "name": "string",
                "schema": {
                  "type": "ComponentModel",
                  "elementType": {
                    "type": "Variant",
                    "name": "string",
                    "owner": "string",
                    "cases": [
                      {
                        "name": "string",
                        "typ": {}
                      }
                    ]
                  }
                }
              }
            ]
          }
        },
        "methods": [
          {
            "name": "string",
            "description": "string",
            "promptHint": "string",
            "inputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "outputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            }
          }
        ],
        "dependencies": [
          {
            "typeName": "string",
            "description": "string",
            "constructor": {
              "name": "string",
              "description": "string",
              "promptHint": "string",
              "inputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "methods": [
              {
                "name": "string",
                "description": "string",
                "promptHint": "string",
                "inputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                },
                "outputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    ]
  },
  "accountId": "string",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "createdAt": "2019-08-24T14:15:22Z",
  "componentType": "Durable",
  "files": [
    {
      "key": "string",
      "path": "string",
      "permissions": "read-only"
    }
  ],
  "installedPlugins": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "pluginName": "string",
      "pluginVersion": "string",
      "pluginRegistered": true,
      "priority": 0,
      "parameters": {
        "property1": "string",
        "property2": "string"
      }
    }
  ],
  "env": {
    "property1": "string",
    "property2": "string"
  }
}

Update a component

PathMethodProtected
/v1/components/{component_id}/updatesPOSTYes

Request Form: multipart/form-data

Make sure to include Content-Type: multipart/form-data Header

Field componentType: JSON

"Durable"

Field component: string binary

Field filesPermissions: JSON

{
  "values": [
    {
      "path": "string",
      "permissions": "read-only"
    }
  ]
}

Field files: string binary

Field dynamicLinking: JSON

{
  "dynamicLinking": {
    "property1": {
      "type": "WasmRpc",
      "targets": {
        "property1": {
          "interfaceName": "string",
          "componentName": "string",
          "componentType": "Durable"
        },
        "property2": {
          "interfaceName": "string",
          "componentName": "string",
          "componentType": "Durable"
        }
      }
    },
    "property2": {
      "type": "WasmRpc",
      "targets": {
        "property1": {
          "interfaceName": "string",
          "componentName": "string",
          "componentType": "Durable"
        },
        "property2": {
          "interfaceName": "string",
          "componentName": "string",
          "componentType": "Durable"
        }
      }
    }
  }
}

Field env: JSON

{
  "keyValues": {
    "property1": "string",
    "property2": "string"
  }
}

Field agentTypes: JSON

{
  "types": [
    {
      "typeName": "string",
      "description": "string",
      "constructor": {
        "name": "string",
        "description": "string",
        "promptHint": "string",
        "inputSchema": {
          "type": "Multimodal",
          "elements": [
            {
              "name": "string",
              "schema": {
                "type": "ComponentModel",
                "elementType": {
                  "type": "Variant",
                  "name": "string",
                  "owner": "string",
                  "cases": [
                    {
                      "name": "string",
                      "typ": {}
                    }
                  ]
                }
              }
            }
          ]
        }
      },
      "methods": [
        {
          "name": "string",
          "description": "string",
          "promptHint": "string",
          "inputSchema": {
            "type": "Multimodal",
            "elements": [
              {
                "name": "string",
                "schema": {
                  "type": "ComponentModel",
                  "elementType": {
                    "type": "Variant",
                    "name": "string",
                    "owner": "string",
                    "cases": [
                      {
                        "name": "string",
                        "typ": {}
                      }
                    ]
                  }
                }
              }
            ]
          },
          "outputSchema": {
            "type": "Multimodal",
            "elements": [
              {
                "name": "string",
                "schema": {
                  "type": "ComponentModel",
                  "elementType": {
                    "type": "Variant",
                    "name": "string",
                    "owner": "string",
                    "cases": [
                      {
                        "name": "string",
                        "typ": {}
                      }
                    ]
                  }
                }
              }
            ]
          }
        }
      ],
      "dependencies": [
        {
          "typeName": "string",
          "description": "string",
          "constructor": {
            "name": "string",
            "description": "string",
            "promptHint": "string",
            "inputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            }
          },
          "methods": [
            {
              "name": "string",
              "description": "string",
              "promptHint": "string",
              "inputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              },
              "outputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}

Example Response JSON

{
  "versionedComponentId": {
    "componentId": "616ccd92-d666-4180-8349-8d125b269fac",
    "version": 0
  },
  "componentName": "string",
  "componentSize": 0,
  "metadata": {
    "exports": [
      {
        "type": "Function",
        "name": "string",
        "parameters": [
          {
            "name": "string",
            "typ": {
              "type": "Variant",
              "name": "string",
              "owner": "string",
              "cases": [
                {
                  "name": "string",
                  "typ": {}
                }
              ]
            }
          }
        ],
        "result": {
          "typ": {
            "type": "Variant",
            "name": "string",
            "owner": "string",
            "cases": [
              {
                "name": "string",
                "typ": {}
              }
            ]
          }
        }
      }
    ],
    "producers": [
      {
        "fields": [
          {
            "name": "string",
            "values": [
              {
                "name": "string",
                "version": "string"
              }
            ]
          }
        ]
      }
    ],
    "memories": [
      {
        "initial": 0,
        "maximum": 0
      }
    ],
    "binaryWit": "string",
    "rootPackageName": "string",
    "rootPackageVersion": "string",
    "dynamicLinking": {
      "property1": {
        "type": "WasmRpc",
        "targets": {
          "property1": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          },
          "property2": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          }
        }
      },
      "property2": {
        "type": "WasmRpc",
        "targets": {
          "property1": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          },
          "property2": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          }
        }
      }
    },
    "agentTypes": [
      {
        "typeName": "string",
        "description": "string",
        "constructor": {
          "name": "string",
          "description": "string",
          "promptHint": "string",
          "inputSchema": {
            "type": "Multimodal",
            "elements": [
              {
                "name": "string",
                "schema": {
                  "type": "ComponentModel",
                  "elementType": {
                    "type": "Variant",
                    "name": "string",
                    "owner": "string",
                    "cases": [
                      {
                        "name": "string",
                        "typ": {}
                      }
                    ]
                  }
                }
              }
            ]
          }
        },
        "methods": [
          {
            "name": "string",
            "description": "string",
            "promptHint": "string",
            "inputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "outputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            }
          }
        ],
        "dependencies": [
          {
            "typeName": "string",
            "description": "string",
            "constructor": {
              "name": "string",
              "description": "string",
              "promptHint": "string",
              "inputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "methods": [
              {
                "name": "string",
                "description": "string",
                "promptHint": "string",
                "inputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                },
                "outputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    ]
  },
  "accountId": "string",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "createdAt": "2019-08-24T14:15:22Z",
  "componentType": "Durable",
  "files": [
    {
      "key": "string",
      "path": "string",
      "permissions": "read-only"
    }
  ],
  "installedPlugins": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "pluginName": "string",
      "pluginVersion": "string",
      "pluginRegistered": true,
      "priority": 0,
      "parameters": {
        "property1": "string",
        "property2": "string"
      }
    }
  ],
  "env": {
    "property1": "string",
    "property2": "string"
  }
}

Get all components

PathMethodProtected
/v1/componentsGETYes

Gets all components, optionally filtered by project and/or component name.

Query Parameters

NameTypeRequiredDescription
project-idstringNoProject ID to filter by
component-namestringNoComponent name to filter by

Example Response JSON

[
  {
    "versionedComponentId": {
      "componentId": "616ccd92-d666-4180-8349-8d125b269fac",
      "version": 0
    },
    "componentName": "string",
    "componentSize": 0,
    "metadata": {
      "exports": [
        {
          "type": "Function",
          "name": "string",
          "parameters": [
            {
              "name": "string",
              "typ": {
                "type": "Variant",
                "name": "string",
                "owner": "string",
                "cases": [
                  {
                    "name": "string",
                    "typ": {}
                  }
                ]
              }
            }
          ],
          "result": {
            "typ": {
              "type": "Variant",
              "name": "string",
              "owner": "string",
              "cases": [
                {
                  "name": "string",
                  "typ": {}
                }
              ]
            }
          }
        }
      ],
      "producers": [
        {
          "fields": [
            {
              "name": "string",
              "values": [
                {
                  "name": "string",
                  "version": "string"
                }
              ]
            }
          ]
        }
      ],
      "memories": [
        {
          "initial": 0,
          "maximum": 0
        }
      ],
      "binaryWit": "string",
      "rootPackageName": "string",
      "rootPackageVersion": "string",
      "dynamicLinking": {
        "property1": {
          "type": "WasmRpc",
          "targets": {
            "property1": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            },
            "property2": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            }
          }
        },
        "property2": {
          "type": "WasmRpc",
          "targets": {
            "property1": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            },
            "property2": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            }
          }
        }
      },
      "agentTypes": [
        {
          "typeName": "string",
          "description": "string",
          "constructor": {
            "name": "string",
            "description": "string",
            "promptHint": "string",
            "inputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            }
          },
          "methods": [
            {
              "name": "string",
              "description": "string",
              "promptHint": "string",
              "inputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              },
              "outputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              }
            }
          ],
          "dependencies": [
            {
              "typeName": "string",
              "description": "string",
              "constructor": {
                "name": "string",
                "description": "string",
                "promptHint": "string",
                "inputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                }
              },
              "methods": [
                {
                  "name": "string",
                  "description": "string",
                  "promptHint": "string",
                  "inputSchema": {
                    "type": "Multimodal",
                    "elements": [
                      {
                        "name": "string",
                        "schema": {
                          "type": "ComponentModel",
                          "elementType": {
                            "type": "Variant",
                            "name": "string",
                            "owner": "string",
                            "cases": [
                              null
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "outputSchema": {
                    "type": "Multimodal",
                    "elements": [
                      {
                        "name": "string",
                        "schema": {
                          "type": "ComponentModel",
                          "elementType": {
                            "type": "Variant",
                            "name": "string",
                            "owner": "string",
                            "cases": [
                              null
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "accountId": "string",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "createdAt": "2019-08-24T14:15:22Z",
    "componentType": "Durable",
    "files": [
      {
        "key": "string",
        "path": "string",
        "permissions": "read-only"
      }
    ],
    "installedPlugins": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "pluginName": "string",
        "pluginVersion": "string",
        "pluginRegistered": true,
        "priority": 0,
        "parameters": {
          "property1": "string",
          "property2": "string"
        }
      }
    ],
    "env": {
      "property1": "string",
      "property2": "string"
    }
  }
]

Create a new component

PathMethodProtected
/v1/componentsPOSTYes

The request body is encoded as multipart/form-data containing metadata and the WASM binary. If the component type is not specified, it will be considered as a Durable component.

Request Form: multipart/form-data

Make sure to include Content-Type: multipart/form-data Header

Field query: JSON

{
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "componentName": "string"
}

Field component: string binary

Field componentType: JSON

"Durable"

Field filesPermissions: JSON

{
  "values": [
    {
      "path": "string",
      "permissions": "read-only"
    }
  ]
}

Field files: string binary

Field dynamicLinking: JSON

{
  "dynamicLinking": {
    "property1": {
      "type": "WasmRpc",
      "targets": {
        "property1": {
          "interfaceName": "string",
          "componentName": "string",
          "componentType": "Durable"
        },
        "property2": {
          "interfaceName": "string",
          "componentName": "string",
          "componentType": "Durable"
        }
      }
    },
    "property2": {
      "type": "WasmRpc",
      "targets": {
        "property1": {
          "interfaceName": "string",
          "componentName": "string",
          "componentType": "Durable"
        },
        "property2": {
          "interfaceName": "string",
          "componentName": "string",
          "componentType": "Durable"
        }
      }
    }
  }
}

Field env: JSON

{
  "keyValues": {
    "property1": "string",
    "property2": "string"
  }
}

Field agentTypes: JSON

{
  "types": [
    {
      "typeName": "string",
      "description": "string",
      "constructor": {
        "name": "string",
        "description": "string",
        "promptHint": "string",
        "inputSchema": {
          "type": "Multimodal",
          "elements": [
            {
              "name": "string",
              "schema": {
                "type": "ComponentModel",
                "elementType": {
                  "type": "Variant",
                  "name": "string",
                  "owner": "string",
                  "cases": [
                    {
                      "name": "string",
                      "typ": {}
                    }
                  ]
                }
              }
            }
          ]
        }
      },
      "methods": [
        {
          "name": "string",
          "description": "string",
          "promptHint": "string",
          "inputSchema": {
            "type": "Multimodal",
            "elements": [
              {
                "name": "string",
                "schema": {
                  "type": "ComponentModel",
                  "elementType": {
                    "type": "Variant",
                    "name": "string",
                    "owner": "string",
                    "cases": [
                      {
                        "name": "string",
                        "typ": {}
                      }
                    ]
                  }
                }
              }
            ]
          },
          "outputSchema": {
            "type": "Multimodal",
            "elements": [
              {
                "name": "string",
                "schema": {
                  "type": "ComponentModel",
                  "elementType": {
                    "type": "Variant",
                    "name": "string",
                    "owner": "string",
                    "cases": [
                      {
                        "name": "string",
                        "typ": {}
                      }
                    ]
                  }
                }
              }
            ]
          }
        }
      ],
      "dependencies": [
        {
          "typeName": "string",
          "description": "string",
          "constructor": {
            "name": "string",
            "description": "string",
            "promptHint": "string",
            "inputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            }
          },
          "methods": [
            {
              "name": "string",
              "description": "string",
              "promptHint": "string",
              "inputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              },
              "outputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              }
            }
          ]
        }
      ]
    }
  ]
}

Example Response JSON

{
  "versionedComponentId": {
    "componentId": "616ccd92-d666-4180-8349-8d125b269fac",
    "version": 0
  },
  "componentName": "string",
  "componentSize": 0,
  "metadata": {
    "exports": [
      {
        "type": "Function",
        "name": "string",
        "parameters": [
          {
            "name": "string",
            "typ": {
              "type": "Variant",
              "name": "string",
              "owner": "string",
              "cases": [
                {
                  "name": "string",
                  "typ": {}
                }
              ]
            }
          }
        ],
        "result": {
          "typ": {
            "type": "Variant",
            "name": "string",
            "owner": "string",
            "cases": [
              {
                "name": "string",
                "typ": {}
              }
            ]
          }
        }
      }
    ],
    "producers": [
      {
        "fields": [
          {
            "name": "string",
            "values": [
              {
                "name": "string",
                "version": "string"
              }
            ]
          }
        ]
      }
    ],
    "memories": [
      {
        "initial": 0,
        "maximum": 0
      }
    ],
    "binaryWit": "string",
    "rootPackageName": "string",
    "rootPackageVersion": "string",
    "dynamicLinking": {
      "property1": {
        "type": "WasmRpc",
        "targets": {
          "property1": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          },
          "property2": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          }
        }
      },
      "property2": {
        "type": "WasmRpc",
        "targets": {
          "property1": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          },
          "property2": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          }
        }
      }
    },
    "agentTypes": [
      {
        "typeName": "string",
        "description": "string",
        "constructor": {
          "name": "string",
          "description": "string",
          "promptHint": "string",
          "inputSchema": {
            "type": "Multimodal",
            "elements": [
              {
                "name": "string",
                "schema": {
                  "type": "ComponentModel",
                  "elementType": {
                    "type": "Variant",
                    "name": "string",
                    "owner": "string",
                    "cases": [
                      {
                        "name": "string",
                        "typ": {}
                      }
                    ]
                  }
                }
              }
            ]
          }
        },
        "methods": [
          {
            "name": "string",
            "description": "string",
            "promptHint": "string",
            "inputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "outputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            }
          }
        ],
        "dependencies": [
          {
            "typeName": "string",
            "description": "string",
            "constructor": {
              "name": "string",
              "description": "string",
              "promptHint": "string",
              "inputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "methods": [
              {
                "name": "string",
                "description": "string",
                "promptHint": "string",
                "inputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                },
                "outputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    ]
  },
  "accountId": "string",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "createdAt": "2019-08-24T14:15:22Z",
  "componentType": "Durable",
  "files": [
    {
      "key": "string",
      "path": "string",
      "permissions": "read-only"
    }
  ],
  "installedPlugins": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "pluginName": "string",
      "pluginVersion": "string",
      "pluginRegistered": true,
      "priority": 0,
      "parameters": {
        "property1": "string",
        "property2": "string"
      }
    }
  ],
  "env": {
    "property1": "string",
    "property2": "string"
  }
}

Download a component

PathMethodProtected
/v1/components/{component_id}/downloadGETYes

Downloads a specific version of the component's WASM.

Query Parameters

NameTypeRequiredDescription
versionintegerNo-

Response Body: WASM Binary File

Get the version of a given component

PathMethodProtected
/v1/components/{component_id}/versions/{version}GETYes

Gets the version of a component.

Example Response JSON

{
  "versionedComponentId": {
    "componentId": "616ccd92-d666-4180-8349-8d125b269fac",
    "version": 0
  },
  "componentName": "string",
  "componentSize": 0,
  "metadata": {
    "exports": [
      {
        "type": "Function",
        "name": "string",
        "parameters": [
          {
            "name": "string",
            "typ": {
              "type": "Variant",
              "name": "string",
              "owner": "string",
              "cases": [
                {
                  "name": "string",
                  "typ": {}
                }
              ]
            }
          }
        ],
        "result": {
          "typ": {
            "type": "Variant",
            "name": "string",
            "owner": "string",
            "cases": [
              {
                "name": "string",
                "typ": {}
              }
            ]
          }
        }
      }
    ],
    "producers": [
      {
        "fields": [
          {
            "name": "string",
            "values": [
              {
                "name": "string",
                "version": "string"
              }
            ]
          }
        ]
      }
    ],
    "memories": [
      {
        "initial": 0,
        "maximum": 0
      }
    ],
    "binaryWit": "string",
    "rootPackageName": "string",
    "rootPackageVersion": "string",
    "dynamicLinking": {
      "property1": {
        "type": "WasmRpc",
        "targets": {
          "property1": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          },
          "property2": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          }
        }
      },
      "property2": {
        "type": "WasmRpc",
        "targets": {
          "property1": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          },
          "property2": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          }
        }
      }
    },
    "agentTypes": [
      {
        "typeName": "string",
        "description": "string",
        "constructor": {
          "name": "string",
          "description": "string",
          "promptHint": "string",
          "inputSchema": {
            "type": "Multimodal",
            "elements": [
              {
                "name": "string",
                "schema": {
                  "type": "ComponentModel",
                  "elementType": {
                    "type": "Variant",
                    "name": "string",
                    "owner": "string",
                    "cases": [
                      {
                        "name": "string",
                        "typ": {}
                      }
                    ]
                  }
                }
              }
            ]
          }
        },
        "methods": [
          {
            "name": "string",
            "description": "string",
            "promptHint": "string",
            "inputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "outputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            }
          }
        ],
        "dependencies": [
          {
            "typeName": "string",
            "description": "string",
            "constructor": {
              "name": "string",
              "description": "string",
              "promptHint": "string",
              "inputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "methods": [
              {
                "name": "string",
                "description": "string",
                "promptHint": "string",
                "inputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                },
                "outputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    ]
  },
  "accountId": "string",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "createdAt": "2019-08-24T14:15:22Z",
  "componentType": "Durable",
  "files": [
    {
      "key": "string",
      "path": "string",
      "permissions": "read-only"
    }
  ],
  "installedPlugins": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "pluginName": "string",
      "pluginVersion": "string",
      "pluginRegistered": true,
      "priority": 0,
      "parameters": {
        "property1": "string",
        "property2": "string"
      }
    }
  ],
  "env": {
    "property1": "string",
    "property2": "string"
  }
}

Get the latest version of a given component

PathMethodProtected
/v1/components/{component_id}/latestGETYes

Gets the latest version of a component.

Example Response JSON

{
  "versionedComponentId": {
    "componentId": "616ccd92-d666-4180-8349-8d125b269fac",
    "version": 0
  },
  "componentName": "string",
  "componentSize": 0,
  "metadata": {
    "exports": [
      {
        "type": "Function",
        "name": "string",
        "parameters": [
          {
            "name": "string",
            "typ": {
              "type": "Variant",
              "name": "string",
              "owner": "string",
              "cases": [
                {
                  "name": "string",
                  "typ": {}
                }
              ]
            }
          }
        ],
        "result": {
          "typ": {
            "type": "Variant",
            "name": "string",
            "owner": "string",
            "cases": [
              {
                "name": "string",
                "typ": {}
              }
            ]
          }
        }
      }
    ],
    "producers": [
      {
        "fields": [
          {
            "name": "string",
            "values": [
              {
                "name": "string",
                "version": "string"
              }
            ]
          }
        ]
      }
    ],
    "memories": [
      {
        "initial": 0,
        "maximum": 0
      }
    ],
    "binaryWit": "string",
    "rootPackageName": "string",
    "rootPackageVersion": "string",
    "dynamicLinking": {
      "property1": {
        "type": "WasmRpc",
        "targets": {
          "property1": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          },
          "property2": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          }
        }
      },
      "property2": {
        "type": "WasmRpc",
        "targets": {
          "property1": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          },
          "property2": {
            "interfaceName": "string",
            "componentName": "string",
            "componentType": "Durable"
          }
        }
      }
    },
    "agentTypes": [
      {
        "typeName": "string",
        "description": "string",
        "constructor": {
          "name": "string",
          "description": "string",
          "promptHint": "string",
          "inputSchema": {
            "type": "Multimodal",
            "elements": [
              {
                "name": "string",
                "schema": {
                  "type": "ComponentModel",
                  "elementType": {
                    "type": "Variant",
                    "name": "string",
                    "owner": "string",
                    "cases": [
                      {
                        "name": "string",
                        "typ": {}
                      }
                    ]
                  }
                }
              }
            ]
          }
        },
        "methods": [
          {
            "name": "string",
            "description": "string",
            "promptHint": "string",
            "inputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            },
            "outputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            }
          }
        ],
        "dependencies": [
          {
            "typeName": "string",
            "description": "string",
            "constructor": {
              "name": "string",
              "description": "string",
              "promptHint": "string",
              "inputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              }
            },
            "methods": [
              {
                "name": "string",
                "description": "string",
                "promptHint": "string",
                "inputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                },
                "outputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    ]
  },
  "accountId": "string",
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "createdAt": "2019-08-24T14:15:22Z",
  "componentType": "Durable",
  "files": [
    {
      "key": "string",
      "path": "string",
      "permissions": "read-only"
    }
  ],
  "installedPlugins": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "pluginName": "string",
      "pluginVersion": "string",
      "pluginRegistered": true,
      "priority": 0,
      "parameters": {
        "property1": "string",
        "property2": "string"
      }
    }
  ],
  "env": {
    "property1": "string",
    "property2": "string"
  }
}

undefined

PathMethodProtected
/v1/components/searchPOSTYes

Example Request JSON

{
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "components": [
    {
      "name": "string",
      "version": 0
    }
  ]
}

Example Response JSON

[
  {
    "versionedComponentId": {
      "componentId": "616ccd92-d666-4180-8349-8d125b269fac",
      "version": 0
    },
    "componentName": "string",
    "componentSize": 0,
    "metadata": {
      "exports": [
        {
          "type": "Function",
          "name": "string",
          "parameters": [
            {
              "name": "string",
              "typ": {
                "type": "Variant",
                "name": "string",
                "owner": "string",
                "cases": [
                  {
                    "name": "string",
                    "typ": {}
                  }
                ]
              }
            }
          ],
          "result": {
            "typ": {
              "type": "Variant",
              "name": "string",
              "owner": "string",
              "cases": [
                {
                  "name": "string",
                  "typ": {}
                }
              ]
            }
          }
        }
      ],
      "producers": [
        {
          "fields": [
            {
              "name": "string",
              "values": [
                {
                  "name": "string",
                  "version": "string"
                }
              ]
            }
          ]
        }
      ],
      "memories": [
        {
          "initial": 0,
          "maximum": 0
        }
      ],
      "binaryWit": "string",
      "rootPackageName": "string",
      "rootPackageVersion": "string",
      "dynamicLinking": {
        "property1": {
          "type": "WasmRpc",
          "targets": {
            "property1": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            },
            "property2": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            }
          }
        },
        "property2": {
          "type": "WasmRpc",
          "targets": {
            "property1": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            },
            "property2": {
              "interfaceName": "string",
              "componentName": "string",
              "componentType": "Durable"
            }
          }
        }
      },
      "agentTypes": [
        {
          "typeName": "string",
          "description": "string",
          "constructor": {
            "name": "string",
            "description": "string",
            "promptHint": "string",
            "inputSchema": {
              "type": "Multimodal",
              "elements": [
                {
                  "name": "string",
                  "schema": {
                    "type": "ComponentModel",
                    "elementType": {
                      "type": "Variant",
                      "name": "string",
                      "owner": "string",
                      "cases": [
                        {
                          "name": "string",
                          "typ": {}
                        }
                      ]
                    }
                  }
                }
              ]
            }
          },
          "methods": [
            {
              "name": "string",
              "description": "string",
              "promptHint": "string",
              "inputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              },
              "outputSchema": {
                "type": "Multimodal",
                "elements": [
                  {
                    "name": "string",
                    "schema": {
                      "type": "ComponentModel",
                      "elementType": {
                        "type": "Variant",
                        "name": "string",
                        "owner": "string",
                        "cases": [
                          {
                            "name": "string",
                            "typ": {}
                          }
                        ]
                      }
                    }
                  }
                ]
              }
            }
          ],
          "dependencies": [
            {
              "typeName": "string",
              "description": "string",
              "constructor": {
                "name": "string",
                "description": "string",
                "promptHint": "string",
                "inputSchema": {
                  "type": "Multimodal",
                  "elements": [
                    {
                      "name": "string",
                      "schema": {
                        "type": "ComponentModel",
                        "elementType": {
                          "type": "Variant",
                          "name": "string",
                          "owner": "string",
                          "cases": [
                            {}
                          ]
                        }
                      }
                    }
                  ]
                }
              },
              "methods": [
                {
                  "name": "string",
                  "description": "string",
                  "promptHint": "string",
                  "inputSchema": {
                    "type": "Multimodal",
                    "elements": [
                      {
                        "name": "string",
                        "schema": {
                          "type": "ComponentModel",
                          "elementType": {
                            "type": "Variant",
                            "name": "string",
                            "owner": "string",
                            "cases": [
                              null
                            ]
                          }
                        }
                      }
                    ]
                  },
                  "outputSchema": {
                    "type": "Multimodal",
                    "elements": [
                      {
                        "name": "string",
                        "schema": {
                          "type": "ComponentModel",
                          "elementType": {
                            "type": "Variant",
                            "name": "string",
                            "owner": "string",
                            "cases": [
                              null
                            ]
                          }
                        }
                      }
                    ]
                  }
                }
              ]
            }
          ]
        }
      ]
    },
    "accountId": "string",
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "createdAt": "2019-08-24T14:15:22Z",
    "componentType": "Durable",
    "files": [
      {
        "key": "string",
        "path": "string",
        "permissions": "read-only"
      }
    ],
    "installedPlugins": [
      {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "pluginName": "string",
        "pluginVersion": "string",
        "pluginRegistered": true,
        "priority": 0,
        "parameters": {
          "property1": "string",
          "property2": "string"
        }
      }
    ],
    "env": {
      "property1": "string",
      "property2": "string"
    }
  }
]

Gets the list of plugins installed for the given component version

PathMethodProtected
/v1/components/{component_id}/versions/{version}/plugins/installsGETYes

Example Response JSON

[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "pluginName": "string",
    "pluginVersion": "string",
    "pluginRegistered": true,
    "priority": 0,
    "parameters": {
      "property1": "string",
      "property2": "string"
    }
  }
]

Installs a new plugin for this component

PathMethodProtected
/v1/components/{component_id}/latest/plugins/installsPOSTYes

Example Request JSON

{
  "name": "string",
  "version": "string",
  "priority": 0,
  "parameters": {
    "property1": "string",
    "property2": "string"
  }
}

Example Response JSON

{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "pluginName": "string",
  "pluginVersion": "string",
  "pluginRegistered": true,
  "priority": 0,
  "parameters": {
    "property1": "string",
    "property2": "string"
  }
}

Updates the priority or parameters of a plugin installation

PathMethodProtected
/v1/components/{component_id}/versions/latest/plugins/installs/{installation_id}PUTYes

Example Request JSON

{
  "priority": 0,
  "parameters": {
    "property1": "string",
    "property2": "string"
  }
}

Example Response JSON

{}

Uninstalls a plugin from this component

PathMethodProtected
/v1/components/{component_id}/latest/plugins/installs/{installation_id}DELETEYes

Example Response JSON

{}

Applies a batch of changes to the installed plugins of a component

PathMethodProtected
/v1/components/{component_id}/versions/latest/plugins/installs/batchPOSTYes

Example Request JSON

{
  "actions": [
    {
      "type": "Install",
      "name": "string",
      "version": "string",
      "priority": 0,
      "parameters": {
        "property1": "string",
        "property2": "string"
      }
    }
  ]
}

Example Response JSON

{}

Download file in a Component

PathMethodProtected
/v1/components/{component_id}/versions/{version}/file-contents/{file_path}GETYes

Response Body: WASM Binary File

Component API Errors

Status CodeDescriptionBody
400Invalid request, returning with a list of issues detected in the request{"errors":["string"]}
401Unauthorized{"error":"string"}
403Maximum number of components exceeded{"error":"string"}
404Component not found{"error":"string"}
409Component already exists{"error":"string"}
500Internal server error{"error":"string"}