Welcome to the new Golem Cloud Docs! 👋
Documentation
Project

Project API

Projects are groups of components and their workers, providing both a separate namespace for these entities and allows sharing between accounts.

Every account has a default project which is assumed when no specific project ID is passed in some component and worker related APIs.

Get the default project

PathMethodProtected
/v1/projects/defaultGETYes
  • name of the project can be used for lookup the project if the ID is now known
  • defaultEnvironmentId is currently always default
  • projectType is either Default

Example Response JSON

{
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "projectData": {
    "name": "string",
    "ownerAccountId": "string",
    "description": "string",
    "defaultEnvironmentId": "string",
    "projectType": "Default"
  }
}

List all projects

PathMethodProtected
/v1/projectsGETYes

Returns all projects of the account if no project-name is specified. Otherwise, returns all projects of the account that has the given name. As unique names are not enforced on the API level, the response may contain multiple entries.

Query Parameters

NameTypeRequiredDescription
project-namestringNoFilter by project name

Example Response JSON

[
  {
    "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
    "projectData": {
      "name": "string",
      "ownerAccountId": "string",
      "description": "string",
      "defaultEnvironmentId": "string",
      "projectType": "Default"
    }
  }
]

Create project

PathMethodProtected
/v1/projectsPOSTYes

Creates a new project. The ownerAccountId must be the caller's account ID.

Example Request JSON

{
  "name": "string",
  "ownerAccountId": "string",
  "description": "string"
}

Example Response JSON

{
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "projectData": {
    "name": "string",
    "ownerAccountId": "string",
    "description": "string",
    "defaultEnvironmentId": "string",
    "projectType": "Default"
  }
}

Get project by ID

PathMethodProtected
/v1/projects/{project_id}GETYes

Gets a project by its identifier. Response is the same as for the default project.

Example Response JSON

{
  "projectId": "5a8591dd-4039-49df-9202-96385ba3eff8",
  "projectData": {
    "name": "string",
    "ownerAccountId": "string",
    "description": "string",
    "defaultEnvironmentId": "string",
    "projectType": "Default"
  }
}

Delete project

PathMethodProtected
/v1/projects/{project_id}DELETEYes

Deletes a project given by its identifier.

Example Response JSON

{}

Get project actions

PathMethodProtected
/v1/projects/{project_id}/actionsGETYes

Returns a list of actions that can be performed on the project.

Example Response JSON

["ViewComponent"]

Gets the list of plugins installed for the given project

PathMethodProtected
/v1/projects/{project_id}/plugins/installsGETYes

Example Response JSON

[
  {
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "string",
    "version": "string",
    "priority": 0,
    "parameters": {
      "property1": "string",
      "property2": "string"
    }
  }
]

Installs a new plugin for this project

PathMethodProtected
/v1/projects/{project_id}/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",
  "name": "string",
  "version": "string",
  "priority": 0,
  "parameters": {
    "property1": "string",
    "property2": "string"
  }
}

Updates the priority or parameters of a plugin installation

PathMethodProtected
/v1/projects/{project_id}/plugins/installs/{installation_id}PUTYes

Example Request JSON

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

Example Response JSON

{}

Uninstalls a plugin from this project

PathMethodProtected
/v1/projects/{project_id}/latest/plugins/installs/{installation_id}DELETEYes

Example Response JSON

{}

Project API Errors

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