Essential API reference for integrating with Specifier's intelligent data mapping platform.
Rate limits vary by subscription tier. Monitor your usage via response headers and upgrade as needed.
All transformation API responses include rate limit and usage information in headers.
These headers track how many API requests you can make per minute.
These headers track your monthly transformation quota usage.
Specifier uses JWT tokens for authentication. Provide your login credentials for the JWT and use it in the Authorization header for all subsequent requests.
Get a JWT token for API access using your credentials.
POST /api/auth/tokencurl -X POST https://api.specifier.io/api/auth/token \
-H "Content-Type: application/json" \
-d '{
"email": "user@example.com",
"password": "your-password"
}'{
"success": true,
"token": "eyJhbGciOiJIUzI1NiIsInR5...",
"user": {
"_id": "6880029570674a3027ca3449",
"email": "mark@specifier.io",
"name": "Mark",
"isVerified": true,
"createdAt": "2025-07-22T21:28:53.302Z",
"__v": 0
}
}Include the JWT token in the Authorization header for all API requests.
curl -X GET https://api.specifier.io/api/mappings \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Content-Type: application/json"Retrieve your mapping configuration to understand field mappings and transformation rules before calling the transform endpoint.
Retrieve detailed mapping configuration including field mappings and confidence scores.
GET /api/mappings/{mapping_id}curl -X GET https://api.specifier.io/api/mappings/mapping_abc123\
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json"[
{
"_id": "68800db9670d6f6efe2d1c36",
"name": "A to B",
"source": {
"type": "json",
"name": "Sample JSON",
"content": "{\n \"firstName\": \"John\",\n \"lastName\": \"Doe\", \n \"email\": \"john@example.com\",\n \"age\": 30,\n \"isActive\": true\n}"
},
"target": {
"type": "file",
"name": "API Spec",
"url": "",
"extractedFields": null
},
"status": "Draft",
"confidence": 95,
"createdAt": "2025-07-22T22:16:25.461Z",
"updatedAt": "2025-07-23T07:37:56.630Z"
}
]Use the transform endpoint to convert data from your source schema to your target schema in real-time.
Send data to transform it according to your mapping configuration.
POST /api/transform/{mapping_id}curl -X POST https://api.specifier.io/api/transform/mapping_abc123\
-H "Authorization: Bearer YOUR_JWT_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sourceData": {
"email":"john@example.com",
"first_name": "John",
"last_name":"Doe",
"phone":"+1-555-123-4567"
}
}'{
"success": true,
"transformedData": {
"forename": "John",
"surname": "Doe",
"emailAddress": "john@example.com"
},
"mappingInfo": {
"id": "68800db9670d6f6efe2d1c36",
"name": "A to B",
"confidence": 95
}
}When transformation fails, you'll receive detailed error information:
{
"success": false,
"error": {
"code": "transformation_failed",
"message": "Required field 'customer.email' is missing",
"field": "customer.email"
}
}