Skip to main content
POST
Create a short-lived session artifact upload request

Authorizations

Authorization
string
header
required

OAuth 2.0 access token obtained through RFC 8628 at /api/auth/device/code and /api/auth/oauth2/token. The API enforces governance:read, session:write, and client-status:write as appropriate.

Body

application/json
harness
string
required

Harness key from the compiled registry

session_id
string
required
Example:

"codex-session-20260827"

sha256
string
required
Pattern: ^[a-f0-9]{64}$
Example:

"0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"

size_bytes
integer
required
Example:

48217

content_type
string
required
Example:

"application/x-ndjson"

compatibility_profile
string

Compiled harness adapter profile that produced the upload. When omitted, the upload is recorded without a profile.

Example:

"claude-v1"

cwd
string | null
artifact_format
enum<string>
default:legacy-raw
Available options:
legacy-raw,
blue-session-bundle-v1
resumable
boolean
default:false
title
string | null
Maximum string length: 256
summary
string | null
Maximum string length: 1024
captured_at_unix_ms
integer
Required range: x >= 0
repository_root
string | null
Maximum string length: 4096
repository_remote
string | null
Maximum string length: 4096

Response

Short-lived provider-specific upload request

upload_id
string<uuid>
required
status
enum<string>
required
Available options:
pending,
complete
headers
object
required
upload_url
string<uri> | null
method
enum<string> | null
Available options:
PUT,
POST,
null
complete_url
string | null

Authenticated endpoint called after blob upload