Skip to Content
Onboarding JobsCreate Onboarding Job

Create Onboarding Job API

Creates an onboarding job and returns the end-user onboarding link in the same response.

Endpoint

POST https://portal.idmission.com/api/create-onboarding-link Content-Type: application/json

Call this endpoint from your server only. Never expose the API key secret in client-side code or mobile apps.


Authentication

Send the API key as two fields in the JSON request body:

FieldRequiredDescription
apiKeyIdYesAPI key identifier (URN format)
apiKeySecretYesAPI key secret

Obtain credentials

  1. Sign in to https://dashboard.idmission.com 
  2. Go to Journey SettingsCredentials
  3. Click Create keys to generate an API key ID and secret

OnBo validates the key and uses its bound company and journey. The job is always created for the key’s company.

API keys must be journey-bound — create keys from Journey Settings → Credentials in the dashboard for each journey you integrate.


Request body

Send flat top-level fields, including apiKeyId and apiKeySecret:

{ "apiKeyId": "urn:apikeysv1:prod:region:company:YOUR_KEY_UUID", "apiKeySecret": "YOUR_API_KEY_SECRET", "name": "Jane Doe", "phone": "+15551234567", "email": "jane@example.com", "campaignToken": "campaign-abc-123", "firstDayOfEmployment": "03/15/2026", "channel": ["sms", "email"] }

Fields

FieldRequiredNotes
apiKeyIdYesAPI key identifier from the dashboard
apiKeySecretYesAPI key secret paired with apiKeyId
nameYes*Candidate full name
phoneYes*Contact phone number
emailNoOptional contact email
campaignTokenNoOptional campaign or tracking identifier
firstDayOfEmploymentYes for I-9*Required for I-9 onboarding journeys
channelNoNotification channels; only "sms" and/or "email" allowed

* Required fields are enforced server-side. Missing or invalid values return HTTP 400.

Input validation

Every request is validated before a job is created. Always send apiKeyId, apiKeySecret, name, and phone. For I-9 onboarding journeys, also include firstDayOfEmployment. If you set channel, use only "sms" and/or "email".

If validation fails, the API returns HTTP 400 with an error describing what to fix.


Success response (200)

{ "onboardingLink": "https://onbo.idmiss.io/abc123", "jobId": "job_xxxxxxxx" }
FieldDescription
onboardingLinkURL to send the end user — available immediately
jobIdCreated job identifier

Redirect the user to onboardingLink, or deliver it via your own SMS/email flow.


Error responses

StatusMeaning
400Invalid request — missing required fields or invalid field values
401Invalid or missing API key ID / secret
403Key not authorized for this operation
500Server error — retry with backoff; contact support if persistent

Common validation errors (400)

IssueAction
Missing apiKeyId or apiKeySecretInclude both fields in the request body
Missing nameInclude candidate full name
Missing phoneInclude phone in E.164 or accepted format
Missing firstDayOfEmployment for I-9Required for I-9 onboarding journeys
Invalid channelUse only "sms" and/or "email"

Example (curl)

curl -X POST "https://portal.idmission.com/api/create-onboarding-link" \ -H "Content-Type: application/json" \ -d '{ "apiKeyId": "urn:apikeysv1:prod:region:company:YOUR_KEY_UUID", "apiKeySecret": "YOUR_API_KEY_SECRET", "name": "Jane Doe", "phone": "+15551234567", "email": "jane@example.com", "firstDayOfEmployment": "03/15/2026", "channel": ["sms", "email"] }'

Example success

{ "onboardingLink": "https://onbo.idmiss.io/session/xyz", "jobId": "019fd6b7-3def-7ece-bd47-788508d3424d" }

Integration checklist

  • Create production API keys in the dashboard (Journey Settings → Credentials → Create keys)
  • Call the API from your backend only
  • Send apiKeyId and apiKeySecret in the JSON request body
  • Include name and phone for every request
  • Include firstDayOfEmployment when using an I-9 journey key
  • Restrict channel to sms and/or email if provided
  • Deliver onboardingLink to the end user

Behavior notes

  • No session minting — authentication is direct API key + secret in the request body (no session cache or re-mint on 401).
  • Validation — always include apiKeyId, apiKeySecret, name, and phone; include firstDayOfEmployment for I-9 journeys. Invalid requests return 400.
  • Journey from key — use the correct API key per journey.

See also

  • Overview — quick start and prerequisites
Last updated on