Vendors / HR and payroll

Personio

Personio v2 supports current person records, profile writes and deletion events. Customer custom integrations are distinct from marketplace partnership; webhook retries do not provide a retained replay API.

Overall controlB7.3*/10
Assessment checked 2026-10-16Public documentation · No live account test

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

OVERALL CONTROL / 0.6-customer-control

Grades and scoring

Overall B / 7.3*/10, with 12 of 16 applicable scoring inputs verified. Missing evidence discounts the supported score (unknown answers remain unknown).

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Data access and planned exit carry the most weight. Known commercial barriers cap access; an unpublished price applies a bounded discount. Post-cancellation retrieval is a separate disclosure. Open each dimension to inspect its inputs and sources.

B6.6*/10

Data access

25% of the overall score before applicability adjustment.

Scored answers and evidence

Read interface 7.5/10

Structured API for the declared product scope

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

GET /v2/persons returns current person profiles under personio:persons:read. Employment history and recruiting are distinct resources.

Personio v2 list persons ↗
personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDs · Checked 2026-10-16

Answer-to-score anchors ↗

Bulk delivery 8.8/10

Batched or iterable API requests

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Follow the v2 Persons cursor to exhaustion, using pages of 1–50 records. Preserve status selection and read scope during reconciliation.

Personio v2 list persons ↗
personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDs · Checked 2026-10-16

Answer-to-score anchors ↗

Query expressiveness 8.8/10

Documented structured API filters

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Cursor lists support IDs, names, status, creation and update time, including updated_at.gt/lt.

Personio v2 list persons ↗
personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDs · Checked 2026-10-16

Answer-to-score anchors ↗

Access cost barrier -

-

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Lowest-paid-plan entitlement and complete fixed API or partner access fees are unresolved.

Personio v2 access token ↗
OAuth client_credentials; client_id/client_secret; scopes; expires_in · Checked 2026-10-16

Answer-to-score anchors ↗
A8.8*/10

Third-party accessibility

20% of the overall score before applicability adjustment.

Scored answers and evidence

Third-party eligibility 10.0/10

Customer authorization without discretionary provider approval

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Customers generate custom integration credentials. The partnership process has integrations onboard customers before requesting marketplace partnership; listing is separate from this customer-authorized route.

Personio custom integration credentials ↗
Marketplace > Connected integrations; API access rights; Create custom integration · Checked 2026-10-16

Personio product partnership process ↗
Develop integration; onboard at least 10 customers before announcing and requesting partnership; listing requirements · Checked 2026-10-16

Answer-to-score anchors ↗

Downstream permission -

-

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

The operation guides do not establish applicable downstream processing, AI-use or redistribution rights.

Personio v2 access token ↗
OAuth client_credentials; client_id/client_secret; scopes; expires_in · Checked 2026-10-16

Answer-to-score anchors ↗
A8.5/10

External action

15% of the overall score before applicability adjustment.

Scored answers and evidence

Write interface 7.5/10

Create and update in one business domain

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

POST /v2/persons creates a Person with associated Employment; PATCH /v2/persons/{person_id} updates personal fields and custom attributes under persons:write.

Personio v2 create person and employment ↗
POST /v2/persons; personio:persons:write; creates Person and Employment · Checked 2026-10-16

Personio v2 update person ↗
PATCH /v2/persons/{person_id}; personio:persons:write; personal fields and custom attributes · Checked 2026-10-16

Answer-to-score anchors ↗

Custom application path 10.0/10

Customer applications using fixed APIs without provider selection

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

The documented customer credential route supports the scoped custom integration.

Personio custom integration credentials ↗
Marketplace > Connected integrations; API access rights; Create custom integration · Checked 2026-10-16

Personio product partnership process ↗
Develop integration; onboard at least 10 customers before announcing and requesting partnership; listing requirements · Checked 2026-10-16

Answer-to-score anchors ↗
B6.5*/10

Continuity

15% of the overall score before applicability adjustment.

Scored answers and evidence

Refresh mechanism 7.5/10

Documented updated-since filters or webhooks

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Poll person updated_at windows and consume person events as hints; person.updated covers the listed personal fields and custom attributes, not every employment change.

Personio v2 list persons ↗
personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDs · Checked 2026-10-16

Personio webhook delivery and person events ↗
Person created/updated/deleted; IDs; 3-second acknowledgment; up to 3 days of retries; HMAC-SHA256 · Checked 2026-10-16

