API Reference
The Formatix API lets you format CVs and generate professional documents programmatically. Integrate with Zapier, Salesforce, HubSpot, and thousands of other platforms — or build your own custom workflows.
Authentication
All API requests require a Bearer token in the
Authorization header. Generate API keys from the
Integrations page.
Keys are prefixed with fxi_ and shown only once at creation.
Store them securely — you cannot retrieve the full key again.
Error Handling
The API returns standard HTTP status codes. Errors include a JSON body with
error (machine-readable code) and message (human-readable).
| Status | Error Code | Description |
|---|---|---|
| 400 | missing_field | A required field is missing from the request |
| 400 | invalid_field | A field has an invalid value |
| 401 | authentication_required | Missing or malformed Authorization header |
| 401 | invalid_key | API key is invalid, revoked, or expired |
| 402 | insufficient_credits | Not enough credits for the requested operation |
| 403 | access_denied | You don't have access to the requested template |
| 404 | not_found / invalid_template | Resource or template not found |
| 500 | processing_failed | Internal processing error |
Credits & Limits
Every formatting operation costs 1 credit per file. Multi-file requests deduct one credit per file uploaded (max 20 files per request for BIOS templates, 10 for Custom templates).
Check your balance with the Credits endpoint
before submitting jobs. The API returns 402 when credits are insufficient.
Format CV
Upload one or more CV files and format them using a specified template.
The request is processed asynchronously — poll the returned
record_id for status.
Request Body (multipart/form-data)
| Parameter | Type | Description |
|---|---|---|
| template_id required | integer | ID of the template to use. Get available IDs from List Templates. |
| template_type required | string |
"cvtobios" for BIOS templates or
"custom" for Custom templates.
|
| file required | file(s) |
One or more CV files (PDF, DOCX, DOC, RTF, TXT).
Send as file or files.
Max 20 files for BIOS, 10 for Custom.
|
| output_format optional | string |
"docx" (default), "pptx", or
"xlsx". PowerPoint and Excel are only available
for BIOS templates that have those formats configured.
|
Example Request
Response
200 OK
For multi-file Custom template requests, the response also includes
record_ids — an array of all record IDs in the batch.
Format Status
Poll the status of a formatting job. When the status changes to
"Formatted", the response includes a download_url.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| record_id required | integer |
The record_id returned from the Format CV request.
|
Example Request
Response (Processing)
200 OKResponse (Complete)
200 OKDownload URL Formats
| Output | URL Pattern |
|---|---|
| docx | https://docs.google.com/document/d/{id}/export?format=docx |
| pptx | https://docs.google.com/presentation/d/{id}/export/pptx |
| xlsx | https://docs.google.com/spreadsheets/d/{id}/export?format=xlsx |
List Templates
Returns all templates assigned to the API key owner. Use the returned
id and type when calling Format CV.
Example Request
Response
200 OKResponse Fields
| Field | Type | Description |
|---|---|---|
| id | integer | Template ID — pass as template_id to Format CV. |
| name | string | Human-readable template name. |
| type | string | "cvtobios" or "custom" — pass as template_type. |
| category | string | Template category (e.g. "executive", "custom"). |
| formats | string[] | Available output formats: "docx", "pptx", "xlsx". |
Check Credits
Returns the current credit balance, plan name, daily cap, and remaining generations for today.
Example Request
Response
200 OKResponse Fields
| Field | Type | Description |
|---|---|---|
| credits | integer | Total credits available in your account. |
| plan | string | Current subscription plan name. |
| daily_generation_cap | integer | Maximum generations allowed per day. |
| generations_remaining_today | integer | Remaining generations for today before hitting the daily cap. |
Create API Key
Create a new API key. Requires session authentication (logged-in user). The full key is returned only once in the response.
Request Body (JSON)
| Parameter | Type | Description |
|---|---|---|
| name optional | string | A label for the key (e.g. "Zapier", "Internal Script"). Defaults to "My API Key". |
Response
201 CreatedList API Keys
List all API keys for the authenticated user. Returns key metadata only (prefix, not the full key). Requires session authentication.
Response
200 OKRevoke API Key
Revoke an API key. The key is soft-deleted and any integrations using it will immediately stop working. Requires session authentication.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| key_id required | integer | ID of the key to revoke. |