মূল অংশে যান
API রেফারেন্স

SeekIQ API v1। ৩৭টি অপারেশন, রিসোর্স অনুযায়ী সাজানো।

যে OpenAPI ফাইল দিয়ে আমাদের টেস্ট API যাচাই করে, সেটি থেকেই তৈরি। প্রতিটি এন্ডপয়েন্টে আছে দরকারি স্কোপ, প্যারামিটার, রিকোয়েস্ট ও রেসপন্সের গঠন আর একটি curl উদাহরণ।

এই পেজে

মূল কথা

রেফারেন্সে এন্ডপয়েন্ট আর ফিল্ডের বর্ণনা ইংরেজিতে, কারণ সেগুলো সরাসরি OpenAPI ফাইল থেকে আসে।

বেস URL https://app.seekiq.io/api/v1। আপনার কী Authorization: Bearer হিসেবে পাঠান। সব এরর একই কাঠামোয় আসে: একটি code, একটি message আর একটি request id। তালিকার এন্ডপয়েন্ট limit আর cursor নেয় এবং next_cursor আর has_more ফেরত দেয়।

অথেন্টিকেশন, রেট লিমিট আর ভার্সনিং পড়ুন

Jobs

Jobs and their workflow stages

List jobs

GET/jobs

স্কোপ:jobs:read

প্যারামিটার

  • statusJobStatusকোয়েরি

    closed also returns paused and archived jobs, which read as closed.

    draftopenclosed
  • limitintegerকোয়েরি
  • cursorstringকোয়েরি

    Opaque cursor from next_cursor. Expires after 24h (400 bad_request, reason cursor_expired); a cursor from another list answers 400 bad_request, reason invalid_cursor.

রেসপন্স

  • 200{ data: Job[], next_cursor: string | null, has_more: boolean }

    A page of jobs

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/jobs" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Create a job

POST/jobs

স্কোপ:jobs:write

প্যারামিটার

  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রিকোয়েস্ট বডি

স্কিমা JobCreate

  • titlestringআবশ্যিক
  • internjuniormidseniorleadmanager
  • departmentstring | null
  • locationstring | null
  • jdobject
  • workflow_template_idstring | null
  • deadline_atstring (date-time) | null

রেসপন্স

  • 201Job

    Created

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/jobs" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Customer support lead"
  }'

Get a job

GET/jobs/{job_id}

স্কোপ:jobs:read

প্যারামিটার

  • job_idIdপাথআবশ্যিক

রেসপন্স

  • 200Job

    The job

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/jobs/job_01JB5C1N" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Update a job

PATCH/jobs/{job_id}

স্কোপ:jobs:write

Setting status to open reopens a job published before; a job never published answers 422 unprocessable (publish it in the job wizard first). It answers 409 conflict with error.reason job_limit when the workspace already has as many open jobs as its plan allows (the trial: 3; Starter: 5; Growth and Enterprise: no limit). Close a job to free a slot. Setting status to draft on a published job answers 409 invalid_transition.

প্যারামিটার

  • job_idIdপাথআবশ্যিক

রিকোয়েস্ট বডি

স্কিমা JobUpdate

  • statusJobStatus
    draftopenclosed
  • titlestring
  • internjuniormidseniorleadmanager
  • departmentstring | null
  • locationstring | null
  • jdobject
  • workflow_template_idstring | null
  • deadline_atstring (date-time) | null

রেসপন্স

  • 200Job

    Updated

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X PATCH "https://app.seekiq.io/api/v1/jobs/job_01JB5C1N" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "status": "draft",
    "title": "Customer support lead",
    "level": "intern"
  }'

List the workflow stages of a job (resolved template + job override)

GET/jobs/{job_id}/stages

স্কোপ:jobs:read

প্যারামিটার

  • job_idIdপাথআবশ্যিক

রেসপন্স

  • 200{ workflow_version: integer, data: Stage[] }

    Ordered stages

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/jobs/job_01JB5C1N/stages" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Applications

Applications and stage moves

List applications

GET/applications

স্কোপ:applications:read

প্যারামিটার

  • job_idIdকোয়েরি
  • stage_idIdকোয়েরি
  • updated_sincestring (date-time)কোয়েরি
  • limitintegerকোয়েরি
  • cursorstringকোয়েরি

    Opaque cursor from next_cursor. Expires after 24h (400 bad_request, reason cursor_expired); a cursor from another list answers 400 bad_request, reason invalid_cursor.

রেসপন্স

  • 200{ data: Application[], next_cursor: string | null, has_more: boolean }

    A page of applications

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/applications" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Create an application

POST/applications

স্কোপ:applications:write

consent is required. AI screening waits for consent if consent.ai_screening is not true. The candidate needs a phone or an email (400 validation_failed otherwise) and is matched to an existing candidate by either. An unknown job_id answers 400 validation_failed, a job that is not open answers 422 unprocessable and a candidate who already applied to the job answers 409 conflict. cv_url and cv_upload_id are recorded in the audit log but the CV is not fetched or read yet, so cv_match stays null for applications created here.

প্যারামিটার

  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রিকোয়েস্ট বডি

স্কিমা ApplicationCreate

  • job_idIdআবশ্যিক
  • candidateCandidateInputআবশ্যিক
  • cv_urlstring (uri) | null

    Recorded in the audit log; the CV is not fetched or read yet.

  • cv_upload_idstring | null

    Recorded in the audit log; the CV is not fetched or read yet.

  • Defaults to api.

    careers_siteembedapiemail_inboxreferralsourcedjob_board
  • answersobject[]

    Answers to the job's apply form, checked against each question (an unknown question or a value that does not fit is a validation_failed). A multi choice answer is option ids separated by commas; yes or no is yes or no. File questions cannot be answered here.

  • consentConsentআবশ্যিক

