The headers and signed token the scheduler sends with every call to your target.

Headers we add

Every call carries these headers, as well as the ones you set on the job.

HeaderHolds
X-Scheduler-JobIdThe job’s ID
X-Scheduler-JobNameThe job’s name
X-Scheduler-RunIdThe run’s ID
X-Scheduler-AttemptThe attempt number, from 1
X-Scheduler-ScheduleTimeWhen the run was due, in RFC 3339. The same for every attempt in a run

Use X-Scheduler-JobId and X-Scheduler-ScheduleTime together to recognise a run you have already handled. See Repeated calls.

Headers you cannot set

The scheduler sets these itself, so a job cannot:

  • Host, Content-Length, Transfer-Encoding, Connection, and User-Agent
  • Any header starting with X-Scheduler-
  • Authorization, when signing is on

Signed token

With signing on, every call carries a token in the Authorization header:

Authorization: Bearer <token>

The token is a JSON Web Token, signed with RS256. A new one is made for each attempt, and it expires 10 minutes later.

ClaimHolds
isshttps://scheduler-api.digitospace.com
audThe job’s audience: the target URL without its query, or the job’s signing.audience
subprojects/{project}/jobs/{job}, the job that made the call
iatWhen the token was made
nbf30 seconds before it was made, to allow for clocks that differ
expWhen the token expires, 10 minutes after it was made
jtiThe run’s ID and the attempt number, such as 01m3c081dbf3j55x7hsa7wc1yj.2
project_idThe project’s ID
job_idThe job’s ID
run_idThe run’s ID

The public keys are at https://scheduler-api.digitospace.com/.well-known/jwks.json, and the discovery document is at https://scheduler-api.digitospace.com/.well-known/openid-configuration. See Verify calls to your target.

Last updated