Project Policy API
The project policy API is only available for Golem Cloud.
Project policies describe a set of actions one account can perform when it was associated with a grant for a project.
The following actions can be used in the projectActions fields of this API:
- ViewComponentgrants read access to a component
- CreateComponentallows creating new components in a project
- UpdateComponentallows uploading new versions for existing components in a project
- DeleteComponentallows deleting components from a project
- ViewWorkerallows querying existing workers of a component belonging to the project
- CreateWorkerallows launching new workers of a component in the project
- UpdateWorkerallows manipulating existing workers of a component belonging to the project
- DeleteWorkerallows deleting workers of a component belonging to the project
- ViewProjectGrantsallows listing the existing grants of the project
- CreateProjectGrantsallows creating new grants for the project
- DeleteProjectGrantsallows deleting existing grants of the project
Get a project policy
| Path | Method | Protected | 
|---|---|---|
| /v2/project-policies/{project_policy_id} | GET | Yes | 
Returns a given project policy by it's ID. Project policy identifiers are used in project grants.
Example Response JSON
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "projectActions": {
    "actions": ["ViewComponent"]
  }
}Create a project policy
| Path | Method | Protected | 
|---|---|---|
| /v2/project-policies | POST | Yes | 
Creates a new project policy and returns the object describing it, including the newly created policy's id.
Example Request JSON
{
  "name": "string",
  "projectActions": {
    "actions": ["ViewComponent"]
  }
}Example Response JSON
{
  "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  "name": "string",
  "projectActions": {
    "actions": ["ViewComponent"]
  }
}Project Policy API Errors
| Status Code | Description | Body | 
|---|---|---|
| 400 | Invalid request, returning with a list of issues detected in the request | {"errors":["string"]} | 
| 401 | Unauthorized | {"error":"string"} | 
| 404 | Project not found | {"error":"string"} | 
| 500 | Internal server error | {"error":"string"} |