রেসপন্স

  • Created

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/applications" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "job_id": "job_01JB7X4M2Q8Z",
    "candidate": {
      "name": "Nadia Rahman"
    },
    "consent": {
      "ai_screening": true,
      "text_version": "ai-screening-2026-10",
      "captured_at": "2026-10-26T09:30:00Z"
    }
  }'

Get an application

GET/applications/{application_id}

স্কোপ:applications:read

প্যারামিটার

  • application_idIdপাথআবশ্যিক

রেসপন্স

  • The application

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/applications/app_01JB7X4M2Q8Z" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Move an application to another stage

POST/applications/{application_id}/move

স্কোপ:applications:write

Cannot move to a rejected or archived state (that is a decision). Moving into the offer stage requires an approved, sent or signed offer (reason offer_not_approved). Hired is never a move: a person confirms the hire in the app once the candidate has signed (reason hire_is_a_decision). A stage that is not in the job's workflow, the stage the application is already in, or an application a person rejected also answer 409 invalid_transition.

প্যারামিটার

  • application_idIdপাথআবশ্যিক
  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রিকোয়েস্ট বডি

  • to_stage_idIdআবশ্যিক
  • reasonstring | null

রেসপন্স

  • Moved

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/applications/app_01JB7X4M2Q8Z/move" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "to_stage_id": "stg_01JB7X4M2Q8Z"
  }'

Candidates

One candidate record across all jobs

List or look up candidates

GET/candidates

স্কোপ:candidates:read

প্যারামিটার

  • emailstring (email)কোয়েরি
  • phonePhoneকোয়েরি
  • tagstringকোয়েরি
  • limitintegerকোয়েরি
  • cursorstringকোয়েরি

    Opaque cursor from next_cursor. Expires after 24h (400 bad_request, reason cursor_expired); a cursor from another list answers 400 bad_request, reason invalid_cursor.

রেসপন্স

  • 200{ data: Candidate[], next_cursor: string | null, has_more: boolean }

    A page of candidates

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/candidates" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Create a candidate

POST/candidates

স্কোপ:candidates:write

A phone and an email are both optional here. A candidate with the same phone or email answers 409 conflict. Without language the candidate's language is bn.

প্যারামিটার

  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রিকোয়েস্ট বডি

স্কিমা CandidateInput

  • namestringআবশ্যিক
  • phonePhone
  • emailstring (email) | null
  • photo_urlstring (uri) | null

    URL of a photo the candidate chose to provide (up to 2000 characters). Stored, not returned on the Candidate. Never used in scoring.

  • enbnhiurartlesidms
  • tagsstring[]

রেসপন্স

  • Created

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/candidates" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Nadia Rahman"
  }'

Get a candidate

GET/candidates/{candidate_id}

স্কোপ:candidates:read

প্যারামিটার

  • candidate_idIdপাথআবশ্যিক

রেসপন্স

  • The candidate

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/candidates/cand_01JB6D2P" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Update a candidate

PATCH/candidates/{candidate_id}

স্কোপ:candidates:write

A phone or email another candidate already has answers 409 conflict.

প্যারামিটার

  • candidate_idIdপাথআবশ্যিক

রিকোয়েস্ট বডি

স্কিমা CandidateUpdate

  • namestring
  • phonePhone
  • emailstring (email) | null
  • photo_urlstring (uri) | null

    URL of a photo the candidate chose to provide (up to 2000 characters). Stored, not returned on the Candidate. Never used in scoring.

  • enbnhiurartlesidms
  • tagsstring[]

রেসপন্স

  • Updated

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X PATCH "https://app.seekiq.io/api/v1/candidates/cand_01JB6D2P" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Nadia Rahman",
    "phone": "+8801712345678",
    "email": "nadia@example.com"
  }'

Interviews

AI and human interviews

List interviews

GET/interviews

স্কোপ:interviews:read

Screening interviews and scheduled human interviews. A spoken walkthrough of a candidate's coding challenge or take-home is part of its assessment and is not listed here.

প্যারামিটার

  • application_idIdকোয়েরি
  • kindstringকোয়েরি
    aihuman
  • limitintegerকোয়েরি
  • cursorstringকোয়েরি

    Opaque cursor from next_cursor. Expires after 24h (400 bad_request, reason cursor_expired); a cursor from another list answers 400 bad_request, reason invalid_cursor.

রেসপন্স

  • 200{ data: Interview[], next_cursor: string | null, has_more: boolean }

    A page of interviews

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/interviews" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Get an interview

GET/interviews/{interview_id}

স্কোপ:interviews:read

প্যারামিটার

  • interview_idIdপাথআবশ্যিক

রেসপন্স

  • The interview

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/interviews/int_01JB9F4S" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Scorecards

AI scorecard and human feedback, read only, never merged

Get the AI scorecard and human feedback (read only, never merged)

GET/applications/{application_id}/scorecard

স্কোপ:scorecards:read

প্যারামিটার

  • application_idIdপাথআবশ্যিক

রেসপন্স

  • Scorecard

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/applications/app_01JB7X4M2Q8Z/scorecard" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Decisions

Human decisions (user-attributed keys only)

List decisions on an application

GET/applications/{application_id}/decisions

স্কোপ:applications:read

প্যারামিটার

  • application_idIdপাথআবশ্যিক

রেসপন্স

  • 200{ data: Decision[] }

    Decisions, newest first

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/applications/app_01JB7X4M2Q8Z/decisions" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Record a human decision (user-attributed key only)

POST/applications/{application_id}/decisions