Answer-to-score anchors ↗

Limit visibility -

-

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

The reviewed v2 Persons sources do not establish its numeric service quota. A token-issuance limit or pagination size does not prove the Persons request allowance.

Personio v2 list persons ↗
personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDs · Checked 2026-10-16

Answer-to-score anchors ↗

CDC and deletion capture 7.5/10

Updates and deletion identities documented for the stated resources

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Person update filters and person.deleted identity events support current profile changes and deletion IDs. Employment events and history are outside this scope.

Personio v2 list persons ↗
personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDs · Checked 2026-10-16

Personio webhook delivery and person events ↗
Person created/updated/deleted; IDs; 3-second acknowledgment; up to 3 days of retries; HMAC-SHA256 · Checked 2026-10-16

Answer-to-score anchors ↗

Replay and gap recovery 5.0/10

Bounded redelivery or overlapping queries; no durable consumer checkpoint

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Personio retries eligible failed webhook deliveries for up to 3 days, with bounded attempts. This is redelivery, not customer-addressable retained replay; complete cursor traversal can rebuild surviving profiles.

Personio webhook delivery and person events ↗
Person created/updated/deleted; IDs; 3-second acknowledgment; up to 3 days of retries; HMAC-SHA256 · Checked 2026-10-16

Personio v2 list persons ↗
personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDs · Checked 2026-10-16

Answer-to-score anchors ↗
B7.5/10

Data exit

20% of the overall score before applicability adjustment.

Scored answers and evidence

Export custody 7.5/10

Customer-held structured files or API records

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Permitted structured API records can form a customer-held copy.

Personio v2 list persons ↗
personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDs · Checked 2026-10-16

Answer-to-score anchors ↗

Post-cancellation access Disclosure

-

Disclosure only; does not reduce planned-exit credit.

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Live retrieval does not establish contractual access after cancellation.

Personio v2 list persons ↗
personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDs · Checked 2026-10-16

Answer-to-score anchors ↗

Planned migration fidelity 7.5/10

Portable structured records on documented routes; whole-product completeness unverified

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

The declared current record collection is portable; full history, files, configuration and whole-product reconstruction are unverified.

Personio v2 list persons ↗
personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDs · Checked 2026-10-16

Answer-to-score anchors ↗
D2.1*/10

Business logic and customization

5% of the overall score before applicability adjustment.

Scored answers and evidence

Logic authoring 2.5/10

External integration code; native business logic portability not established

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

The documented route supports external integration code; native workflow authoring and portability are unverified (API clients are separate artifacts).

Personio v2 access token ↗
OAuth client_credentials; client_id/client_secret; scopes; expires_in · Checked 2026-10-16

Answer-to-score anchors ↗

Rights to custom logic -

-

Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Rights to reusable native workflow definitions and independent execution are unresolved.

Personio v2 access token ↗
OAuth client_credentials; client_id/client_secret; scopes; expires_in · Checked 2026-10-16

Answer-to-score anchors ↗

Scores are out of 10. * Incomplete evidence discounts verified capabilities (unknown answers stay unknown). Planned migration drives data exit. Scoring method ↗

CUSTOMER CHOICE

Third-party accessibility

Customers generate custom integration credentials. The partnership process has integrations onboard customers before requesting marketplace partnership; listing is separate from this customer-authorized route.

Third-party eligibilityCustomer authorization without discretionary provider approvalSource & scope ↗
Access cost barrier-Source & scope ↗
Downstream permission-Source & scope ↗

Confirm who can connect, who owns the credentials and which uses are permitted. Customer consent and provider approval can be separate requirements; the selected plan and contract still matter.

READ / INTEGRATE

API and export routes

GET /v2/persons returns current person profiles under personio:persons:read. Employment history and recruiting are distinct resources. Follow the v2 Persons cursor to exhaustion, using pages of 1–50 records. Preserve status selection and read scope during reconciliation. Cursor lists support IDs, names, status, creation and update time, including updated_at.gt/lt.

Access routeAuthenticationCredential ownerProvider approvalAccess requirementLast checked
Customer-created Personio custom integrationOAuth client credentialsCustomerNocustomer authorization2026-10-16

Availability depends on your product, plan and agreement. See the documentation below for the requirements of each route.

ECONOMIC ACCESS

