Skip to main content
POST
Create a commit

Authorizations

Authorization
string
header
required

An API token for one organization. You create and revoke tokens in the dashboard. A token scoped to one App can reach only that App, so give that kind of token to an agent. An organization-wide token can create a short-lived one with POST /api/tokens.

Scopes

apps:write
OAuth

Change the organization's Apps: edit files, run commands, deploy, and manage Secrets.

apps:write
DPoP

Headers

Idempotency-Key
string

A key that identifies this request for retries, up to 200 printable characters. A retry with the same key and input returns the first request's result instead of repeating the work. If you omit the key, the API generates one and returns it in the Idempotency-Key response header.

Required string length: 1 - 200

Path Parameters

id
string
required

A unique ID that starts with app_.

Pattern: ^app_[0-9A-Za-z]{24}$
Example:

"app_Zj7XhMgplmTJcp5Dk4vcYuk0"

Body

application/json
message
string
required

A one-line summary of what changed since the last commit, up to 240 characters. It becomes the Git commit message.

Required string length: 1 - 240
Pattern: ^[^\r\n]*$

Response

The new commit.

id
string
required

The commit's ID, which starts with cmt_. To restore the commit, pass this ID to POST /api/apps/{id}/restore. To publish it, pass it to POST /api/apps/{id}/deployments.

app_id
string
required

The ID of the App that the commit belongs to.

commit_sha
string
required

The Git commit SHA.

message
string
required

The commit message.

created_by
string
required

The ID of the user who created the commit.

created_at
string<date-time>
required

When the commit was created.

Example:

"2026-10-03T14:01:30.000Z"