স্কোপ:decisions:writeইউজার-অ্যাট্রিবিউটেড কী লাগে

Human-in-the-loop rule: a named person approves every advance, hold or reject. A service key cannot hold decisions:write, so it gets 403 insufficient_scope; any other key that is not user-attributed gets 403 human_actor_required. The acting member must be able to decide on the job (403 forbidden otherwise). Audited with actor, key prefix and scorecard version. 409 conflict when the application is already rejected and a reject is sent, or with reason review_pending when an advance meets a score whose two passes disagree. More than 20 rejections in an hour from one key answer 429 rate_limited.

প্যারামিটার

  • application_idIdপাথআবশ্যিক
  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রিকোয়েস্ট বডি

স্কিমা DecisionCreate

  • outcomeDecisionOutcomeআবশ্যিক
    advanceholdreject
  • reasonstringআবশ্যিক
  • rejection_reason_codestring | null

    For a rejection: one of the job's Archived stage rejection reasons (the workspace's list), required when that list is set (else 422 reason_code). A rejection moves the application to the Archived stage through the workflow, as the app's decision gate does: stage history, the stage's entry automations and application.stage_changed. An advance moves to the next stage the same way. Undo puts it back.

  • messageobjectআবশ্যিক

রেসপন্স

  • Recorded

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/applications/app_01JB7X4M2Q8Z/decisions" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "outcome": "advance",
    "reason": "Strong on customer empathy",
    "message": {
      "template_id": "otpl_01JB7X4M2Q8Z",
      "language": "en"
    }
  }'

Undo a decision inside its undo window (user-attributed key only)

DELETE/decisions/{decision_id}

স্কোপ:decisions:writeইউজার-অ্যাট্রিবিউটেড কী লাগে

Until the decision's undo_until (five minutes after it was made) and while its candidate message has not gone out, undoes the decision: the queued message is cancelled, the candidate goes back to the stage they were in, the decision leaves the list and the undo is audited under the member the key acts for. A decision.undone event follows (and application.stage_changed when the stage moved back). Messages from POST /applications/{application_id}/decisions wait out the undo window before they are sent. What the move's entry automations created (self-schedule invites, entry messages, reviewer requests nobody started) is reversed too; anything created by hand stays. 409 with error.reason undo_window_closed, message_sent, schedule_booked, stage_moved or already_undone when it can no longer be undone; 403 forbidden (reason role) when the member cannot decide on the job.

প্যারামিটার

  • decision_idIdপাথআবশ্যিক

রেসপন্স

  • 204

    Undone; the message was cancelled

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X DELETE "https://app.seekiq.io/api/v1/decisions/dec_01JB8E3R" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Offers

Offer drafts and approval

List offers

GET/offers

স্কোপ:offers:read

প্যারামিটার

  • application_idIdকোয়েরি
  • statusOfferStatusকোয়েরি
    draftpending_approvalapprovedsentsigneddeclinedexpiredwithdrawn
  • limitintegerকোয়েরি
  • cursorstringকোয়েরি

    Opaque cursor from next_cursor. Expires after 24h (400 bad_request, reason cursor_expired); a cursor from another list answers 400 bad_request, reason invalid_cursor.

রেসপন্স

  • 200{ data: Offer[], next_cursor: string | null, has_more: boolean }

    A page of offers

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/offers" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Create an offer draft from a letter template

POST/offers

স্কোপ:offers:write

An unknown application answers 404 not_found; an unknown template_id or an expires_on before today answers 400 validation_failed. An application with a live offer answers 409 conflict (reason already_has_offer). A letter with fields SeekIQ does not know answers 422 unprocessable (reason merge_unknown). A user-attributed key answers 403 forbidden when its member cannot work on offers for the job.

প্যারামিটার

  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রিকোয়েস্ট বডি

স্কিমা OfferCreate

  • application_idIdআবশ্যিক
  • template_idstring | null

    An offer letter template (otpl_), as returned on an Offer. Omit to use the workspace default letter, or the starter letter when the workspace has no default.

  • languageLanguage

    Letter language. Defaults to the candidate's language.

    enbn
  • termsOfferTermsআবশ্যিক

রেসপন্স

  • Draft created

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/offers" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "application_id": "app_01JB7X4M2Q8Z",
    "terms": {
      "salary": {
        "amount": 1,
        "currency": "BDT"
      },
      "expires_on": "2026-11-30",
      "title": "Customer support lead",
      "period": "hour",
      "start_date": "2026-11-30"
    }
  }'

Get an offer

GET/offers/{offer_id}

স্কোপ:offers:read

প্যারামিটার

  • offer_idIdপাথআবশ্যিক

রেসপন্স

  • The offer

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/offers/off_01JBAG5T" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Start the approval chain (approving and sending happen in the app)

POST/offers/{offer_id}/submit

স্কোপ:offers:write

Only a draft can be submitted (409 invalid_transition, reason wrong_status). A letter missing a value or holding an unknown field answers 422 unprocessable (reason merge_missing or merge_unknown); an invalid workspace approval chain answers 422 (reason chain_invalid).

প্যারামিটার

  • offer_idIdপাথআবশ্যিক
  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রেসপন্স

  • Now pending_approval

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/offers/off_01JBAG5T/submit" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Talent pools

Talent pools and membership

List talent pools

GET/pools

স্কোপ:pools:read

প্যারামিটার

  • limitintegerকোয়েরি
  • cursorstringকোয়েরি

    Opaque cursor from next_cursor. Expires after 24h (400 bad_request, reason cursor_expired); a cursor from another list answers 400 bad_request, reason invalid_cursor.

রেসপন্স

  • 200{ data: TalentPool[], next_cursor: string | null, has_more: boolean }

    A page of pools

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/pools" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Create a talent pool