Cost, authentication and limits

Lowest-paid-plan entitlement and complete fixed API or partner access fees are unresolved.

Check API entitlement, credential ownership and rate limits for the route you intend to use. Include review fees, customer-plan upgrades and ongoing access charges in the total.

ACT FROM OUTSIDE

External action

POST /v2/persons creates a Person with associated Employment; PATCH /v2/persons/{person_id} updates personal fields and custom attributes under persons:write.

Validate the supported operation, acting identity and permission scope (read access does not imply write permission). Ambiguous retries and revoked credentials also affect whether an external workflow can run safely.

KEEP ACCESS USEFUL

Continuity

Poll person updated_at windows and consume person events as hints; person.updated covers the listed personal fields and custom attributes, not every employment change. Person update filters and person.deleted identity events support current profile changes and deletion IDs. Employment events and history are outside this scope. Personio retries eligible failed webhook deliveries for up to 3 days, with bounded attempts. This is redelivery, not customer-addressable retained replay; complete cursor traversal can rebuild surviving profiles. The reviewed v2 Persons sources do not establish its numeric service quota. A token-issuance limit or pagination size does not prove the Persons request allowance.

CDC, deletions and recovery

QuestionAnswer / applicable routeEvidence
Can ongoing extraction identify updates and deleted records on the declared route?Updates and deletion identities documented for the stated resourcesPersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Person update filters and person.deleted identity events support current profile changes and deletion IDs. Employment events and history are outside this scope.

Personio v2 list persons ↗personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDsChecked 2026-10-16
Personio webhook delivery and person events ↗Person created/updated/deleted; IDs; 3-second acknowledgment; up to 3 days of retries; HMAC-SHA256Checked 2026-10-16
How can extraction recover after missed events or an interrupted consumer?Bounded redelivery or overlapping queries; no durable consumer checkpointPersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Personio retries eligible failed webhook deliveries for up to 3 days, with bounded attempts. This is redelivery, not customer-addressable retained replay; complete cursor traversal can rebuild surviving profiles.

Personio webhook delivery and person events ↗Person created/updated/deleted; IDs; 3-second acknowledgment; up to 3 days of retries; HMAC-SHA256Checked 2026-10-16
Personio v2 list persons ↗personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDsChecked 2026-10-16

Useful ongoing access includes corrections and deletions, not only the first export. A failed request, changed filter or lost resource permission should not be interpreted as a deleted record.

LEAVE WITH YOUR DATA

Data exit and portability

The declared current record collection is portable; full history, files, configuration and whole-product reconstruction are unverified. Live retrieval does not establish contractual access after cancellation.

Test the output against the destination’s required fields and history. Check stable identifiers, relationships, attachments and extraction time; a sample file proves only the coverage of that sample.

BUILD / INSPECT / REUSE

Business logic and customization

The documented route supports external integration code; native workflow authoring and portability are unverified (API clients are separate artifacts). Rights to reusable native workflow definitions and independent execution are unresolved.

Custom API access, ownership of workflows and the right to export their definitions are separate questions. A custom-app capability alone does not establish that business rules can move to another system.

AGREEMENTS / API DOCS / PROGRAM REQUIREMENTS

Documented conditions

Answers below come from public provider materials. Every answer retains its source check date, scope (a partner agreement does not describe every customer route). Customer contracts and live behavior still need verification.

QuestionAnswer / applicable routeEvidence
What structured read interface is documented?Structured API for the declared product scopePersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

GET /v2/persons returns current person profiles under personio:persons:read. Employment history and recruiting are distinct resources.

Personio v2 list persons ↗personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDsChecked 2026-10-16
How can customers retrieve data in bulk?Batched or iterable API requestsPersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Follow the v2 Persons cursor to exhaustion, using pages of 1–50 records. Preserve status selection and read scope during reconciliation.

Personio v2 list persons ↗personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDsChecked 2026-10-16
What queries can a customer issue outside the provider UI?Documented structured API filtersPersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Cursor lists support IDs, names, status, creation and update time, including updated_at.gt/lt.

Personio v2 list persons ↗personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDsChecked 2026-10-16
Who decides whether a chosen third party may connect?Customer authorization without discretionary provider approvalPersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Customers generate custom integration credentials. The partnership process has integrations onboard customers before requesting marketplace partnership; listing is separate from this customer-authorized route.

