Skip to content
Select themeSelect language

`POST /api/workspace/repo_sync/push` — serialize DB rows + commit/push. Returns `{ commit_sha, files_written, outcomes, event }` — every returned event carries `event_id` + `timestamp` per the wire contract.

POST
/api/workspace/repo_sync/push
curl --request POST \
--url https://example.com/api/workspace/repo_sync/push
Media typeapplication/json

What a push returns to the HTTP caller.

object
commit_sha
required

The commit sha the push left the remote at.

string
event
required

Sync-event shape with event_id + timestamp.

object
commit_sha

The git commit sha the sync attempt operated against — None when no commit was made (push with no diff).

string | null
event_id
required
string format: uuid
kind
required

repo_sync_push_completed / repo_sync_pull_completed.

string
timestamp
required

RFC3339 timestamp (UTC). The string form keeps the wire format language-agnostic; the web client parses it back to a Date.

string
files_written
required

Absolute file paths inside the workspace’s checkout that the push wrote. Each path corresponds to one entry (workflow / script / app).

Array<string>
outcomes
required

One row per entity the push affected.

Array<object>

One row per entity affected by a push.

object
action
required

updated for the happy path; failed if a per-row write blew up.

string
target_id
string | null format: uuid
target_kind
required

Closed catalogue of sync targets a log row can reference.

string
Allowed values: workflow script app resource memory
target_slug
required
string
Example
{
"outcomes": [
{
"target_kind": "workflow"
}
]
}