POST/pools

স্কোপ:pools:write

প্যারামিটার

  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রিকোয়েস্ট বডি

  • namestringআবশ্যিক
  • descriptionstring | null

রেসপন্স

  • Created

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/pools" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Nadia Rahman"
  }'

List pool members

GET/pools/{pool_id}/members

স্কোপ:pools:read

প্যারামিটার

  • pool_idIdপাথআবশ্যিক
  • limitintegerকোয়েরি
  • cursorstringকোয়েরি

    Opaque cursor from next_cursor. Expires after 24h (400 bad_request, reason cursor_expired); a cursor from another list answers 400 bad_request, reason invalid_cursor.

রেসপন্স

  • 200{ data: PoolMember[], next_cursor: string | null, has_more: boolean }

    A page of members

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/pools/pool_01JBBH6V/members" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Add a candidate to a pool

POST/pools/{pool_id}/members

স্কোপ:pools:write

An unknown candidate answers 400 validation_failed; a candidate already in the pool answers 409 conflict.

প্যারামিটার

  • pool_idIdপাথআবশ্যিক
  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রিকোয়েস্ট বডি

  • candidate_idIdআবশ্যিক

রেসপন্স

  • Added

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/pools/pool_01JBBH6V/members" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "candidate_id": "cand_01JB7X4M2Q8Z"
  }'

Remove a candidate from a pool

DELETE/pools/{pool_id}/members/{candidate_id}

স্কোপ:pools:write

প্যারামিটার

  • pool_idIdপাথআবশ্যিক
  • candidate_idIdপাথআবশ্যিক

রেসপন্স

  • 204

    Removed

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X DELETE "https://app.seekiq.io/api/v1/pools/pool_01JBBH6V/members/cand_01JB6D2P" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Webhooks

Webhook endpoints and the delivery log

List webhook endpoints

GET/webhooks

স্কোপ:webhooks:manage

রেসপন্স

  • 200{ data: WebhookEndpoint[] }

    Endpoints

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/webhooks" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Create a webhook endpoint (secret returned once)

POST/webhooks

স্কোপ:webhooks:manage

A URL that is not public https answers 400 validation_failed on url. The secret is whsec_ plus 32 characters. 503 unavailable when webhooks are not configured on the server.

প্যারামিটার

  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রিকোয়েস্ট বডি

স্কিমা WebhookEndpointInput

  • urlstring (uri)আবশ্যিক

    A public https URL. The host is resolved on save and before every delivery; any private, loopback, link local, metadata or reserved address is refused (README section 6).

  • eventsEventType[]আবশ্যিক
  • descriptionstring | null
  • activeboolean

রেসপন্স

  • 201{ id: Id, url: string (uri), events: EventType[], description: string | null, active: boolean, disabled_reason: string | null, created_at: string (date-time), secret: string }

    Created

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/webhooks" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/hooks/seekiq",
    "events": [
      "ping"
    ]
  }'

Get a webhook endpoint

GET/webhooks/{webhook_id}

স্কোপ:webhooks:manage

প্যারামিটার

  • webhook_idIdপাথআবশ্যিক

রেসপন্স

  • Endpoint

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/webhooks/whk_01JBCJ7W" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Update a webhook endpoint

PATCH/webhooks/{webhook_id}

স্কোপ:webhooks:manage

প্যারামিটার

  • webhook_idIdপাথআবশ্যিক

রিকোয়েস্ট বডি

স্কিমা WebhookEndpointUpdate

  • urlstring (uri)

    A public https URL. The host is resolved on save and before every delivery; any private, loopback, link local, metadata or reserved address is refused (README section 6).

  • descriptionstring | null
  • activeboolean

রেসপন্স

উদাহরণ

curl
curl -X PATCH "https://app.seekiq.io/api/v1/webhooks/whk_01JBCJ7W" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/hooks/seekiq",
    "events": [
      "ping"
    ],
    "description": "Support team in Dhaka"
  }'

Delete a webhook endpoint

DELETE/webhooks/{webhook_id}

স্কোপ:webhooks:manage

প্যারামিটার

  • webhook_idIdপাথআবশ্যিক

রেসপন্স

  • 204

    Deleted

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X DELETE "https://app.seekiq.io/api/v1/webhooks/whk_01JBCJ7W" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Rotate the signing secret (old secret also signs for 24h)

POST/webhooks/{webhook_id}/rotate-secret

স্কোপ:webhooks:manage

প্যারামিটার

  • webhook_idIdপাথআবশ্যিক
  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রেসপন্স

  • 200{ secret: string, previous_expires_at: string (date-time) }

    New secret

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/webhooks/whk_01JBCJ7W/rotate-secret" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Send a ping event

POST/webhooks/{webhook_id}/test

স্কোপ:webhooks:manage

প্যারামিটার

  • webhook_idIdপাথআবশ্যিক
  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রেসপন্স

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/webhooks/whk_01JBCJ7W/test" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

Delivery log

GET/webhooks/{webhook_id}/deliveries

স্কোপ:webhooks:manage

প্যারামিটার

  • webhook_idIdপাথআবশ্যিক
  • statusstringকোয়েরি
    succeededfailedpending
  • limitintegerকোয়েরি
  • cursorstringকোয়েরি

    Opaque cursor from next_cursor. Expires after 24h (400 bad_request, reason cursor_expired); a cursor from another list answers 400 bad_request, reason invalid_cursor.

রেসপন্স

  • 200{ data: WebhookDelivery[], next_cursor: string | null, has_more: boolean }

    A page of deliveries

  • এররError

    Error envelope (400, 401, 403, 404, 409, 413, 422, 429, 5xx)

