Wire headshots into the tools you already run

A REST API, signed webhooks, and a native Zapier app let your own systems send invites and collect finished photos, without polling the dashboard or downloading anything by hand.

Create your team
Integrations API & webhooks
Enabled
API key
hsp_••••••••3f2a Regenerate
Webhook URL
https://hooks.acme-hr.com/headshotpro
Signing secret
whsec_••••••2b
Recent deliveries
model.photos_ready
200 OK 2 min ago
model.favorite_selected
200 OK 1 hr ago
model.created
200 OK 3 hrs ago
Zapier Zapier
Connected

Built to run inside your stack

Run the whole rollout from your own code

The API gives you the same control as the dashboard: send invites, list members by completion status, and pull finished headshots. Keys are organization-scoped Bearer tokens.

Read our API docs
REST API
application/json
Request
GET /members?status=finished
Authorization: Bearer hsp_••••
Response
[
{ "name": "Jessica P.",
"status": "finished", "photos": […] },
{ "name": "Antonio R.",
"status": "finished", "photos": […] }
]
300 req/min

Know the moment headshots are ready

Point a webhook at your endpoint and HeadshotPro notifies you as each shoot is created, changes status, finishes generating, has a favorite selected, or is deleted. Deliveries are HMAC-signed and retried automatically if your endpoint is down.

Webhook delivery
POST
X-Signature: a3f1…9c2b HMAC-SHA256
{
"event": "model.photos_ready",
"member": { "email": "jessica@acme-hr.com" },
"photos": [ "https://…/1.jpg", "…" ]
}
model.photos_ready 200 OK
model.created Retry 2 of 4 · next in 15 min

Route events anywhere, no code required

The native Zapier app triggers on HeadshotPro events and connects to 5,000+ apps. Sync new members in from your HRIS, post finished headshots to Slack, drop files into Drive, or log every shoot to a sheet.

Zap editor
On
HeadshotPro
Trigger · Photos ready
Slack
Send channel message
Jessica's headshots are ready
Google Drive
Upload file

Your identity provider is the front door

Enterprise organizations connect Entra ID, Okta, or Google Workspace through WorkOS, with SAML 2.0 and OAuth. Members are provisioned automatically on first sign-in, domain enforcement can block password and social logins entirely, and SCIM is available on request.

Single sign-on
WorkOS · SAML 2.0
Entra ID
Connected
Okta
Available
Google
Available
acme-hr.com Verified
Enforce SSO
Password and social logins disabled for verified domains.

When headshots finish, your tools already know

Through webhooks, the REST API, or Zapier, every event flows straight into the tools you already use.

HeadshotPro → your stack
On HeadshotPro
Jessica P.
Account Executive
Generating Photos ready
model.photos_ready
Signed & routed
HMAC
Zapier Triggered
Into your stack
HRIS
Profile photo updated
Slack · #people-ops
Jessica's headshots are ready
Google Drive
2 files uploaded
jpg jpg
model.photos_ready → 200 OK

2,000+ employees, no manual coordination

We struggled to maintain consistent staff and leadership headshots across our distributed team. Coordinating photographers required manual sourcing and booking in each location, and even then the results varied significantly.
Solugenix logo
Chad Koskie
Associate Director, Content Strategy, Solugenix
Read the Solugenix case study

Questions teams ask

  • What do the API and webhooks cost?

    They're included with Teams credits, with no separate fee or subscription. One credit covers one member's full shoot, and volume discounts apply automatically as your lifetime spend grows: 20% off from 6 credits up to 60% off at 200+. See pricing for the full table.

  • Do you have native Slack or HRIS integrations?

    Not native. The Zapier app connects HeadshotPro events to 5,000+ apps including Slack, Google Drive, sheets, and most HRIS platforms. If your system isn't on Zapier, the webhooks and REST API cover custom builds.

  • Who can create API keys, and what do they cover?

    Team Owners and Admins generate keys from Admin Dashboard → API. Keys are organization-scoped, so one key covers all teams and members, and authenticate via the Authorization: Bearer header.

  • What are the rate limits?

    300 requests per minute on standard plans, 1,000 on Enterprise.

  • How are webhook deliveries secured?

    Every delivery is HMAC-signed with your webhook secret. Rotating the secret invalidates the old one immediately, so update your receiving endpoint first. Your endpoint acknowledges with any 2xx status; failed deliveries retry four times: immediately, then after 5 minutes, 15 minutes, and 1 hour.

  • Can we provision members with SCIM, or sync from our HR system?

    Out of the box, SSO provisions members just-in-time on their first sign-in. SCIM is available on request: we can sync your roster from your identity provider, or an HR system that supports SCIM, so new hires are provisioned and departures removed without editing the member list by hand. Talk to sales if your identity team needs it.

  • What happens to photos that move through the API?

    Your photos are never used to train AI models. Input photos auto-delete 30 days after generation, and API access is scoped to your own organization. Only your members' shoots are ever visible to your key.

  • Can I report on completion through the API?

    There's no analytics dashboard. For reporting, list members by completion status through the API, or export the CSV from the dashboard. It carries each member's email, title, stage, and finish date.

  • Do you have a white-label API?

    Yes. It serves photos under your own brand, so headshots flow into your product without HeadshotPro appearing to your end users. Learn more here: API documentation

Build it into your workflow

Create your team, generate an API key from the dashboard, and point a webhook at your endpoint. The full reference is in the docs.

Create your team