Menu
Platform
- Accounts and projects
- Regions
- Environments
- Keys and scopes
- Plans, usage and limits
- Errors
- API versions
- API reference
- CLI
- MCP
- Published CLI compatibility
- Terraform
- Management secret deletion
- API keys
- Artifacts
- Connection providers
- Connections
- Envs
- Key versions
- Keys
- Projects
- Secret versions
- Secrets
- Service enablements
- Token exchanges
- Trust policies
AI
Alerts and status pages
App store purchases
Credits
Database
Flags
Generated Assets
Hosting
Monitoring
Organizations
Payments
- Payments
- Payments quickstart
- Checkout policies
- Checkout sessions
- Customer subscriptions
- Entitlement grants
- Exchange rates
- Licence keys
- Licence tokens
- Merchant accounts
- Portal sessions
- Price catalogs
- Revenue
- Revenue facts
- Revenue sources
- Tax threshold statuses
- Usage events
- Usage invoices
- Usage meter prices
- Usage meters
- Usage reservations
- Usage settings
- Usage tiers
Queues
Realtime
Sandboxes
Webhooks
Getting Started
Authentication
KV Store
Deploy & Infrastructure
Reference
Create pinned on a job run
Starts exactly the pinned Job snapshot under a permanent caller-selected run id.
Starts exactly the pinned Job snapshot under a permanent caller-selected run id. Predecessor servers do not serve this route, so unsupported pins cannot silently start work. Replays return the original immutable run.
- Path
POST https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/jobs/job/job_runs:createPinned - Scope
workflows:run - Effect
write— a successful call changes state. - Collection job_runs
- Query
job_run_id,validate_only,expected_job_uid,expected_job_generation,create_not_after
#Request
| Field | Type | What it is |
|---|---|---|
parent | string | The job to run. Required. |
job_run_id | string | Permanent caller-selected run id, distinct from the server-assigned UID. Required. |
job_run | JobRun | The run to start: args and env override the Job's for this run. Required. |
validate_only | bool | Validate and return the result without starting anything. |
expected_job_uid | string | Require this immutable Job identity, checked again at insertion. Required. |
expected_job_generation | int64 | Require this generation of the frozen Job spec. Required. |
create_not_after | timestamp | A new run can be inserted only before this instant. Identical replay is still available afterward. Exact GET serializes with in-flight insertion. Required. |
#JobRun
| Field | Type | What it is |
|---|---|---|
name | string | orgs/{org}/projects/{project}/envs/{env}/jobs/{job}/job_runs/{job_run}. |
meta | ResourceMeta | Resource metadata. |
args | string[] | Arguments of this run (the Job's when empty). |
env | map<string, string> | Environment overrides of this run. |
schedule_time | timestamp | Start no earlier than this: set it directly, or through start_delay; at most 365 days ahead. A run cancelled before then makes no attempt. |
start_delay | duration | Start no earlier than this long after the request. |
#ResourceMeta
| Field | Type | What it is |
|---|---|---|
labels | map<string, string> | Caller-writable, indexed labels (AIP-122 label rules). |
annotations | map<string, string> | Caller-writable, unindexed annotations. |
display_name | string | Caller-writable human-readable name. |
#Response
| Field | Type | What it is |
|---|---|---|
name | string | orgs/{org}/projects/{project}/envs/{env}/jobs/{job}/job_runs/{job_run}. |
uid | string | jrun_<cell><ulid>; never reused. Output only. |
meta | ResourceMeta | Resource metadata. |
job_generation | int64 | The Job generation the run pinned. Output only. |
resolved_image | string | The image digest the run executes. Output only. |
args | string[] | Arguments of this run (the Job's when empty). |
env | map<string, string> | Environment overrides of this run. |
state | JobRunState | The run's lifecycle state. Output only. One of queued, running, succeeded, failed, cancelled, timed_out. |
exit_code | int32 | The last attempt's exit code, once it exited. Output only. |
attempt_count | int32 | Attempts made so far. Output only. |
termination_reason | string | Why the last attempt ended other than by exiting, for example OOMKilled or Evicted. Output only. |
schedule_fire | ScheduleFireRef | Set when a Schedule fire started the run. Output only. |
create_time | timestamp | When the run was accepted. Output only. |
start_time | timestamp | When the first attempt started. Output only. |
end_time | timestamp | When the run closed. Output only. |
usage | JobRunUsage | Metered usage across attempts. Output only. |
message | string | Why the run failed or was refused, when it did. Output only. |
schedule_time | timestamp | Start no earlier than this: set it directly, or through start_delay; at most 365 days ahead. A run cancelled before then makes no attempt. |
start_delay | duration | Start no earlier than this long after the request. |
caller_principal_id | string | Principal authenticated by Access when the run was created; not caller-writable. Output only. |
caller_key_id | string | Access key that created the run; never the key's secret value. Output only. |
job_uid | string | Immutable Job UID captured with the run's generation and spec. Output only. |
job_spec_digest | string | SHA-256 of the frozen base Job spec, before this run's overrides. Output only. |
stop_verified | bool | True only after all dispatched or ambiguously dispatched attempts have an observed stop/retirement receipt. Cancellation acceptance is not proof. Output only. |
#ResourceMeta
| Field | Type | What it is |
|---|---|---|
generation | int64 | Increases by one on every change to spec. Output only. |
etag | string | Strong ETag (AIP-154): changes on any change to spec, status, or metadata. Send it back as If-Match or etag to make Update and Delete conditional; a mismatch fails with ABORTED / 409 ETAG_MISMATCH. Output only. |
create_time | timestamp | When the Resource was created. Output only. |
update_time | timestamp | When the Resource last changed. Output only. |
delete_time | timestamp | Set while the Resource is being deleted. Output only. |
labels | map<string, string> | Caller-writable, indexed labels (AIP-122 label rules). |
annotations | map<string, string> | Caller-writable, unindexed annotations. |
display_name | string | Caller-writable human-readable name. |
creator | string | The principal that created the Resource. Output only. |
#ScheduleFireRef
| Field | Type | What it is |
|---|---|---|
schedule | string | The Schedule. Output only. |
intended_time | timestamp | The instant the fire was due. Output only. |
#JobRunUsage
| Field | Type | What it is |
|---|---|---|
billed_duration | duration | Summed wall time of every attempt from start to exit; billed as this duration on instance_type (workflows.job.seconds). Output only. |
instance_type | string | The instance type the attempts ran on. Output only. |
#Errors
UNAUTHENTICATED— No valid key or token was presented.PERMISSION_DENIED— The key lacks the method's permission.RESOURCE_NOT_FOUND— The named Resource does not exist or is not visible.UNKNOWN_FIELD— The request has a field the schema does not know.INVALID_FIELD— A field failed validation.INVALID_STATE— The Resource is in a state that forbids the call.RESOURCE_ALREADY_EXISTS— A Resource with this name exists.IDEMPOTENCY_KEY_REUSED— An Idempotency-Key was reused with another body.IDEMPOTENCY_IN_PROGRESS— The first call with this Idempotency-Key is still running.PLAN_LIMIT_REACHED— The plan's limit is reached.
Every error arrives in the body Errors describes.
#Examples
curl -X POST "https://api.sylphx.com/v1/orgs/acme/projects/shop/envs/production/jobs/job/job_runs:createPinned" \
-H "Authorization: Bearer $SYLPHX_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'