উদাহরণ

curl
curl "https://app.seekiq.io/api/v1/webhooks/whk_01JBCJ7W/deliveries" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY"

Redeliver an event (same event id)

POST/webhooks/{webhook_id}/deliveries/{delivery_id}/redeliver

স্কোপ:webhooks:manage

Any delivery of the event on this endpoint can be redelivered. The redelivery is one new attempt (attempt 1, a new delivery id) and is not retried automatically.

প্যারামিটার

  • webhook_idIdপাথআবশ্যিক
  • delivery_idIdপাথআবশ্যিক
  • Idempotency-Keystring (uuid)হেডার

    POST only, scoped to the API key. Replays the stored response for 24h with Idempotent-Replayed true. The same key with a different method, path or body returns 409 idempotency_key_reused; a key whose first request is still running returns 409 conflict; a value that is not a UUID returns 400 bad_request.

রেসপন্স

উদাহরণ

curl
curl -X POST "https://app.seekiq.io/api/v1/webhooks/whk_01JBCJ7W/deliveries/dlv_01JBDK8X/redeliver" \
  -H "Authorization: Bearer $SEEKIQ_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

স্কিমা

এন্ডপয়েন্টগুলো যে গঠনে ডেটা পাঠায় ও নেয়। এন্ডপয়েন্টে কোনো টাইপ থাকলে তা এখানে লিংক করা।

Id

Opaque prefixed id (job_, app_, cand_, int_, off_, otpl_, pool_, dec_, whk_, dlv_, evt_, usr_, stg_, org_, key_, doc_, dreq_). Do not parse.

Phone

E.164

Language

English or Bangla, the two values v1 reports today for an interview or offer letter language. More values may be added; accept unknown values.

enbn

CandidateLanguage

The candidate's language, for their emails, SMS and candidate pages. Job titles and other text a workspace writes in English and Bangla appear in Bangla for bn and in English for the other languages.

enbnhiurartlesidms

Money

  • amountintegerআবশ্যিক

    Minor units

  • currencystringআবশ্যিক

Error

  • errorobjectআবশ্যিক

Page

  • dataany[]আবশ্যিক
  • next_cursorstring | nullআবশ্যিক
  • has_morebooleanআবশ্যিক

Actor

  • typestringআবশ্যিক
    userautomationapi_key
  • idIdআবশ্যিক
  • namestring | null

Evidence

  • sourcestringআবশ্যিক
    cvtranscript
  • quotestringআবশ্যিক
  • answer_idstring | null
  • start_msinteger | null
  • end_msinteger | null
  • cv_lineinteger | null

CvMatch

How well the CV evidences the job's competencies, in the IQ shape. percent is the 0 to 100 CV match the pipeline shows. value is the same number on the 1 to 5 scale every score uses: the percent mapped back onto the competency scale (0 is 1, 100 is 5) and rounded half up, so 0 to 12 is 1, 13 to 37 is 2, 38 to 62 is 3, 63 to 87 is 4 and 88 to 100 is 5; label is that level's name. evidence holds the CV quotes behind it. sufficiency is none when no competency has evidence, sufficient when every one has full evidence and thin otherwise. Null until the CV is read and matched. It sits beside the interview score and is never merged into it.

  • valueintegerআবশ্যিক
  • labelstringআবশ্যিক
  • percentintegerআবশ্যিক
  • evidenceEvidence[]আবশ্যিক
  • sufficiencystringআবশ্যিক
    sufficientthinnone
  • modelstringআবশ্যিক
  • prompt_versionstringআবশ্যিক

AiValue

IQ shape. No bare numbers.

  • valueinteger | nullআবশ্যিক

    Null with sufficiency none (no citation, no score).

  • labelstringআবশ্যিক
  • evidenceEvidence[]আবশ্যিক
  • sufficiencystringআবশ্যিক
    sufficientthinnone
  • modelstringআবশ্যিক
  • prompt_versionstringআবশ্যিক

JobStatus

draftopenclosed

Job

  • idIdআবশ্যিক
  • titlestringআবশ্যিক
  • slugstring
  • internjuniormidseniorleadmanager
  • integritystring

    Integrity checks for the job's interviews and tests. light: no camera, browser signals only; standard (the default): an optional selfie; strict: a selfie and a head-turn check before the interview, photos every 20 seconds and tests in full screen. Set in the app. Checks raise flags for a person to review and never change a score or reject anyone.

    lightstandardstrict
  • statusJobStatusআবশ্যিক
    draftopenclosed
  • departmentstring | null
  • locationstring | null
  • jdobject
  • careers_urlstring (uri) | null
  • deadline_atstring (date-time) | null

    The application deadline. A deadline set in the app is a day in the workspace time zone (stored as 23:59 local) and closes as that day ends; one sent here closes at that instant.

  • accepting_applicationsboolean

    Additive, 2026-10-29. True while the job takes new applications: open, and its deadline has not passed (or the job keeps taking applications after it). When the deadline closes a job, the job stays open for review, interviews and decisions already in flight, the careers pages say "Applications closed" and POST /applications refuses with 422. A later deadline_at reopens it.

  • applications_closed_atstring (date-time) | null

    Additive, 2026-10-29. When the deadline closed the job to new applications; null while it takes them.

  • timezonestring
  • created_atstring (date-time)আবশ্যিক
  • updated_atstring (date-time)আবশ্যিক

JobLevel

Seniority. Sets interview question difficulty, the scoring anchors, answer time and how deep follow-ups go. When a job is created without one it comes from the title ("Senior ..." is senior); anything without a level word is mid.

internjuniormidseniorleadmanager

