Skip to content

Projects API

Projects.

5 operations. Every call needs a session cookie or an Authorization: Bearer nct_… token unless marked Public. Conventions, errors and scopes

GET/projects

List projects

ParameterInTypeDescription
cursorquerystringOpaque cursor from a previous page's nextCursor
limitqueryinteger (int64)Page size (default 50, max 200)
Response 200 · OK · application/json
PageProject
  • Project[] | nullrequired
  • nextCursorstring
    Present when more items exist
Errors
  • 401Unauthorized
  • 403Forbidden
  • 422Unprocessable Entity
  • 500Internal Server Error

Errors are RFC 9457 application/problem+json with a stable code field.

POST/projects

Create a project (with its production environment)

ParameterInTypeDescription
Idempotency-KeyheaderstringClient-chosen key (<=255 chars). A retry with the same key replays the original response for 24 hours.
Request body · application/json · required
CreateProjectInputBody
  • descriptionstring
  • namestringrequired
Response 201 · Created · application/json
Project
  • buildLocationenum: inherit | target | build_serverrequired
  • buildServerIdstringrequired
  • createdAtstring (date-time)required
  • descriptionstringrequired
  • idstringrequired
  • namestringrequired
  • registryIdstringrequired
  • slugstringrequired
  • systembooleanrequired
  • updatedAtstring (date-time)required
Errors
  • 401Unauthorized
  • 403Forbidden
  • 409Conflict
  • 422Unprocessable Entity
  • 500Internal Server Error

Errors are RFC 9457 application/problem+json with a stable code field.

GET/projects/{projectId}

Get a project

ParameterInTypeDescription
projectIdrequiredpathstring
Response 200 · OK · application/json
Project
  • buildLocationenum: inherit | target | build_serverrequired
  • buildServerIdstringrequired
  • createdAtstring (date-time)required
  • descriptionstringrequired
  • idstringrequired
  • namestringrequired
  • registryIdstringrequired
  • slugstringrequired
  • systembooleanrequired
  • updatedAtstring (date-time)required
Errors
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Unprocessable Entity
  • 500Internal Server Error

Errors are RFC 9457 application/problem+json with a stable code field.

PATCH/projects/{projectId}

Update a project

ParameterInTypeDescription
projectIdrequiredpathstring
Request body · application/json · required
UpdateProjectInputBody
  • buildLocationenum: inherit | target | build_server
    Where this project's git services are built: inherit (team default), target, or build_server. Sets buildServerId and registryId with it (omitted = cleared).
  • buildServerIdstring
    Pin the build server; omitted lets the control plane choose a sticky one. Only with buildLocation.
  • descriptionstring
  • namestring
  • registryIdstring
    Registry the builds are pushed to; omitted inherits the team default. Only with buildLocation.
Response 200 · OK · application/json
Project
  • buildLocationenum: inherit | target | build_serverrequired
  • buildServerIdstringrequired
  • createdAtstring (date-time)required
  • descriptionstringrequired
  • idstringrequired
  • namestringrequired
  • registryIdstringrequired
  • slugstringrequired
  • systembooleanrequired
  • updatedAtstring (date-time)required
Errors
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 422Unprocessable Entity
  • 500Internal Server Error

Errors are RFC 9457 application/problem+json with a stable code field.

DELETE/projects/{projectId}

Delete an empty project

Fails with 409 project_not_empty while the project still has services.

ParameterInTypeDescription
projectIdrequiredpathstring
Response 204 · No Content

No body.

Errors
  • 401Unauthorized
  • 403Forbidden
  • 404Not Found
  • 409Conflictproject_not_empty
  • 422Unprocessable Entity
  • 500Internal Server Error

Errors are RFC 9457 application/problem+json with a stable code field.