UploadKit
API Reference

Projects Endpoints

Create, list, update, and delete projects via the REST API.

Projects are the top-level resource in UploadKit. Each project has its own API keys, file routes, files, and usage quotas. All file operations are scoped to a project via the API key used.

Project Object

{
  "id": "proj_abc123",
  "name": "My Application",
  "slug": "my-application",
  "createdAt": "2026-04-08T12:00:00.000Z",
  "updatedAt": "2026-04-08T12:00:00.000Z"
}

GET /api/v1/projects

List all projects belonging to the authenticated account.

curl example:

curl https://api.uploadkit.dev/api/v1/projects \
  -H "x-api-key: uk_live_xxxxxxxxxxxxxxxxxxxxx"

Response:

{
  "items": [
    {
      "id": "proj_abc123",
      "name": "My Application",
      "slug": "my-application",
      "createdAt": "2026-04-08T12:00:00.000Z"
    }
  ]
}

POST /api/v1/projects

Create a new project.

Request body:

FieldTypeRequiredDescription
namestringYesHuman-readable project name (max 100 characters)

curl example:

curl -X POST https://api.uploadkit.dev/api/v1/projects \
  -H "x-api-key: uk_live_xxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "My New Application"
  }'

Response: The created project object with HTTP 201 Created.

Error cases:

CodeCause
TIER_LIMIT_EXCEEDEDProject limit for your tier has been reached

Project limits by tier:

TierMax projects
Free2
Pro10
Team50
EnterpriseUnlimited

PATCH /api/v1/projects/:id

Update a project's name.

Request body:

FieldTypeRequiredDescription
namestringNoNew project name

curl example:

curl -X PATCH https://api.uploadkit.dev/api/v1/projects/proj_abc123 \
  -H "x-api-key: uk_live_xxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Renamed Application"
  }'

Response: The updated project object.


DELETE /api/v1/projects/:id

Delete a project and all of its resources.

Cascading deletion. Deleting a project permanently removes all associated files (from R2 and the database), API keys, file routes, and usage records. This action cannot be undone.

curl example:

curl -X DELETE https://api.uploadkit.dev/api/v1/projects/proj_abc123 \
  -H "x-api-key: uk_live_xxxxxxxxxxxxxxxxxxxxx"

Response:

{ "deleted": true }

Error cases:

CodeCause
NOT_FOUNDProject does not exist or belongs to a different account

You can also manage projects from the Projects section of the dashboard.

On this page