JobFields

  • titlestring
  • internjuniormidseniorleadmanager
  • departmentstring | null
  • locationstring | null
  • jdobject
  • workflow_template_idstring | null
  • deadline_atstring (date-time) | null

JobCreate

  • titlestringআবশ্যিক
  • internjuniormidseniorleadmanager
  • departmentstring | null
  • locationstring | null
  • jdobject
  • workflow_template_idstring | null
  • deadline_atstring (date-time) | null

JobUpdate

  • statusJobStatus
    draftopenclosed
  • titlestring
  • internjuniormidseniorleadmanager
  • departmentstring | null
  • locationstring | null
  • jdobject
  • workflow_template_idstring | null
  • deadline_atstring (date-time) | null

StageType

appliedai_screenphoneassessmentpanelofferhiredarchived

Stage

  • idIdআবশ্যিক
  • typeStageTypeআবশ্যিক
    appliedai_screenphoneassessmentpanelofferhiredarchived
  • namestringআবশ্যিক
  • orderintegerআবশ্যিক
  • sla_hoursinteger | null
  • ai_screeningbooleanআবশ্যিক
  • nurtureboolean
  • text_versionstringআবশ্যিক
  • captured_atstring (date-time)আবশ্যিক

    With a Z or an offset.

  • captured_bystring

CandidateFields

  • namestring
  • phonePhone
  • emailstring (email) | null
  • photo_urlstring (uri) | null

    URL of a photo the candidate chose to provide (up to 2000 characters). Stored, not returned on the Candidate. Never used in scoring.

  • enbnhiurartlesidms
  • tagsstring[]

CandidateInput

  • namestringআবশ্যিক
  • phonePhone
  • emailstring (email) | null
  • photo_urlstring (uri) | null

    URL of a photo the candidate chose to provide (up to 2000 characters). Stored, not returned on the Candidate. Never used in scoring.

  • enbnhiurartlesidms
  • tagsstring[]

CandidateUpdate

  • namestring
  • phonePhone
  • emailstring (email) | null
  • photo_urlstring (uri) | null

    URL of a photo the candidate chose to provide (up to 2000 characters). Stored, not returned on the Candidate. Never used in scoring.

  • enbnhiurartlesidms
  • tagsstring[]

Candidate

  • idIdআবশ্যিক
  • namestringআবশ্যিক
  • emailstring (email) | null
  • enbnhiurartlesidms
  • tagsstring[]
  • consentobject
  • application_idsId[]
  • created_atstring (date-time)আবশ্যিক
  • updated_atstring (date-time)

ApplicationSource

Older applications that came in through a channel no longer offered are reported as sourced.

careers_siteembedapiemail_inboxreferralsourcedjob_board

Application

  • idIdআবশ্যিক
  • job_idIdআবশ্যিক
  • candidate_idIdআবশ্যিক
  • stageStageআবশ্যিক
  • statusstringআবশ্যিক
    activeon_holdrejectedhiredwithdrawn
  • sourceApplicationSourceআবশ্যিক
    careers_siteembedapiemail_inboxreferralsourcedjob_board
  • awaiting_consentboolean
  • Apply form answers in form order. Files are listed by name; their storage is never exposed.

  • screeningScreening
  • created_atstring (date-time)আবশ্যিক
  • updated_atstring (date-time)আবশ্যিক

ApplicationAnswer

  • question_idstringআবশ্যিক

    The form question id, or cover_letter, linkedin or portfolio for those standard questions.

  • labelobject | nullআবশ্যিক

    The question in both languages; null for a standard question or one no longer on the form.

  • typestringআবশ্যিক
  • valueanyআবশ্যিক

    Text, a number, yes or no, option ids. Files come as name, mime, size and kind.

Screening

IQ checks the recruiter's plain screening rules against the answers and the CV. A verdict only flags and sorts. It never rejects anyone on its own; only a job's autopilot rule that a person switched on may use it.

  • statusstring | nullআবশ্যিক

    Null when the form has no screening rules. capped means the workspace used its monthly IQ fair use.

    pendingdonecappedunavailable
  • misses_must_havebooleanআবশ্যিক

    A must-have rule was judged not met; the application sorts lower.

  • resultsobject[]আবশ্যিক

ApplicationCreate

  • job_idIdআবশ্যিক
  • candidateCandidateInputআবশ্যিক
  • cv_urlstring (uri) | null

    Recorded in the audit log; the CV is not fetched or read yet.

  • cv_upload_idstring | null

    Recorded in the audit log; the CV is not fetched or read yet.

  • Defaults to api.

    careers_siteembedapiemail_inboxreferralsourcedjob_board
  • answersobject[]

    Answers to the job's apply form, checked against each question (an unknown question or a value that does not fit is a validation_failed). A multi choice answer is option ids separated by commas; yes or no is yes or no. File questions cannot be answered here.

  • consentConsentআবশ্যিক

Interview

  • idIdআবশ্যিক
  • application_idIdআবশ্যিক
  • kindstringআবশ্যিক
    aihuman
  • stage_idstring | null
  • statusstringআবশ্যিক
    invitedscheduledin_progresscompletedabandonedcancelledno_show
  • languageLanguage
    enbn
  • scheduled_atstring (date-time) | null
  • completed_atstring (date-time) | null
  • interviewersActor[]
  • conferencing_urlstring (uri) | null

HumanFeedback

  • interviewerActorআবশ্যিক
  • stage_idIdআবশ্যিক
  • submitted_atstring (date-time)আবশ্যিক
  • recommendationstringআবশ্যিক
    strong_yesyesnostrong_no
  • ratingsobject[]আবশ্যিক

Scorecard

