Projects
Create and organize projects, and manage their lifecycle.
Projects belong to organizations and are private by default. Supply ?org= when creating in an organization; list calls can filter by org or span all reachable organizations. Admins or the creator manage visibility and deletion. A Developer deleting a project must also have created every app inside it. Stop all apps before API deletion.
List projects accessible to the caller, oldest first, across reachable organizations unless org narrows the list
Requires projects:read (View projects).
An API key from Account settings, e.g. kn_...
Slug of an organization (see orgs.list) to list only what is in it or shared into it
Items per page, 1 to 200 (default 50)
nextCursor from the previous page; omit for the first page
OK
The request body, query or headers are invalid (invalid_request, invalid_idempotency_key, ...)
The API key is missing, malformed, unknown, revoked or expired
The key lacks a required permission (insufficient_scope), is limited to other projects or to projects while the call acts on the organization (key_project_restricted), the caller's role on the resource is too low (forbidden), or the account is frozen
No such resource, or the caller cannot see it
Too many requests; see the X-RateLimit-* headers and Retry-After
Something failed on our side; the request id is in the body
A service we depend on (the runtime, GitHub) did not answer; retry shortly
The feature is not enabled on this server (github_not_configured), or a service we depend on is down; retry later
A service we depend on did not answer in time; retry shortly
GET /v1/projects HTTP/1.1
Host: api.kinesis.network
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"projects": [
{
"id": "text",
"name": "text",
"org": {
"slug": "text",
"name": "text"
},
"visibility": "private",
"access": {
"role": "admin",
"outside": true,
"isCreator": true
},
"appCount": 1,
"createdBy": {
"userId": "text",
"name": null,
"email": "text"
},
"createdAt": "2026-01-01T00:00:00.000Z"
}
],
"nextCursor": null
}Requires projects:write (Create and rename projects).
Errors specific to this operation:
400
org_required: The caller reaches more than one organization and named none; details.orgs lists their slugs403
key_project_restricted: The key is limited to specific projects, and this acts on the organization
An API key from Account settings, e.g. kn_...
Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one
Any unique string of at most 255 characters. A retry with the same key and body returns the first call's response (with Idempotent-Replayed: true) instead of acting twice; a different body is refused with 409 idempotency_conflict, and a retry while the first call is still running gets 409 request_in_progress. Keys are kept for 24 hours.
^\S+$Project name
private: admins, its creator and the people added; org: everyone in the organization
Created
The request body, query or headers are invalid (invalid_request, invalid_idempotency_key, ...)
The API key is missing, malformed, unknown, revoked or expired
The key lacks a required permission (insufficient_scope), is limited to other projects or to projects while the call acts on the organization (key_project_restricted), the caller's role on the resource is too low (forbidden), or the account is frozen
No such resource, or the caller cannot see it
The resource is in a state that does not allow the action, or an idempotency key was reused
The request body exceeds the limit given in the body
Too many requests; see the X-RateLimit-* headers and Retry-After
Something failed on our side; the request id is in the body
A service we depend on (the runtime, GitHub) did not answer; retry shortly
The feature is not enabled on this server (github_not_configured), or a service we depend on is down; retry later
A service we depend on did not answer in time; retry shortly
POST /v1/projects HTTP/1.1
Host: api.kinesis.network
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 38
{
"name": "text",
"visibility": "private"
}{
"id": "text",
"name": "text",
"org": {
"slug": "text",
"name": "text"
},
"visibility": "private",
"access": {
"role": "admin",
"outside": true,
"isCreator": true
},
"appCount": 1,
"createdBy": {
"userId": "text",
"name": null,
"email": "text"
},
"createdAt": "2026-01-01T00:00:00.000Z"
}Requires projects:read (View projects).
An API key from Account settings, e.g. kn_...
Project id
^[0-9a-fA-F]{24}$OK
The request body, query or headers are invalid (invalid_request, invalid_idempotency_key, ...)
The API key is missing, malformed, unknown, revoked or expired
The key lacks a required permission (insufficient_scope), is limited to other projects or to projects while the call acts on the organization (key_project_restricted), the caller's role on the resource is too low (forbidden), or the account is frozen
No such resource, or the caller cannot see it
Too many requests; see the X-RateLimit-* headers and Retry-After
Something failed on our side; the request id is in the body
A service we depend on (the runtime, GitHub) did not answer; retry shortly
The feature is not enabled on this server (github_not_configured), or a service we depend on is down; retry later
A service we depend on did not answer in time; retry shortly
GET /v1/projects/{projectId} HTTP/1.1
Host: api.kinesis.network
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"name": "text",
"org": {
"slug": "text",
"name": "text"
},
"visibility": "private",
"access": {
"role": "admin",
"outside": true,
"isCreator": true
},
"appCount": 1,
"createdBy": {
"userId": "text",
"name": null,
"email": "text"
},
"createdAt": "2026-01-01T00:00:00.000Z",
"apps": [
{
"id": "text",
"projectId": "text",
"name": "text",
"guid": "text",
"source": null,
"image": null,
"domain": null,
"buildState": null,
"access": {
"role": "admin",
"outside": true,
"isCreator": true
},
"createdBy": {
"userId": "text",
"name": null,
"email": "text"
},
"createdAt": "2026-01-01T00:00:00.000Z"
}
]
}Rename a project, or change who in its organization can see it. Visibility is for its creator or an admin: private is admins, its creator and the people added; org is everyone in the organization
Requires projects:write (Create and rename projects).
An API key from Account settings, e.g. kn_...
Project id
^[0-9a-fA-F]{24}$New project name
private: admins, its creator and the people added; org: everyone in the organization
OK
The request body, query or headers are invalid (invalid_request, invalid_idempotency_key, ...)
The API key is missing, malformed, unknown, revoked or expired
The key lacks a required permission (insufficient_scope), is limited to other projects or to projects while the call acts on the organization (key_project_restricted), the caller's role on the resource is too low (forbidden), or the account is frozen
No such resource, or the caller cannot see it
The resource is in a state that does not allow the action, or an idempotency key was reused
The request body exceeds the limit given in the body
Too many requests; see the X-RateLimit-* headers and Retry-After
Something failed on our side; the request id is in the body
A service we depend on (the runtime, GitHub) did not answer; retry shortly
The feature is not enabled on this server (github_not_configured), or a service we depend on is down; retry later
A service we depend on did not answer in time; retry shortly
PATCH /v1/projects/{projectId} HTTP/1.1
Host: api.kinesis.network
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 38
{
"name": "text",
"visibility": "private"
}{
"id": "text",
"name": "text",
"org": {
"slug": "text",
"name": "text"
},
"visibility": "private",
"access": {
"role": "admin",
"outside": true,
"isCreator": true
},
"appCount": 1,
"createdBy": {
"userId": "text",
"name": null,
"email": "text"
},
"createdAt": "2026-01-01T00:00:00.000Z"
}Delete a project and every app in it. Admins may, and so may its creator when they created every app in it. Fails with project_has_running_apps while any app is live. Irreversible.
Requires projects:admin (Delete projects and manage who they are shared with).
Errors specific to this operation:
409
project_has_running_apps: An app in the project is still live; appIds lists them. Stop them and retry once they report stopped
An API key from Account settings, e.g. kn_...
Project id
^[0-9a-fA-F]{24}$OK
The request body, query or headers are invalid (invalid_request, invalid_idempotency_key, ...)
The API key is missing, malformed, unknown, revoked or expired
The key lacks a required permission (insufficient_scope), is limited to other projects or to projects while the call acts on the organization (key_project_restricted), the caller's role on the resource is too low (forbidden), or the account is frozen
No such resource, or the caller cannot see it
The resource is in a state that does not allow the action, or an idempotency key was reused
Too many requests; see the X-RateLimit-* headers and Retry-After
Something failed on our side; the request id is in the body
A service we depend on (the runtime, GitHub) did not answer; retry shortly
The feature is not enabled on this server (github_not_configured), or a service we depend on is down; retry later
A service we depend on did not answer in time; retry shortly
DELETE /v1/projects/{projectId} HTTP/1.1
Host: api.kinesis.network
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"deleted": true
}Was this helpful?
