HiringCenter

API Quickstart

Get up and running in minutes

This quickstart walks you through:

  1. Authenticating with your API key
  2. Querying prospects
  3. Creating your first prospect
  4. Creating a note for that prospect
  5. Creating a task for that prospect
  6. Creating a meeting for that prospect

Base URL:

https://api.hiringcenterpro.com/v2


1) Set your API key

Create an API key in HiringCenter: Settings -> API / Webhooks -> Add API Key

Then set these environment variables:

TerminalCode
export HIRINGCENTER_API_KEY="<YOUR_API_KEY>" export HIRINGCENTER_BASE_URL="https://api.hiringcenterpro.com/v2"

Optional helper for idempotent writes:

TerminalCode
export IDEMPOTENCY_KEY="$(uuidgen)"

2) (Optional) Verify authentication

Use GET /auth when you want to confirm the key is valid and account-scoped (for example during setup or troubleshooting). This endpoint is optional and not required on every request.

TerminalCode
curl -sS -X GET \ "$HIRINGCENTER_BASE_URL/auth" \ -H "Authorization: Bearer $HIRINGCENTER_API_KEY" \ -H "Accept: application/json"

If successful, you will get API key metadata including accountId, permissions, and active status.


3) Query prospects

Use GET /prospects to search by fields like name, email, phone, label, stage, and company.

Example: fetch a small list

TerminalCode
curl -sS -X GET \ "$HIRINGCENTER_BASE_URL/prospects?limit=5" \ -H "Authorization: Bearer $HIRINGCENTER_API_KEY" \ -H "Accept: application/json"

Example: filter by email

TerminalCode
curl -sS -X GET \ "$HIRINGCENTER_BASE_URL/prospects?email=avery.coleman@example.com&limit=1" \ -H "Authorization: Bearer $HIRINGCENTER_API_KEY" \ -H "Accept: application/json"

4) Create your first prospect

Use POST /prospects (Create or Update Prospect).

Required fields: firstName, lastName

TerminalCode
curl -sS -X POST \ "$HIRINGCENTER_BASE_URL/prospects" \ -H "Authorization: Bearer $HIRINGCENTER_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Idempotency-Key: $IDEMPOTENCY_KEY" \ -d '{ "firstName": "Jordan", "lastName": "Miller", "email": "jordan.miller@example.com", "phone": "+15551234567", "labels": ["Quickstart", "Inbound"] }'

Save the returned item.id as your prospectId for the next steps.


5) Create a note for that prospect

Use POST /notes with prospectId and body.

TerminalCode
curl -sS -X POST \ "$HIRINGCENTER_BASE_URL/notes" \ -H "Authorization: Bearer $HIRINGCENTER_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Idempotency-Key: $(uuidgen)" \ -d '{ "prospectId": "d9e4a2c17b3f4a8eb6c05d1f9a7e2c41", "body": "<p>Spoke with prospect and confirmed interest in next steps.</p>", "pin": true }'

6) Create a task for that prospect

Use POST /tasks with prospectId, assignedTo, and task.

TerminalCode
curl -sS -X POST \ "$HIRINGCENTER_BASE_URL/tasks" \ -H "Authorization: Bearer $HIRINGCENTER_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Idempotency-Key: $(uuidgen)" \ -d '{ "prospectId": "d9e4a2c17b3f4a8eb6c05d1f9a7e2c41", "assignedTo": "a7c1e9d34b2f4d8aa6c05e1f9b7d2a33", "task": "Send follow-up email with calendar options", "dueAt": 1760000000000 }'

Note: assignedTo is required by the API and should be a valid user ID in your account.


7) Create a meeting for that prospect

Use POST /meetings with required scheduling fields.

TerminalCode
curl -sS -X POST \ "$HIRINGCENTER_BASE_URL/meetings" \ -H "Authorization: Bearer $HIRINGCENTER_API_KEY" \ -H "Content-Type: application/json" \ -H "X-Idempotency-Key: $(uuidgen)" \ -d '{ "prospectId": "d9e4a2c17b3f4a8eb6c05d1f9a7e2c41", "meetingDate": 1760100000000, "timeZone": "America/New_York", "meetingType": "virtual", "ownerId": "a7c1e9d34b2f4d8aa6c05e1f9b7d2a33", "location": "Zoom", "notes": "Intro call and role overview" }'

One-pass workflow with reusable IDs

Use this sequence in your integration:

  • Optionally validate key status with GET /auth
  • Check for existing records with GET /prospects
  • Create/update with POST /prospects
  • Attach activity with POST /notes, POST /tasks, and POST /meetings

For write operations, send an X-Idempotency-Key so retries are safe.

Last modified on