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 API

fc0b5887-cca5-4261-b6b7-73711f6f23b0

Project API

Summary

Projects are groups of templates 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 template and worker related APIs.

Get the default project

MethodPathRequestResponse
GET/v1/projects/default-Project JSON

Response format:

{

"projectId": "866e1f4a-cf1a-40aa-ad8f-77e33294e999",

"projectData": {

"name": "default-project",

"ownerAccountId": "ae9b9f24-cfba-4dc6-92c6-c6fecdee88b5",

"description": "Default project of the account ae9b9f24-cfba-4dc6-92c6-c6fecdee88b5",

"defaultEnvironmentId": "default",

"projectType": "Default"

}

}

Explanation

  • 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 cURL:

curl 'https://release.api.golem.cloud/v1/projects/default'

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

Get project by ID

MethodPathRequestResponse
GET/v1/projects/866e1f4a-cf1a-40aa-ad8f-77e33294e999-Project JSON

Response format:

{

"projectId": "866e1f4a-cf1a-40aa-ad8f-77e33294e999",

"projectData": {

"name": "default-project",

"ownerAccountId": "ae9b9f24-cfba-4dc6-92c6-c6fecdee88b5",

"description": "Default project of the account ae9b9f24-cfba-4dc6-92c6-c6fecdee88b5",

"defaultEnvironmentId": "default",

"projectType": "Default"

}

}

Explanation

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

Example cURL:

curl 'https://release.api.golem.cloud/v1/projects/866e1f4a-cf1a-40aa-ad8f-77e33294e999'

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

List all projects

MethodPathRequestResponse
GET/v1/projects-Array of Project JSON

Response format:

[

{

"projectId": "866e1f4a-cf1a-40aa-ad8f-77e33294e999",

"projectData": {

"name": "default-project",

"ownerAccountId": "ae9b9f24-cfba-4dc6-92c6-c6fecdee88b5",

"description": "Default project of the account ae9b9f24-cfba-4dc6-92c6-c6fecdee88b5",

"defaultEnvironmentId": "default",

"projectType": "Default"

}

},

...

]

Explanation

Returns all projects of the account.

Example cURL:

curl 'https://release.api.golem.cloud/v1/projects'

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

List projects with a given name

MethodPathRequestResponse
GET/v1/projects?project-name=xxx-Array of Project JSON

Response format:

[

{

"projectId": "866e1f4a-cf1a-40aa-ad8f-77e33294e999",

"projectData": {

"name": "xxx",

"ownerAccountId": "ae9b9f24-cfba-4dc6-92c6-c6fecdee88b5",

"description": "A project named xxx",

"defaultEnvironmentId": "default",

"projectType": "NonDefault"

}

},

...

]

Explanation

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.

Example cURL:

curl 'https://release.api.golem.cloud/v1/projects?project-name=xxx'

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

Create project

MethodPathRequestResponse
POST/v1/projectsProjectDataRequest JSONProject JSON

Request format:

{

"name": "xxx",

"ownerAccountId": "ae9b9f24-cfba-4dc6-92c6-c6fecdee88b5",

"description": "A project called xxx"

}

Response format:

{

"projectId": "866e1f4a-cf1a-40aa-ad8f-77e33294e999",

"projectData": {

"name": "xxx",

"ownerAccountId": "ae9b9f24-cfba-4dc6-92c6-c6fecdee88b5",

"description": "A project called xxx",

"defaultEnvironmentId": "default",

"projectType": "NonDefault"

}

}

Explanation

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

Example cURL:

curl 'https://release.api.golem.cloud/v1/projects/866e1f4a-cf1a-40aa-ad8f-77e33294e999'

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

Delete project

MethodPathRequestResponse
DELETE/v1/projects/866e1f4a-cf1a-40aa-ad8f-77e33294e999--

Explanation

Deletes a project given by its identifier.

Example cURL:

curl -X DELETE

'https://release.api.golem.cloud/v1/projects/866e1f4a-cf1a-40aa-ad8f-77e33294e999'

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

Project API errors

All project 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