v2.1.0 stableAll systems operational

HR infrastructure
as code.

Payroll, time-off, org charts, and compliance through clean REST endpoints. Stop CSV-exporting from legacy HRIS. Start shipping.

api.endpoint.dev/v1/employees
POST201
Request
Response
latency: 42mssdk: node@2.1.0
Run in Sandbox ↗
scroll to explore
pain → solution

Every broken workflow has a clean endpoint.

Stop duct-taping HR tools together. Every pain point you have maps to an API endpoint that actually works.

The Reality

HR ops running on Slack threads and vibes

💀
D
dana.k9:14 AM

who approved Marcus PTO next week??

H
hr-bot9:15 AM

🤖 CSV export failed. Try again later.

E
eng-lead9:22 AM

payroll ran without the new hires again

O
ops9:31 AM

org chart is 3 months out of date

4 more unread in #hr-chaos
✓ Resolved

/leave/requests replaces the Slack chaos

POST/v1/leave/requests

Create, approve, and track PTO with a single call

200 OK42ms
{
"status": "approved"
}
✓ Resolved

/payroll/runs replaces CSV exports

POST/v1/payroll/runs

Trigger payroll with all active employees auto-included

200 OK42ms
{
"employees_included": "247"
}
✓ Resolved

/org/tree replaces the manual chart

GET/v1/org/tree

Live org chart, always in sync with employee records

200 OK42ms
{
"last_updated": "just now"
}
✓ Resolved

/compliance/checks replaces audit panic

GET/v1/compliance/checks

Automated checks across all jurisdictions, zero surprises

200 OK42ms
{
"violations": "0"
}
every endpoint works as described

Run the endpoints. Right now.

Hit "Run in Sandbox" on any endpoint below. No account required. Real 200s, real payloads, real latency.

POST/v1/employees

Onboard a new employee. Returns a fully hydrated employee object with ID, department, and org placement.

Request Body
{
  "first_name": "Priya",
  "last_name": "Menon",
  "email": "priya@acme.io",
  "start_date": "2026-03-01",
  "department_id": "eng-platform",
  "salary": 145000
}
Response
{
  "id": "emp_01HTJK9X2PMNA8",
  "status": "active",
  "first_name": "Priya",
  "email": "priya@acme.io",
  "department": "Platform Engineering",
  "org_path": "acme → engineering → platform",
  "created_at": "2026-02-27T05:49:08Z"
}
GET/v1/leave/requests

List all leave requests. Filter by status, employee, date range, or department.

Response
{
  "data": [
    {
      "id": "leave_01HTJK",
      "employee_id": "emp_01HTJK9X2PMNA8",
      "type": "pto",
      "status": "approved",
      "start_date": "2026-03-10",
      "end_date": "2026-03-14",
      "approved_by": "emp_01MGMT"
    }
  ],
  "total": 1,
  "has_more": false
}
POST/v1/payroll/runs

Trigger a payroll run. All active employees are auto-included. Supports dry-run mode for validation.

Request Body
{
  "period": "2026-03",
  "dry_run": false,
  "notify_employees": true
}
Response
{
  "id": "run_01HTPAY",
  "status": "processing",
  "period": "2026-03",
  "employees_included": 247,
  "total_gross": 3647500,
  "estimated_completion": "2026-02-27T06:30:00Z"
}
GET/v1/org/tree

Returns the complete org chart as a nested JSON tree. Webhooks fire on every structural change.

Response
{
  "root": {
    "id": "emp_CEO",
    "name": "Isabelle Fontaine",
    "title": "CEO",
    "reports": [
      {
        "id": "emp_CTO",
        "name": "Marcus Webb",
        "title": "CTO",
        "reports": [...]
      }
    ]
  },
  "total_nodes": 247,
  "last_updated": "2026-02-27T05:49:08Z"
}
Webhooks

Events fire in real-time. No polling required.

employee.created · leave.approved · payroll.completed · org.updated

Webhook reference →
99.98%Uptime SLA
< 50msMedian latency
23Core endpoints
400+Engineering teams

From engineers who've shipped with it.

Not marketing quotes. Things engineering leads actually said in Slack.

We replaced three separate HR integrations with Endpoint in a weekend sprint. The `/payroll/runs` endpoint alone saved us 6 hours every month. The docs actually match the API — which, honestly, felt surreal.

Marcus Webb, CTO at Lattice Systems
Marcus Webb
CTO · Lattice Systems

I'm a DevOps lead who was exporting CSVs from our HRIS every payroll cycle. Now I hit one endpoint and it's done. The webhook payloads are clean JSON — I piped them straight into our Datadog dashboard.

Priya Nair, Lead DevOps Engineer at Foundry Labs
Priya Nair
Lead DevOps Engineer · Foundry Labs

I learned enough Python to be dangerous and Endpoint treats me like I actually know what I'm doing. The error messages tell you exactly what's wrong. The rate limits are sane. It just works.

Sofia Okafor, People Ops Manager at Meridian Health
Sofia Okafor
People Ops Manager · Meridian Health

used in production by engineering teams at

StripeLinearVercelFigmaNotionRetool
no sales calls. no demos. just your API key.

Start with a free API key.

One work email. One button. Your key arrives in under 30 seconds.

No credit card. No sales call. Just your key.

Sandbox
Free/forever

For evaluation and prototyping. Real endpoints, real responses, no credit card.

  • 10,000 API calls/month
  • All endpoints (sandbox mode)
  • Webhook delivery
  • API key in 30 seconds
  • Community support
Most Popular
Production
$299/per month

For teams shipping HR into their product. Unlimited calls, SLA, and dedicated support.

  • Unlimited API calls
  • All 23 endpoints
  • Real-time webhooks
  • 99.98% uptime SLA
  • Slack support channel
  • Custom rate limits
Enterprise
Custom/contact us

For platforms embedding HR at scale. Custom contracts, SSO, and dedicated infra.

  • Everything in Production
  • Dedicated infrastructure
  • Custom SLAs
  • SOC 2 Type II reports
  • On-call engineering support
  • Custom endpoint development
API key in 30 seconds.