AI and human sections are separate and never merged into one number.

  • application_idIdআবশ্যিক
  • aiobject | nullআবশ্যিক
  • humanHumanFeedback[]আবশ্যিক

    Only submitted feedback is returned.

Attempt

  • answer_idstringআবশ্যিক
  • input_modestringআবশ্যিক
    voicetext
  • transcript_statusstringআবশ্যিক
    pendingdonefailedskipped
  • scoredbooleanআবশ্যিক

    Both scoring passes are stored.

  • valueinteger | nullআবশ্যিক

    This attempt alone.

  • labelstringআবশ্যিক
  • passesinteger | null[]আবশ্যিক
  • agreementstring | nullআবশ্যিক
    agreedisagree
  • evidenceEvidence[]আবশ্যিক

AttemptPair

  • redo_idstringআবশ্যিক
  • competencystringআবশ্যিক
  • question_indexintegerআবশ্যিক
  • statestringআবশ্যিক
    requestedreceivedexpiredrevoked
  • countedstringআবশ্যিক
    originalredo
  • counted_byActor | nullআবশ্যিক
  • counted_atstring (date-time) | nullআবশ্যিক
  • received_atstring (date-time) | nullআবশ্যিক
  • originalAttemptআবশ্যিক
  • redoAttempt | nullআবশ্যিক

    Null until the new answer is received.

DecisionOutcome

advanceholdreject

DecisionCreate

  • outcomeDecisionOutcomeআবশ্যিক
    advanceholdreject
  • reasonstringআবশ্যিক
  • rejection_reason_codestring | null

    For a rejection: one of the job's Archived stage rejection reasons (the workspace's list), required when that list is set (else 422 reason_code). A rejection moves the application to the Archived stage through the workflow, as the app's decision gate does: stage history, the stage's entry automations and application.stage_changed. An advance moves to the next stage the same way. Undo puts it back.

  • messageobjectআবশ্যিক

Decision

  • idIdআবশ্যিক
  • application_idIdআবশ্যিক
  • outcomeDecisionOutcomeআবশ্যিক
    advanceholdreject
  • reasonstringআবশ্যিক
  • decided_byActorআবশ্যিক
  • via_key_prefixstring | null
  • scorecard_versioninteger | null
  • message_statusstring
    queuedsentnot_sent
  • created_atstring (date-time)আবশ্যিক
  • undo_untilstring (date-time)

    Until then DELETE /decisions/{decision_id} can undo it, while the message has not gone out.

OfferStatus

draftpending_approvalapprovedsentsigneddeclinedexpiredwithdrawn

PayPeriod

hourmonthyear

OfferTerms

  • titlestringআবশ্যিক
  • salaryMoneyআবশ্যিক

    Gross pay per period, in minor units (45000 BDT a month is 4500000).

  • periodPayPeriodআবশ্যিক
    hourmonthyear
  • start_datestring (date)আবশ্যিক
  • expires_onstring (date)আবশ্যিক

    The last day the candidate can sign, in the workspace timezone.

  • locationstring | null
  • employment_typestring | null
  • bonusstring | null
  • benefitsstring | null
  • reports_tostring | null

OfferCreate

  • application_idIdআবশ্যিক
  • template_idstring | null

    An offer letter template (otpl_), as returned on an Offer. Omit to use the workspace default letter, or the starter letter when the workspace has no default.

  • languageLanguage

    Letter language. Defaults to the candidate's language.

    enbn
  • termsOfferTermsআবশ্যিক

OfferApproval

  • step_idstringআবশ্যিক
  • approver_rolestring | nullআবশ্যিক

    Set when anyone holding the role can approve the step.

    ownerrecruiterhiring_manager
  • approverActor | nullআবশ্যিক

    The named approver, or who approved or rejected the step. Null while a role step is open.

  • decisionstring | nullআবশ্যিক
    approvedrejected
  • atstring (date-time) | nullআবশ্যিক

Offer

  • idIdআবশ্যিক
  • application_idIdআবশ্যিক
  • candidate_idIdআবশ্যিক
  • job_idIdআবশ্যিক
  • template_idstring | nullআবশ্যিক
  • statusOfferStatusআবশ্যিক
    draftpending_approvalapprovedsentsigneddeclinedexpiredwithdrawn
  • languageLanguageআবশ্যিক
    enbn
  • termsOfferTermsআবশ্যিক
  • approvalsOfferApproval[]আবশ্যিক

    The steps of the newest approval chain, in order. Empty until the offer is submitted.

  • created_byActor | nullআবশ্যিক
  • pdf_urlstring (uri) | nullআবশ্যিক

    Signed URL of the letter PDF (the signed copy once signed), expires in 60 seconds: download it right away, or read the offer again for a fresh one. Null before the offer is sent.

  • sent_atstring (date-time) | nullআবশ্যিক
  • signed_atstring (date-time) | nullআবশ্যিক
  • declined_atstring (date-time) | nullআবশ্যিক
  • decline_reasonstring | nullআবশ্যিক
    compensationother_offerrole_fitlocationtimingpersonalother
  • created_atstring (date-time)আবশ্যিক
  • updated_atstring (date-time)আবশ্যিক

TalentPool

  • idIdআবশ্যিক
  • namestringআবশ্যিক
  • descriptionstring | null
  • member_countintegerআবশ্যিক
  • created_atstring (date-time)

PoolMember

  • candidate_idIdআবশ্যিক
  • added_atstring (date-time)আবশ্যিক
  • nurture_consentbooleanআবশ্যিক

EventType

pingapplication.createdapplication.stage_changedinterview.completedscorecard.readydecision.madedecision.undoneoffer.sentoffer.signedoffer.declineddocument.sentdocument.signeddocument.declinedcandidate.data_request

