Getting Started

Testing

Use demo profiles to test your integration flow before applying with real candidate data.

Demo Profiles

Every account has access to pre-built demo profiles — complete candidate profiles with realistic data that you can use to test the full application flow. Demo profiles are globally available and maintained by the platform.

Use demo profiles to verify your integration works end-to-end before creating real users and profiles. When you apply with a demo profile, a real application is submitted using your credits, so you can confirm the entire pipeline works.

Demo profiles are complete and pre-validated, so you can skip user creation, profile creation, and resume upload when testing. Just fetch a demo profile and start applying.

Fetch Demo Profiles

Retrieve the list of available demo profiles. Each profile is fully populated with personal information, work experience, education, skills, and a resume — ready to use with the apply endpoint immediately.

GET/demo/profiles
curl https://apply-api.boringproject.ai/api/v1/demo/profiles \
  -H "Authorization: Bearer bp_live_..."
Response200 OK
[
  {
    "candidateProfileId": "prof_demo_xyz789",
    "userId": "usr_demo_001",
    "isDemo": true,
    "isComplete": true,
    "personalInformation": {
      "firstName": "Jane",
      "lastName": "Smith",
      "email": "jane.smith@example.com",
      "countryCode": "+1",
      "phoneNumber": "4155559876",
      "city": "San Francisco",
      "state": "CA",
      "country": "United States"
    },
    "workExperience": [
      {
        "jobTitle": "Software Engineer",
        "company": "Tech Corp",
        "startDate": "2020-01",
        "currentlyWorkHere": true
      }
    ],
    "education": [
      {
        "institution": { "name": "UC Berkeley" },
        "degree": { "degreeName": "B.S. Computer Science" },
        "startDate": "2016-09",
        "endDate": "2020-05"
      }
    ],
    "skills": [
      { "skill": "JavaScript", "experience": "5" },
      { "skill": "Python", "experience": "4" },
      { "skill": "React", "experience": "3" }
    ],
    "languages": [
      { "language": "English", "level": "Native" }
    ],
    "certifications": [],
    "achievements": [],
    "miscellaneous": {
      "totalExperience": "4",
      "linkedinUrl": "https://linkedin.com/in/janesmith",
      "willingToRelocate": "Yes",
      "authorisedToWork": ["United States"]
    },
    "resumeUrl": "https://s3.amazonaws.com/.../demo_resume.pdf",
    "createdAt": "2024-01-01T00:00:00Z"
  }
]

Fetch Demo Users

Retrieve the list of available demo users. Each demo user is linked to one or more demo profiles and can be used as the userId when creating sessions.

GET/demo/users
curl https://apply-api.boringproject.ai/api/v1/demo/users \
  -H "Authorization: Bearer bp_live_..."
Response200 OK
[
  {
    "userId": "usr_demo_001",
    "externalUserId": "demo_user_1",
    "name": "Jane Smith",
    "email": "jane.smith@example.com",
    "isDemo": true,
    "status": "active",
    "createdAt": "2024-01-01T00:00:00Z"
  }
]

Test an Application

Use a demo profile's candidateProfileId with the POST /sessions/apply endpoint to submit a real test application. Pass overrideEmail with your own email address so ATS confirmation emails are sent to you instead of the demo profile's email. This uses your credits and submits a real application — allowing you to verify the full pipeline works before using your own candidate data.

POST/sessions/apply
curl -X POST https://apply-api.boringproject.ai/api/v1/sessions/apply \
  -H "Authorization: Bearer bp_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "candidateProfileId": "prof_demo_xyz789",
    "overrideEmail": "you@yourcompany.com",
    "jobs": [
      { "companyName": "Acme Corp", "title": "Senior Software Engineer", "jobId": "12345", "link": "https://boards.greenhouse.io/acme/jobs/12345" }
    ]
  }'
Response200 OK
{
  "sessionId": "sess_abc123",
  "type": "run_once",
  "userId": "usr_demo_001",
  "candidateProfileId": "prof_demo_xyz789",
  "status": "active",
  "stats": { "totalRuns": 1, "totalApplications": 0, "successfulApplications": 0, "failedApplications": 0, "jobsQueued": 1 },
  "searchContext": { "titles": ["Senior Software Engineer"], "locations": [] },
  "createdAt": "2024-02-14T11:00:00Z"
}

Moving to Production

Once you've verified the flow works with demo profiles, create your own users, profiles, and resumes to start applying with real candidate data. The request format and endpoints are identical — you just swap the demo candidateProfileId for your own.

New accounts come with 100 credits so you can test the full flow with demo profiles before purchasing more.