Personio custom integration credentials ↗Marketplace > Connected integrations; API access rights; Create custom integrationChecked 2026-10-16
Personio product partnership process ↗Develop integration; onboard at least 10 customers before announcing and requesting partnership; listing requirementsChecked 2026-10-16
What extra commercial condition applies to the routes supplying the assessed read capability, relative to the lowest paid plan?-Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Lowest-paid-plan entitlement and complete fixed API or partner access fees are unresolved.

Personio v2 access token ↗OAuth client_credentials; client_id/client_secret; scopes; expires_inChecked 2026-10-16
What permission is needed for the documented downstream use?-Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

The operation guides do not establish applicable downstream processing, AI-use or redistribution rights.

Personio v2 access token ↗OAuth client_credentials; client_id/client_secret; scopes; expires_inChecked 2026-10-16
Which external write operations are documented?Create and update in one business domainPersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

POST /v2/persons creates a Person with associated Employment; PATCH /v2/persons/{person_id} updates personal fields and custom attributes under persons:write.

Personio v2 create person and employment ↗POST /v2/persons; personio:persons:write; creates Person and EmploymentChecked 2026-10-16
Personio v2 update person ↗PATCH /v2/persons/{person_id}; personio:persons:write; personal fields and custom attributesChecked 2026-10-16
How can customers connect an application they build or choose?Customer applications using fixed APIs without provider selectionPersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

The documented customer credential route supports the scoped custom integration.

Personio custom integration credentials ↗Marketplace > Connected integrations; API access rights; Create custom integrationChecked 2026-10-16
Personio product partnership process ↗Develop integration; onboard at least 10 customers before announcing and requesting partnership; listing requirementsChecked 2026-10-16
What mechanism supports repeatable extraction of changes?Documented updated-since filters or webhooksPersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Poll person updated_at windows and consume person events as hints; person.updated covers the listed personal fields and custom attributes, not every employment change.

Personio v2 list persons ↗personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDsChecked 2026-10-16
Personio webhook delivery and person events ↗Person created/updated/deleted; IDs; 3-second acknowledgment; up to 3 days of retries; HMAC-SHA256Checked 2026-10-16
How are integration limits disclosed?-Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

The reviewed v2 Persons sources do not establish its numeric service quota. A token-issuance limit or pagination size does not prove the Persons request allowance.

Personio v2 list persons ↗personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDsChecked 2026-10-16
Where can a usable data copy be delivered?Customer-held structured files or API recordsPersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Permitted structured API records can form a customer-held copy.

Personio v2 list persons ↗personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDsChecked 2026-10-16
What retrieval rights are documented at cancellation?-Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Live retrieval does not establish contractual access after cancellation.

Personio v2 list persons ↗personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDsChecked 2026-10-16
How can customers define their own business logic?External integration code; native business logic portability not establishedPersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

The documented route supports external integration code; native workflow authoring and portability are unverified (API clients are separate artifacts).

Personio v2 access token ↗OAuth client_credentials; client_id/client_secret; scopes; expires_inChecked 2026-10-16
What rights or portability are documented for custom workflow artifacts?-Personio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

Rights to reusable native workflow definitions and independent execution are unresolved.

Personio v2 access token ↗OAuth client_credentials; client_id/client_secret; scopes; expires_inChecked 2026-10-16
What usable data or native definitions can leave before cancellation?Portable structured records on documented routes; whole-product completeness unverifiedPersonio / v2 Persons current profile collection, person creation with its associated employment, profile PATCH and person webhooks. Recruiting, payroll, full employment history and unrelated v1 endpoints are excluded.

The declared current record collection is portable; full history, files, configuration and whole-product reconstruction are unverified.

Personio v2 list persons ↗personio:persons:read; cursor; limit 1–50; updated_at.gt/lt; status; IDsChecked 2026-10-16

SOURCES / SCOPE / HISTORY

Sources and open questions

This review is based on the documentation below. Live account behavior and customer-specific agreements haven’t been tested.

Still to confirm

  • Complete lowest-plan entitlement and fixed API fees
  • Applicable downstream processing, AI-use and redistribution rights
  • Numeric service quota and throttle recovery contract
  • Contractual post-cancellation retrieval terms
  • Native workflow artifact ownership, reusable export and independent execution

Documentation

Assessment checked 2026-10-16. Each answer retains its source and applicable route; the check date does not establish live account behavior.