Key Value API
1
4fbf02fc-0329-4291-aac3-0143969167c4
Promise API
2
4fbf02fc-0329-4291-aac3-0143969167c4
Worker API
8
fc0b5887-cca5-4261-b6b7-73711f6f23b0
Token API
7
fc0b5887-cca5-4261-b6b7-73711f6f23b0
Template API
6
fc0b5887-cca5-4261-b6b7-73711f6f23b0
Project policy API
5
fc0b5887-cca5-4261-b6b7-73711f6f23b0
Project grant API
4
fc0b5887-cca5-4261-b6b7-73711f6f23b0
Project API
3
fc0b5887-cca5-4261-b6b7-73711f6f23b0
Login API
2
fc0b5887-cca5-4261-b6b7-73711f6f23b0
Account API
1
fc0b5887-cca5-4261-b6b7-73711f6f23b0
Breaking changes August 2023
1
726cfb0b-bffe-41ba-98b4-94069569ec3c
Overview
0
726cfb0b-bffe-41ba-98b4-94069569ec3c
Tier 4 languages
4
03501aa5-572b-4129-aa0a-9e9fe9f5d3fc
Python
4
54bda586-0bf3-430e-93e5-6d8c578372bd
Overview
0
ac8f610e-7e8f-465d-9e32-4b6ae0aba3b5
Overview
0
0f58ad57-8cb7-4a64-8aed-c7bea90c37f9
Overview
0
03501aa5-572b-4129-aa0a-9e9fe9f5d3fc
Overview
0
54bda586-0bf3-430e-93e5-6d8c578372bd
Overview
0
9b92ca64-009f-47e8-9457-b544f786d8af
Quickstart
2
1d167981-dd90-40ab-8023-3b2013ceb5c5
Overview
0
1aa11fd4-1dcf-4c87-8b46-5c15ca815d61
Overview
0
4fbf02fc-0329-4291-aac3-0143969167c4
Overview
0
d0be080a-56f4-481a-91d3-ba7d30c144f4
Common tooling
1
03501aa5-572b-4129-aa0a-9e9fe9f5d3fc
C
3
54bda586-0bf3-430e-93e5-6d8c578372bd
Go
2
54bda586-0bf3-430e-93e5-6d8c578372bd
Grain
3
9b92ca64-009f-47e8-9457-b544f786d8af
Swift
1
9b92ca64-009f-47e8-9457-b544f786d8af
C#
3
9b92ca64-009f-47e8-9457-b544f786d8af
Zig
2
9b92ca64-009f-47e8-9457-b544f786d8af
Rust
1
54bda586-0bf3-430e-93e5-6d8c578372bd
Overview
0
fc0b5887-cca5-4261-b6b7-73711f6f23b0
Overview
0
62133a19-c114-4a29-a74b-f986d118e157
Why Golem?
1
1d167981-dd90-40ab-8023-3b2013ceb5c5
Overview
0
1d167981-dd90-40ab-8023-3b2013ceb5c5
API Gateway
308adf1f-525e-460e-81c9-6ea00d1dbca4
d0be080a-56f4-481a-91d3-ba7d30c144f4
4
Release notes
726cfb0b-bffe-41ba-98b4-94069569ec3c
d0be080a-56f4-481a-91d3-ba7d30c144f4
9
Component interface
ac8f610e-7e8f-465d-9e32-4b6ae0aba3b5
d0be080a-56f4-481a-91d3-ba7d30c144f4
7
Getting Started
1d167981-dd90-40ab-8023-3b2013ceb5c5
d0be080a-56f4-481a-91d3-ba7d30c144f4
1
Building Components
03501aa5-572b-4129-aa0a-9e9fe9f5d3fc
d0be080a-56f4-481a-91d3-ba7d30c144f4
2
Tier 2 languages
54bda586-0bf3-430e-93e5-6d8c578372bd
03501aa5-572b-4129-aa0a-9e9fe9f5d3fc
2
Promises
62133a19-c114-4a29-a74b-f986d118e157
d0be080a-56f4-481a-91d3-ba7d30c144f4
3
Tier 3 languages
9b92ca64-009f-47e8-9457-b544f786d8af
03501aa5-572b-4129-aa0a-9e9fe9f5d3fc
3
Golem CLI
1aa11fd4-1dcf-4c87-8b46-5c15ca815d61
d0be080a-56f4-481a-91d3-ba7d30c144f4
4
REST API
fc0b5887-cca5-4261-b6b7-73711f6f23b0
d0be080a-56f4-481a-91d3-ba7d30c144f4
5
Runtime API
4fbf02fc-0329-4291-aac3-0143969167c4
d0be080a-56f4-481a-91d3-ba7d30c144f4
6
FAQ
0f58ad57-8cb7-4a64-8aed-c7bea90c37f9
d0be080a-56f4-481a-91d3-ba7d30c144f4
7

Project policy API

fc0b5887-cca5-4261-b6b7-73711f6f23b0

Project policy API

Summary

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:

  • ViewComponent grants read access to a template
  • CreateComponent allows creating new templates in a project
  • UpdateComponent allows uploading new versions for existing templates in a project
  • DeleteComponent allows deleting templates from a project
  • ViewInstance allows querying existing workers of a template belonging to the project
  • CreateInstance allows launching new workers of a template in the project
  • UpdateInstance allows manipulating existing workers of a template belonging to the project
  • DeleteInstance allows deleting workers of a template belonging to the project
  • ViewProjectGrants allows listing the existing grants of the project
  • CreateProjectGrants allows creating new grants for the project
  • DeleteProjectGrants allows deleting existing grants of the project

Get a project policy

MethodPathRequestResponse
GET/v1/project-policies/{project-policy-id}-ProjectPolicy JSON

Response format:

{

"id": "2b41858e-a327-4e63-9539-ff9b123c88a2",

"name": "a policy",

"projectActions": ["ViewComponent", "ViewInstance"]

}

Explanation

Returns a given project policy by it’s ID. Project policy identifiers are used in project grants.

Example cURL:

curl 'https://release.api.golem.cloud/v1/project-policies/2b41858e-a327-4e63-9539-ff9b123c88a2'

-H 'Authorization: Bearer 03f17466-202f-43ac-86cc-52e6c6a42d2d'

Create project policy

MethodPathRequestResponse
POST/v1/project-policiesProjectPolicyData JSONProjectPolicy JSON

Request format:

{

"name": "a policy",

"projectActions": ["ViewComponent", "ViewInstance"]

}

Response format:

{

"id": "2b41858e-a327-4e63-9539-ff9b123c88a2",

"name": "a policy",

"projectActions": ["ViewComponent", "ViewInstance"]

}

Explanation

Creates a new project policy and returns the object describing it, including the newly created policy’s id.

Example cURL:

curl -X POST

'https://release.api.golem.cloud/v1/project-policies'

-H 'Content-Type: application/json'

-d '{"name": "a policy", "projectActions": ["ViewComponent", "ViewInstance"]}'

-H 'Authorization: Bearer 03f17466-202f-43ac-86cc-52e6c6a42d2d'

Project policy API errors

All project policy endpoints can return with the following errors:

StatusBodyDescription
400{ "errors": ["error1", ...] }Invalid request, returning with a list of issues detected in the request.
401{ "message": "..." }Unauthorized
403{ "error": "..." }Maximum number of projects exceeded
404{ "message": "..." }Project not found
500{ "error": "..." }Internal server error