For the complete documentation index, see llms.txt. This page is also available as Markdown.

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

get

Requires projects:read (View projects).

Authorizations
AuthorizationstringRequired

An API key from Account settings, e.g. kn_...

Query parameters
orgstring · min: 3 · max: 39Optional

Slug of an organization (see orgs.list) to list only what is in it or shared into it

limitinteger · min: 1 · max: 200Optional

Items per page, 1 to 200 (default 50)

cursorstring · min: 1 · max: 512Optional

nextCursor from the previous page; omit for the first page

Responses
200

OK

application/json
get/projects
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
}

Create an empty project. It is private unless visibility is org

post

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 slugs

  • 403 key_project_restricted: The key is limited to specific projects, and this acts on the organization

Authorizations
AuthorizationstringRequired

An API key from Account settings, e.g. kn_...

Query parameters
orgstring · min: 3 · max: 39Optional

Slug of the organization to act in (see orgs.list); needed when the caller reaches more than one

Header parameters
Idempotency-Keystring · min: 1 · max: 255Optional

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.

Pattern: ^\S+$
Body
namestring · min: 1 · max: 100Required

Project name

visibilitystring · enumOptional

private: admins, its creator and the people added; org: everyone in the organization

Possible values:
Responses
201

Created

application/json
post/projects
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"
}

Get a project and the apps in it

get

Requires projects:read (View projects).

Authorizations
AuthorizationstringRequired

An API key from Account settings, e.g. kn_...

Path parameters
projectIdstringRequired

Project id

Pattern: ^[0-9a-fA-F]{24}$
Responses
200

OK

application/json
get/projects/{projectId}
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

patch

Requires projects:write (Create and rename projects).

Authorizations
AuthorizationstringRequired

An API key from Account settings, e.g. kn_...

Path parameters
projectIdstringRequired

Project id

Pattern: ^[0-9a-fA-F]{24}$
Body
namestring · min: 1 · max: 100Optional

New project name

visibilitystring · enumOptional

private: admins, its creator and the people added; org: everyone in the organization

Possible values:
Responses
200

OK

application/json
patch/projects/{projectId}
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.

delete

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

Authorizations
AuthorizationstringRequired

An API key from Account settings, e.g. kn_...

Path parameters
projectIdstringRequired

Project id

Pattern: ^[0-9a-fA-F]{24}$
Responses
200

OK

application/json
delete/projects/{projectId}
DELETE /v1/projects/{projectId} HTTP/1.1
Host: api.kinesis.network
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
  "id": "text",
  "deleted": true
}

Was this helpful?