Skip to main content
POST
/
step3
/
store-verification-items
/
store
curl -X POST https://api.yourservice.com/api/v1/step3/store-verification-items/store \
  -H "Content-Type: application/json" \
  -H "x-api-key: your_api_key_here" \
  -d '{
    "sessionToken": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "projectIds": ["proj_001", "proj_002"],
    "workExperienceIds": [],
    "credentialIds": ["cert_001"]
  }'
{
  "success": true,
  "data": {
    "recordVerificationId": "ver_live_abc123",
    "recordUserId": "usr_live_xyz789",
    "stored": {
      "projects": [
        {
          "recordProjectId": "uuid-proj-1",
          "externalProjectId": "proj_001",
          "projectName": "E-Commerce App"
        }
      ],
      "experience": [],
      "certificates": [
        {
          "recordCertificateId": "uuid-cert-1",
          "externalCertificateId": "cert_001",
          "certificateName": "AWS Certified Developer"
        }
      ]
    }
  },
  "message": "Verification items synced successfully"
}

Overview

Stores the source items the student has selected as the basis for their skill verification. Items are upserted against the session — items previously stored but not included in the new request are automatically deleted (replace-on-submit behaviour).
Prerequisite: Step 2 (verification method) must be completed before calling this endpoint. Requests are rejected with VERIFICATION_METHOD_NOT_SET if Step 2 is missing.
The IDs you pass must match items submitted during POST /verify. The session (stored in Redis) contains the full data for each item — the endpoint looks up each ID and writes the full details to the database.

Request Body

sessionToken
string
required
Session token returned from POST /verify.
projectIds
string[]
IDs of projects from the session to attach. Defaults to [].
workExperienceIds
string[]
IDs of work experiences from the session to attach. Defaults to [].
credentialIds
string[]
IDs of certificates from the session to attach. Defaults to [].
At least one of projectIds, workExperienceIds, or credentialIds must be non-empty.

Response

success
boolean
true on success.
data
object

Error Codes

CodeHTTPDescription
MISSING_SESSION_TOKEN400sessionToken not provided
NO_ITEMS_SELECTED400All three arrays are empty
SESSION_NOT_FOUND404Session token is expired or invalid
VERIFICATION_METHOD_NOT_SET400Step 2 has not been completed
DUPLICATE_SKILLS_IN_BUNDLE409Skills already verified for this source under same endorsement type
MAX_SKILLS_PER_SOURCE409Would exceed the 10-skill limit for this source
ASSESSMENT_ALREADY_PASSED409Skill already assessment-verified and passed
INTERNAL_ERROR500Unexpected server error
curl -X POST https://api.yourservice.com/api/v1/step3/store-verification-items/store \
  -H "Content-Type: application/json" \
  -H "x-api-key: your_api_key_here" \
  -d '{
    "sessionToken": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
    "projectIds": ["proj_001", "proj_002"],
    "workExperienceIds": [],
    "credentialIds": ["cert_001"]
  }'
{
  "success": true,
  "data": {
    "recordVerificationId": "ver_live_abc123",
    "recordUserId": "usr_live_xyz789",
    "stored": {
      "projects": [
        {
          "recordProjectId": "uuid-proj-1",
          "externalProjectId": "proj_001",
          "projectName": "E-Commerce App"
        }
      ],
      "experience": [],
      "certificates": [
        {
          "recordCertificateId": "uuid-cert-1",
          "externalCertificateId": "cert_001",
          "certificateName": "AWS Certified Developer"
        }
      ]
    }
  },
  "message": "Verification items synced successfully"
}