Getting Started

Testing

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

Demo Profiles

Every account includes pre-built demo profiles — complete candidate profiles with realistic data for testing the full application flow. Demo profiles are globally available and maintained by the platform.

Use demo profiles to verify your integration end-to-end before creating real users and profiles. Applying with a demo profile submits a real application and consumes credits, so you can confirm the entire pipeline works.

Demo profiles are complete and pre-validated. You can skip user creation, profile creation, and resume upload — just fetch a demo profile and start applying.

Fetch Demo Profiles

Retrieve all available demo profiles. Each profile includes personal information, work experience, education, skills, and a resume — ready to use with the apply endpoint.

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 all available demo users. Each demo user is linked to one or more demo profiles and can be referenced 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 POST /sessions/apply to submit a real test application. Set overrideEmail to your own email address so ATS confirmation emails are sent to you instead of the demo profile's email.

This consumes credits and submits a real application, allowing you to verify the full pipeline 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, "applicationsSkipped": 0, "jobsQueued": 1 },
  "searchContext": { "titles": ["Senior Software Engineer"], "locations": [] },
  "createdAt": "2024-02-14T11:00:00Z"
}

Moving to Production

Once you have verified the flow with demo profiles, create your own users, profiles, and resumes to start applying with real candidate data. The request format and endpoints are identical — replace the demo candidateProfileId with your own.

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