Create Migration
POST /api/v1/payroll-migrations/
Create a new payroll migration to track the transition from one payroll provider to another.
Authentication
Requires an API key with migrations:write scope. Pass via the X-API-Key header.
Request
Content type: application/json
Body Parameters
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | A descriptive name for this migration. |
source_provider | string | Yes | Identifier of the source (current) payroll provider. |
target_provider | string | Yes | Identifier of the target (new) payroll provider. |
Response
Status: 201 Created
{
"id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"name": "Q1 2026 ADP to Gusto Migration",
"source_provider": "adp",
"target_provider": "gusto",
"status": "pending",
"organization": "org_abc123",
"created_at": "2026-03-16T12:00:00Z",
"updated_at": "2026-03-16T12:00:00Z"
}Response Fields
| Field | Type | Description |
|---|---|---|
id | string (UUID) | Unique identifier for the migration. |
name | string | Descriptive name of the migration. |
source_provider | string | Identifier of the source payroll provider. |
target_provider | string | Identifier of the target payroll provider. |
status | string | Current status of the migration. |
organization | string | Organization the migration belongs to. |
created_at | string (ISO 8601) | Timestamp when the migration was created. |
updated_at | string (ISO 8601) | Timestamp when the migration was last updated. |
Errors
| Status | Description |
|---|---|
400 | Missing or invalid request body fields. |
401 | Missing or invalid API key. |
403 | API key does not have migrations:write scope. |
Code Examples
curl -X POST https://api.parsifyhq.com/api/v1/payroll-migrations/ \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Q1 2026 ADP to Gusto Migration",
"source_provider": "adp",
"target_provider": "gusto"
}'