Scheduling

Ensure an interview session for an application round

Ensure an interview session for an application round

Required scopes: interview_sessions:write

Creates or reuses the interview session needed before scheduling readiness, link generation, interview start/complete, and scorecard flows. Requires a secret key with interview_sessions:write; publishable keys are denied. The server validates application org/mode, archive state, interview plan, and round membership, then returns a redacted is_... session envelope. Unavailable setup targets return the same safe not-found envelope and do not mutate. Integrations must use this public API setup path rather than directly inserting interview session rows.

Example (curl):

curl -X POST https://api.yardstick.team/v1/applications/app_def456/interview_sessions/actions/ensure \
  -H 'Authorization: Bearer ys_sk_live_…' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: 7c3a…' \
  -d '{"interview_plan_id":"ipd_…","round_id":"round-technical"}'

Example (TypeScript):

await fetch(
  "https://api.yardstick.team/v1/applications/app_def456/interview_sessions/actions/ensure",
  {
    method: "POST",
    headers: {
      Authorization: `Bearer ${process.env.YS_API_KEY}`,
      "Content-Type": "application/json",
      "Idempotency-Key": crypto.randomUUID(),
    },
    body: JSON.stringify({
      interview_plan_id: "ipd_…",
      round_id: "round-technical",
    }),
  },
).then((r) => r.json());
post/v1/applications/{application_id}/interview_sessions/actions/ensure

Request

  • Base URL: https://api.yardstick.team
  • URL: https://api.yardstick.team/v1/applications/{application_id}/interview_sessions/actions/ensure
  • Auth: HTTP bearer

Path parameters

application_idstring required

Headers

Idempotency-Keystring

Supported for safe retry. Reuse the same key to receive the cached response without repeating the operation.

X-Request-Idstring

Optional caller-supplied request identifier. Values must match ^[A-Za-z0-9_-]{1,128}$; a valid value is echoed in the response X-Request-Id header, otherwise the API generates one.

Request body

interview_plan_idstring

Optional ipd_... assertion. When present it must match the application plan.

round_idstring required

Stable round id from the application's published interview plan.

round_titlestring

Optional caller hint. The server always uses the trusted stored round title.

Response

Interview session created or reused. The response is redacted and carries the is_... id for downstream scheduling and interview-evaluation calls.

idstring required

Display id, e.g. is_<base32>.

object'interview_session' required
application_idstring required

Display id, e.g. app_<base32>.

opportunity_idstring required

Display id, e.g. opp_<base32>.

interview_plan_idstring required

Display id of the application's interview plan, e.g. ipd_<base32>.

statusstring required

Current interview session status.

interview_version_idstring nullable required

UUID of the assigned interview version when one is available.

livemodeboolean required
createdboolean required

True when the ensure call created a new session row.

reusedboolean required

True when the ensure call reused an existing session row.

Changes

No recorded changes to this operation across all 1 revision of this API.