WebhookEndpointFields

  • urlstring (uri)

    A public https URL. The host is resolved on save and before every delivery; any private, loopback, link local, metadata or reserved address is refused (README section 6).

  • descriptionstring | null
  • activeboolean

WebhookEndpointInput

  • urlstring (uri)আবশ্যিক

    A public https URL. The host is resolved on save and before every delivery; any private, loopback, link local, metadata or reserved address is refused (README section 6).

  • eventsEventType[]আবশ্যিক
  • descriptionstring | null
  • activeboolean

WebhookEndpointUpdate

  • urlstring (uri)

    A public https URL. The host is resolved on save and before every delivery; any private, loopback, link local, metadata or reserved address is refused (README section 6).

  • descriptionstring | null
  • activeboolean

WebhookEndpoint

  • idIdআবশ্যিক
  • urlstring (uri)আবশ্যিক
  • eventsEventType[]আবশ্যিক
  • descriptionstring | null
  • activebooleanআবশ্যিক
  • disabled_reasonstring | null
  • created_atstring (date-time)আবশ্যিক

WebhookDelivery

  • idIdআবশ্যিক
  • event_idIdআবশ্যিক
  • event_typeEventTypeআবশ্যিক
    pingapplication.createdapplication.stage_changedinterview.completedscorecard.readydecision.madedecision.undoneoffer.sentoffer.signedoffer.declineddocument.sentdocument.signeddocument.declinedcandidate.data_request
  • attemptintegerআবশ্যিক
  • statusstringআবশ্যিক
    pendingsucceededfailed
  • response_statusinteger | null
  • latency_msinteger | null
  • response_excerptstring | null
  • next_retry_atstring (date-time) | null
  • created_atstring (date-time)

EventEnvelope

  • idIdআবশ্যিক
  • typeEventTypeআবশ্যিক
    pingapplication.createdapplication.stage_changedinterview.completedscorecard.readydecision.madedecision.undoneoffer.sentoffer.signedoffer.declineddocument.sentdocument.signeddocument.declinedcandidate.data_request
  • api_version"v1"আবশ্যিক
  • created_atstring (date-time)আবশ্যিক
  • org_idIdআবশ্যিক
  • dataobjectআবশ্যিক

PingData

  • messagestringআবশ্যিক

ApplicationCreatedData

  • application_idIdআবশ্যিক
  • job_idIdআবশ্যিক
  • candidate_idIdআবশ্যিক
  • sourceApplicationSourceআবশ্যিক
    careers_siteembedapiemail_inboxreferralsourcedjob_board
  • originstring | nullআবশ্যিক

    Host origin for embed applications

  • answersApplicationAnswer[]আবশ্যিক

    The apply form answers, as on the Application.

StageChangedData

  • application_idIdআবশ্যিক
  • job_idIdআবশ্যিক
  • from_stageStageআবশ্যিক
  • to_stageStageআবশ্যিক
  • actorActorআবশ্যিক
  • reasonstring | nullআবশ্যিক

InterviewCompletedData

  • interview_idIdআবশ্যিক
  • application_idIdআবশ্যিক
  • kindstringআবশ্যিক

    Always ai today; human interviews are scheduled meetings with feedback, not sessions.

    aihuman
  • completed_atstring (date-time)আবশ্যিক

ScorecardReadyData

  • application_idIdআবশ্যিক
  • scorecard_versionintegerআবশ্যিক
  • open_flagsintegerআবশ্যিক

DecisionMadeData

  • decision_idIdআবশ্যিক
  • application_idIdআবশ্যিক
  • outcomeDecisionOutcomeআবশ্যিক
    advanceholdreject
  • decided_byActorআবশ্যিক

DecisionUndoneData

  • decision_idIdআবশ্যিক
  • application_idIdআবশ্যিক
  • outcomeDecisionOutcomeআবশ্যিক
    advanceholdreject
  • undone_byActorআবশ্যিক

OfferEventData

  • offer_idIdআবশ্যিক
  • application_idIdআবশ্যিক
  • candidate_idIdআবশ্যিক
  • statusOfferStatusআবশ্যিক
    draftpending_approvalapprovedsentsigneddeclinedexpiredwithdrawn
  • document_sha256string | null

    sha256 of the offer letter PDF as sent (offer.sent and offer.signed)

  • signed_sha256string

    sha256 of the signed copy (offer.signed)

  • expires_onstring (date)

    Last day the offer can be signed (offer.sent)

  • reasonstring

    The candidate's decline reason code (offer.declined)

DocumentEventData

  • document_idIdআবশ্যিক
  • kindstringআবশ্যিক
    offeremployment_agreementndacontractor_agreementpolicyother
  • titlestringআবশ্যিক
  • statusstringআবশ্যিক
    sentcompleteddeclinedvoidedexpired
  • candidate_idId | nullআবশ্যিক
  • application_idId | nullআবশ্যিক
  • offer_idId | nullআবশ্যিক
  • original_sha256string | nullআবশ্যিক

    sha256 of the PDF as sent

  • party_rolestring

    The party that signed or declined (document.signed and document.declined)

    candidatecompanywitness
  • completeboolean

    True once every party has signed (document.signed)

  • signed_sha256string

    sha256 of the copy this signature produced, each copy with its own fingerprint (document.signed)

  • final_sha256string | null

    sha256 of the final copy with every signature and the certificate once complete, else null (document.signed)

DataRequestData

  • request_idIdআবশ্যিক
  • candidate_idIdআবশ্যিক
  • kindstringআবশ্যিক
    accessdeletehuman_reviewhuman_interview
  • due_atstring (date-time)আবশ্যিক