API Keys
Describes the API key presented on this request.
api_keyAuthorizationBearer <token>Bearer project API key.
The project API key
application/json- response
A project API key together with its tenant context.
created_at*stringWhen the API key was created.
date-timecreated_by?|The user who created the API key, when visible.
uuidexpires_at?|When the API key expires, or null when it does not expire.
date-timeid*stringThe API key ID.
uuidimported_from?|"v0" when the key was created on Daytona v0 and imported by the
v0 ↔ v2 key sync; null for a key created on this platform.
key_prefix?|The recognizable leading token characters, when available.
key_suffix?|The recognizable trailing token characters, when available.
last_used_at?|When the API key was last used, or null when unknown.
date-timename*stringThe API key name.
project_id*stringThe project ID.
uuidproject_permissions*array<string>The project permissions granted to the API key.
revoked_at?|When the API key was revoked, or null while active.
date-timeservice_account_id?|The service account that owns the API key, when applicable.
uuidservice_account_name?|The service account name, when applicable and available.
sync_to_v0*booleanWhether the v0 ↔ v2 key sync copies this key to Daytona v0 (for an
organization that is kept in sync with Daytona v0). true for a live
key a person minted in the organization's default project unless it
was opted out by updating the API key, and always for a live key
imported from Daytona v0. false for every key the sync never copies:
keys in other projects, service-account keys, the dashboard's own key
named default, and revoked or expired keys. A Daytona v0 copy can
read every sandbox, snapshot and registry of the organization on
Daytona v0, which has no read permissions.
sync_to_v1*booleanDeprecatedDeprecated: use sync_to_v0, which carries the same value.
context*The project and organization in which the key acts.
curl -X GET 'https://example.com/api-keys/current'{ "created_at": "2019-08-24T14:15:22Z", "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4", "expires_at": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "imported_from": "string", "key_prefix": "string", "key_suffix": "string", "last_used_at": "2019-08-24T14:15:22Z", "name": "string", "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9", "project_permissions": [ "string" ], "revoked_at": "2019-08-24T14:15:22Z", "service_account_id": "81f92c7b-60ae-411e-bc6f-e2dc93db8886", "service_account_name": "string", "sync_to_v0": true, "sync_to_v1": true, "context": { "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b", "org_name": "string", "project_name": "string" }}user_jwt read:org_api_keysAuthorizationBearer <token>Bearer access token for a signed-in user.
Scope: read:org_api_keys
org_id*stringThe organization ID
uuidlimit?integerMaximum number of items to return, 1–200 (default 100)
int641 <= value <= 200100cursor?stringOpaque continuation token returned as next_cursor by a previous request
The page of organization API keys
application/json- response
A page of organization API keys.
next_cursor?|The cursor for the next page, or null when this is the last page.
organization_api_keys*array<>The organization API keys in this page.
curl -X GET 'https://example.com/orgs/497f6eca-6276-4993-bfeb-53cbbbba6f08/api-keys'{ "next_cursor": "string", "organization_api_keys": [ { "created_at": "2019-08-24T14:15:22Z", "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4", "expires_at": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "key_prefix": "string", "key_suffix": "string", "last_used_at": "2019-08-24T14:15:22Z", "name": "string", "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b", "org_permissions": [ "string" ], "revoked_at": "2019-08-24T14:15:22Z" } ]}Only some organization permissions can be held by an organization API key; a request that names any other is refused, naming the permissions at fault.
user_jwt write:org_api_keysAuthorizationBearer <token>Bearer access token for a signed-in user.
Scope: write:org_api_keys
org_id*stringThe organization ID
uuidapplication/json- body
expires_at?|Optional expiry; must be in the future. Absent means it never expires.
date-timename*stringThe key's display name.
org_permissions*array<string>The organization permissions the key holds. Required, with at least one entry: a key never gets a default or implied permission set. A project permission is not a valid value here.
1 <= itemsThe created organization API key
application/json- response
A newly created organization API key and its one-time secret token.
created_at*stringWhen the API key was created.
date-timecreated_by?|The user who created the API key, when visible.
uuidexpires_at?|When the API key expires, or null when it does not expire.
date-timeid*stringThe API key ID.
uuidkey_prefix?|The recognizable leading token characters, when available.
key_suffix?|The recognizable trailing token characters, when available.
last_used_at?|When the API key was last used, or null when unknown.
date-timename*stringThe API key name.
org_id*stringThe organization ID.
uuidorg_permissions*array<string>The organization permissions granted to the API key.
revoked_at?|When the API key was revoked, or null while active.
date-timetoken*stringThe secret token, returned only when the key is created.
curl -X POST 'https://example.com/orgs/497f6eca-6276-4993-bfeb-53cbbbba6f08/api-keys' \ -H 'Content-Type: application/json' \ -d '{ "name": "string", "org_permissions": [ "string" ]}'{ "created_at": "2019-08-24T14:15:22Z", "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4", "expires_at": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "key_prefix": "string", "key_suffix": "string", "last_used_at": "2019-08-24T14:15:22Z", "name": "string", "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b", "org_permissions": [ "string" ], "revoked_at": "2019-08-24T14:15:22Z", "token": "string"}Describes the organization API key presented on this request, with the permissions it holds now.
org_keyAuthorizationBearer <token>Bearer organization API key.
org_id*stringThe organization ID
uuidThe organization API key
application/json- response
An organization API key without its secret token.
created_at*stringWhen the API key was created.
date-timecreated_by?|The user who created the API key, when visible.
uuidexpires_at?|When the API key expires, or null when it does not expire.
date-timeid*stringThe API key ID.
uuidkey_prefix?|The recognizable leading token characters, when available.
key_suffix?|The recognizable trailing token characters, when available.
last_used_at?|When the API key was last used, or null when unknown.
date-timename*stringThe API key name.
org_id*stringThe organization ID.
uuidorg_permissions*array<string>The organization permissions granted to the API key.
revoked_at?|When the API key was revoked, or null while active.
date-timecurl -X GET 'https://example.com/orgs/497f6eca-6276-4993-bfeb-53cbbbba6f08/api-keys/current'{ "created_at": "2019-08-24T14:15:22Z", "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4", "expires_at": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "key_prefix": "string", "key_suffix": "string", "last_used_at": "2019-08-24T14:15:22Z", "name": "string", "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b", "org_permissions": [ "string" ], "revoked_at": "2019-08-24T14:15:22Z"}user_jwt read:org_api_keysAuthorizationBearer <token>Bearer access token for a signed-in user.
Scope: read:org_api_keys
org_id*stringThe organization ID
uuidkey_id*stringThe API key ID
uuidThe organization API key
application/json- response
An organization API key without its secret token.
created_at*stringWhen the API key was created.
date-timecreated_by?|The user who created the API key, when visible.
uuidexpires_at?|When the API key expires, or null when it does not expire.
date-timeid*stringThe API key ID.
uuidkey_prefix?|The recognizable leading token characters, when available.
key_suffix?|The recognizable trailing token characters, when available.
last_used_at?|When the API key was last used, or null when unknown.
date-timename*stringThe API key name.
org_id*stringThe organization ID.
uuidorg_permissions*array<string>The organization permissions granted to the API key.
revoked_at?|When the API key was revoked, or null while active.
date-timecurl -X GET 'https://example.com/orgs/497f6eca-6276-4993-bfeb-53cbbbba6f08/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08'{ "created_at": "2019-08-24T14:15:22Z", "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4", "expires_at": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "key_prefix": "string", "key_suffix": "string", "last_used_at": "2019-08-24T14:15:22Z", "name": "string", "org_id": "a40f5d1f-d889-42e9-94ea-b9b33585fc6b", "org_permissions": [ "string" ], "revoked_at": "2019-08-24T14:15:22Z"}user_jwt delete:org_api_keysAuthorizationBearer <token>Bearer access token for a signed-in user.
Scope: delete:org_api_keys
org_id*stringThe organization ID
uuidkey_id*stringThe API key ID
uuidOrganization API key revoked
curl -X DELETE 'https://example.com/orgs/497f6eca-6276-4993-bfeb-53cbbbba6f08/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08'user_jwt read:project_api_keysAuthorizationBearer <token>Bearer access token for a signed-in user.
Scope: read:project_api_keys
project_id*stringThe project ID
limit?integerMaximum number of items to return, 1–200 (default 100)
int641 <= value <= 200100cursor?stringOpaque continuation token returned as next_cursor by a previous request
The page of project API keys
application/json- response
A page of project API keys.
next_cursor?|The cursor for the next page, or null when this is the last page.
project_api_keys*array<>The project API keys in this page.
curl -X GET 'https://example.com/projects/string/api-keys'{ "next_cursor": "string", "project_api_keys": [ { "created_at": "2019-08-24T14:15:22Z", "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4", "expires_at": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "imported_from": "string", "key_prefix": "string", "key_suffix": "string", "last_used_at": "2019-08-24T14:15:22Z", "name": "string", "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9", "project_permissions": [ "string" ], "revoked_at": "2019-08-24T14:15:22Z", "service_account_id": "81f92c7b-60ae-411e-bc6f-e2dc93db8886", "service_account_name": "string", "sync_to_v0": true, "sync_to_v1": true } ]}The requested project permissions must be grantable by the current member. A service-account key is also limited by that account's permissions.
user_jwt write:project_api_keysAuthorizationBearer <token>Bearer access token for a signed-in user.
Scope: write:project_api_keys
project_id*stringThe project ID
application/json- body
expires_at?|Optional expiry; must be in the future. Absent means it never expires.
date-timename?|The key's display name.
project_permissions*array<string>The project permissions the key holds. Required, with at least one entry: a key never gets a default or implied permission set.
1 <= itemsservice_account_id?|The service account that owns this key, or null for the current user.
uuidsync_to_v0?|Whether the v0 ↔ v2 key sync may copy this key to Daytona v0. Absent
= true. Only a key a person mints in the organization's default
project is ever copied; elsewhere the field is ignored and the
response says false. A Daytona v0 copy can read every sandbox,
snapshot and registry of the organization on Daytona v0, which has no
read permissions; false keeps the key on this platform only. Change
it later by updating the API key.
sync_to_v1?|DeprecatedDeprecated: use sync_to_v0. Accepted with the same meaning; a
request that sets both to different values is refused.
The created project API key
application/json- response
A newly created project API key and its one-time secret token.
created_at*stringWhen the API key was created.
date-timecreated_by?|The user who created the API key, when visible.
uuidexpires_at?|When the API key expires, or null when it does not expire.
date-timeid*stringThe API key ID.
uuidimported_from?|"v0" when the key was created on Daytona v0 and imported by the
v0 ↔ v2 key sync; null for a key created on this platform.
key_prefix?|The recognizable leading token characters, when available.
key_suffix?|The recognizable trailing token characters, when available.
last_used_at?|When the API key was last used, or null when unknown.
date-timename*stringThe API key name.
project_id*stringThe project ID.
uuidproject_permissions*array<string>The project permissions granted to the API key.
revoked_at?|When the API key was revoked, or null while active.
date-timeservice_account_id?|The service account that owns the API key, when applicable.
uuidservice_account_name?|The service account name, when applicable and available.
sync_to_v0*booleanWhether the v0 ↔ v2 key sync copies this key to Daytona v0 (for an
organization that is kept in sync with Daytona v0). true for a live
key a person minted in the organization's default project unless it
was opted out by updating the API key, and always for a live key
imported from Daytona v0. false for every key the sync never copies:
keys in other projects, service-account keys, the dashboard's own key
named default, and revoked or expired keys. A Daytona v0 copy can
read every sandbox, snapshot and registry of the organization on
Daytona v0, which has no read permissions.
sync_to_v1*booleanDeprecatedDeprecated: use sync_to_v0, which carries the same value.
token*stringThe secret token, returned only when the key is created.
curl -X POST 'https://example.com/projects/string/api-keys' \ -H 'Content-Type: application/json' \ -d '{ "project_permissions": [ "string" ]}'{ "created_at": "2019-08-24T14:15:22Z", "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4", "expires_at": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "imported_from": "string", "key_prefix": "string", "key_suffix": "string", "last_used_at": "2019-08-24T14:15:22Z", "name": "string", "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9", "project_permissions": [ "string" ], "revoked_at": "2019-08-24T14:15:22Z", "service_account_id": "81f92c7b-60ae-411e-bc6f-e2dc93db8886", "service_account_name": "string", "sync_to_v0": true, "sync_to_v1": true, "token": "string"}user_jwt read:project_api_keysAuthorizationBearer <token>Bearer access token for a signed-in user.
Scope: read:project_api_keys
project_id*stringThe project ID
key_id*stringThe API key ID
uuidThe project API key
application/json- response
A project API key without its secret token.
created_at*stringWhen the API key was created.
date-timecreated_by?|The user who created the API key, when visible.
uuidexpires_at?|When the API key expires, or null when it does not expire.
date-timeid*stringThe API key ID.
uuidimported_from?|"v0" when the key was created on Daytona v0 and imported by the
v0 ↔ v2 key sync; null for a key created on this platform.
key_prefix?|The recognizable leading token characters, when available.
key_suffix?|The recognizable trailing token characters, when available.
last_used_at?|When the API key was last used, or null when unknown.
date-timename*stringThe API key name.
project_id*stringThe project ID.
uuidproject_permissions*array<string>The project permissions granted to the API key.
revoked_at?|When the API key was revoked, or null while active.
date-timeservice_account_id?|The service account that owns the API key, when applicable.
uuidservice_account_name?|The service account name, when applicable and available.
sync_to_v0*booleanWhether the v0 ↔ v2 key sync copies this key to Daytona v0 (for an
organization that is kept in sync with Daytona v0). true for a live
key a person minted in the organization's default project unless it
was opted out by updating the API key, and always for a live key
imported from Daytona v0. false for every key the sync never copies:
keys in other projects, service-account keys, the dashboard's own key
named default, and revoked or expired keys. A Daytona v0 copy can
read every sandbox, snapshot and registry of the organization on
Daytona v0, which has no read permissions.
sync_to_v1*booleanDeprecatedDeprecated: use sync_to_v0, which carries the same value.
curl -X GET 'https://example.com/projects/string/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08'{ "created_at": "2019-08-24T14:15:22Z", "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4", "expires_at": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "imported_from": "string", "key_prefix": "string", "key_suffix": "string", "last_used_at": "2019-08-24T14:15:22Z", "name": "string", "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9", "project_permissions": [ "string" ], "revoked_at": "2019-08-24T14:15:22Z", "service_account_id": "81f92c7b-60ae-411e-bc6f-e2dc93db8886", "service_account_name": "string", "sync_to_v0": true, "sync_to_v1": true}Changes whether this key is configured to be copied to Daytona v0. The copy itself follows shortly afterwards — turning it off deletes the Daytona v0 key — and this key keeps working either way. Only a live key a person created in the organization's default project can be copied.
user_jwt delete:project_api_keysAuthorizationBearer <token>Bearer access token for a signed-in user.
Scope: delete:project_api_keys
project_id*stringThe project ID
key_id*stringThe API key ID
uuidapplication/json- body
sync_to_v0?booleanWhether the v0 ↔ v2 key sync keeps a copy of this key on Daytona v0.
false deletes the Daytona v0 copy (the key keeps working here);
true copies the key to Daytona v0 again. A Daytona v0 copy can read
every sandbox, snapshot and registry of the organization on Daytona
v0, which has no read permissions. Only a key a person minted in the
organization's default project is ever copied; a key imported from
Daytona v0 always is. Required (or the deprecated sync_to_v1).
sync_to_v1?booleanDeprecatedDeprecated: use sync_to_v0. Accepted with the same meaning; a
request that sets both to different values is refused.
The project API key
application/json- response
A project API key without its secret token.
created_at*stringWhen the API key was created.
date-timecreated_by?|The user who created the API key, when visible.
uuidexpires_at?|When the API key expires, or null when it does not expire.
date-timeid*stringThe API key ID.
uuidimported_from?|"v0" when the key was created on Daytona v0 and imported by the
v0 ↔ v2 key sync; null for a key created on this platform.
key_prefix?|The recognizable leading token characters, when available.
key_suffix?|The recognizable trailing token characters, when available.
last_used_at?|When the API key was last used, or null when unknown.
date-timename*stringThe API key name.
project_id*stringThe project ID.
uuidproject_permissions*array<string>The project permissions granted to the API key.
revoked_at?|When the API key was revoked, or null while active.
date-timeservice_account_id?|The service account that owns the API key, when applicable.
uuidservice_account_name?|The service account name, when applicable and available.
sync_to_v0*booleanWhether the v0 ↔ v2 key sync copies this key to Daytona v0 (for an
organization that is kept in sync with Daytona v0). true for a live
key a person minted in the organization's default project unless it
was opted out by updating the API key, and always for a live key
imported from Daytona v0. false for every key the sync never copies:
keys in other projects, service-account keys, the dashboard's own key
named default, and revoked or expired keys. A Daytona v0 copy can
read every sandbox, snapshot and registry of the organization on
Daytona v0, which has no read permissions.
sync_to_v1*booleanDeprecatedDeprecated: use sync_to_v0, which carries the same value.
curl -X PATCH 'https://example.com/projects/string/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08' \ -H 'Content-Type: application/json' \ -d '{}'{ "created_at": "2019-08-24T14:15:22Z", "created_by": "ee824cad-d7a6-4f48-87dc-e8461a9201c4", "expires_at": "2019-08-24T14:15:22Z", "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "imported_from": "string", "key_prefix": "string", "key_suffix": "string", "last_used_at": "2019-08-24T14:15:22Z", "name": "string", "project_id": "405d8375-3514-403b-8c43-83ae74cfe0e9", "project_permissions": [ "string" ], "revoked_at": "2019-08-24T14:15:22Z", "service_account_id": "81f92c7b-60ae-411e-bc6f-e2dc93db8886", "service_account_name": "string", "sync_to_v0": true, "sync_to_v1": true}user_jwt delete:project_api_keysAuthorizationBearer <token>Bearer access token for a signed-in user.
Scope: delete:project_api_keys
project_id*stringThe project ID
key_id*stringThe API key ID
uuidProject API key revoked
curl -X DELETE 'https://example.com/projects/string/api-keys/497f6eca-6276-4993-bfeb-53cbbbba6f08'