- Create a case and note its ID.
- Retrieve the invitation for the case.
- Construct the candidate onboarding URL from the invitation token.
- Keep the link current when an invitation is resent or about to expire.
Before you begin
- Ensure that you have an authentication token for the KarmaCheck API.
- Order the case using the candidate-provided PII flow, where the candidate provides their own information during onboarding. See Candidate-provided PII flow for the full ordering workflow. Cases that use the customer-provided PII flow don’t rely on candidate onboarding.
The link uses
invitationToken, not caseInvitationId. The Create case response returns a caseInvitationId, which identifies the invitation record. The onboarding URL is built from a different value, the invitationToken, which you retrieve in Step 2.Step 1: Create a case
CallPOST /case/create to order the background check. A successful response includes the IDs of the new case and its invitation:
caseId value. You need it in the next step. You don’t need the caseInvitationId to build the link.
Step 2: Retrieve the invitation for the case
CallGET /invitation/case/{caseId} to retrieve the invitation. Replace AUTHENTICATION_TOKEN with your token and CASE_ID with the caseId from Step 1:
invitation.invitationToken, not invitation.id.
If no invitation exists for the case, the endpoint returns a
404 response.Step 3: Construct the onboarding URL
Add theinvitationToken to the candidate onboarding URL for your environment:
The candidate onboarding experience uses the
my hostname, with a suffix for the environment (my-stage for staging). This is a different domain from the customer-facing dashboard (app-stage.karmacheck.com and app.karmacheck.com), so make sure that you use the my domain when you build the link.
The following example retrieves the invitation and builds the staging URL. Encode the token so that the URL stays valid:
onboardingUrl to the candidate in your own system.
Step 4: Keep the link current
Checkinvitation.expiresStamp before you share the link. An invitation expires 14 days after it’s generated by default, and the candidate can’t use the link after that.
Use POST /case/id/{caseId}/action/resendinvite only when you need KarmaCheck to send the invitation email again. A case can have only one active invitation at a time, so resending creates a new invitation with a new ID and token.
Next steps
- Follow the Candidate-provided PII flow guide to order a background check end to end.
- See Get invitation for case ID for the complete invitation response.
- Review Invitation status to understand the states that an invitation can be in.