Skip to main content
Quick Test Tips
  1. Enter your API key (starts with peepal_key_)
  2. Provide at least a full_name in the person object
  3. Include at least one claim to verify
  4. The job will be queued immediately and processed in the background
Use the Idempotency-Key header when retrying to prevent duplicate jobs.
POST
/
v1
/
jobs
Create a job
curl --request POST \
  --url https://api.peepal.dev/v1/jobs \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "person": {
    "full_name": "<string>",
    "aliases": [
      "<string>"
    ],
    "location": "<string>",
    "email": "[email protected]",
    "email_domain": "<string>",
    "linkedin_url": "<string>",
    "github_url": "<string>",
    "personal_website": "<string>",
    "current_company": "<string>",
    "current_title": "<string>",
    "education_seed": [
      {
        "school": "<string>",
        "degree": "<string>",
        "field": "<string>",
        "start_year": 123,
        "end_year": 123
      }
    ],
    "employment_seed": [
      {
        "employer": "<string>",
        "title": "<string>",
        "start_date": "<string>",
        "end_date": "<string>"
      }
    ]
  },
  "claims": [
    {
      "claim_key": "<string>",
      "claim_type": "<unknown>",
      "expected": {
        "school": "<string>",
        "degree": "<string>",
        "field": "<string>",
        "start_year": 123,
        "end_year": 123
      },
      "match_rules": {
        "match_strength": "strict",
        "min_confidence": 0.5
      },
      "weight": 5
    }
  ]
}
'
{
  "id": "<string>",
  "status": "created",
  "progress": 50,
  "template_id": "<string>",
  "created_at": "2023-11-07T05:31:56Z",
  "started_at": "2023-11-07T05:31:56Z",
  "completed_at": "2023-11-07T05:31:56Z",
  "error": "<string>",
  "person": {
    "full_name": "<string>",
    "aliases": [
      "<string>"
    ],
    "location": "<string>",
    "email": "[email protected]",
    "email_domain": "<string>",
    "linkedin_url": "<string>",
    "github_url": "<string>",
    "personal_website": "<string>",
    "current_company": "<string>",
    "current_title": "<string>",
    "education_seed": [
      {
        "school": "<string>",
        "degree": "<string>",
        "field": "<string>",
        "start_year": 123,
        "end_year": 123
      }
    ],
    "employment_seed": [
      {
        "employer": "<string>",
        "title": "<string>",
        "start_date": "<string>",
        "end_date": "<string>"
      }
    ]
  },
  "claims": [
    {
      "claim_key": "<string>",
      "claim_type": "<unknown>",
      "expected": {
        "school": "<string>",
        "degree": "<string>",
        "field": "<string>",
        "start_year": 123,
        "end_year": 123
      },
      "match_rules": {
        "match_strength": "strict",
        "min_confidence": 0.5
      },
      "weight": 5
    }
  ],
  "options": {
    "depth": "light",
    "max_sources": 30,
    "max_cost_usd": 1,
    "exa_category": "auto",
    "allow_domains": [
      "<string>"
    ],
    "deny_domains": [
      "<string>"
    ],
    "webhook": {
      "endpoint_id": "<string>",
      "events": [
        "job.created"
      ]
    }
  },
  "metadata": {},
  "links": {
    "self": "<string>",
    "report": "<string>",
    "sources": "<string>"
  }
}
This endpoint creates a new verification job to validate claims about a person using public web evidence.

Key Features

  • Async Processing: Jobs are processed asynchronously in the background
  • Idempotency: Use Idempotency-Key header to safely retry requests
  • Webhooks: Configure webhooks in options to receive status updates
  • Templates: Optionally use templates to pre-configure claims and options
curl -X POST https://api.peepal.dev/v1/jobs \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Idempotency-Key: unique_key_123" \
  -d '{
    "person": {
      "full_name": "Ada Lovelace",
      "email": "[email protected]",
      "linkedin_url": "https://www.linkedin.com/in/ada-lovelace"
    },
    "claims": [
      {
        "claim_key": "edu_1",
        "claim_type": "education",
        "expected": {
          "school": "University of London",
          "degree": "Mathematics"
        }
      }
    ]
  }'
{
  "id": "job_01ARZ3NDEKTSV4RRFFQ69G5FAV",
  "status": "queued",
  "progress": 0,
  "template_id": null,
  "created_at": "2025-12-31T10:00:00Z",
  "started_at": null,
  "completed_at": null,
  "error": null,
  "person": {
    "full_name": "Ada Lovelace",
    "email": "[email protected]",
    "linkedin_url": "https://www.linkedin.com/in/ada-lovelace"
  },
  "claims": [
    {
      "claim_key": "edu_1",
      "claim_type": "education",
      "expected": {
        "school": "University of London",
        "degree": "Mathematics"
      }
    }
  ],
  "links": {
    "self": "https://api.peepal.dev/v1/jobs/job_01ARZ3NDEKTSV4RRFFQ69G5FAV",
    "report": "https://api.peepal.dev/v1/jobs/job_01ARZ3NDEKTSV4RRFFQ69G5FAV/report",
    "sources": "https://api.peepal.dev/v1/jobs/job_01ARZ3NDEKTSV4RRFFQ69G5FAV/sources"
  }
}

Authorizations

x-api-key
string
header
required

Headers

Idempotency-Key
string

Body

application/json
person
object
required
claims
object[]
required
Required array length: 1 - 50 elements
template_id
string
options
object
metadata
object

Response

Job created

id
string
required
status
enum<string>
required
Available options:
created,
queued,
running,
completed,
failed,
canceled
progress
integer
required
Required range: 0 <= x <= 100
template_id
string | null
required
created_at
string<date-time>
required
started_at
string<date-time> | null
required
completed_at
string<date-time> | null
required
error
string | null
required
person
object
required
claims
object[]
required
options
object
metadata
object