CV-Transformer API reference

With the CV-Transformer API you can access and manage your data in a programmatic way, using HTTP requests. The structure of the CV-Transformer API is based on PostgREST v14 .

Base URL

All endpoints are relative to https://api.cv-transformer.com/v1. Every request must be authenticated with an API key, which scopes all data to its organization.

OpenAPI spec

The OpenAPI specification describes the same endpoints and resources, to generate a client, import into tools like Postman, or give to an AI agent.

Requests

Each core resource supports some or all of the following methods:

  • GET /{resource} lists records. Use selecting, filtering and sorting & pagination to shape the result.
  • POST /{resource} creates one record, or several when the body is an array.
  • PATCH /{resource} updates all records matching the filters.
  • DELETE /{resource} deletes all records matching the filters.

Request bodies are JSON, sent with the Content-Type: application/json header. Updates and deletes without filters apply to every record the API key has access to, so always filter, for example on id=eq.{id}.

Responses

Responses are JSON. List responses include a Content-Range header with the returned range and the total number of matching records, for example 0-9/42. Creates, updates and deletes return no body, unless you send the header Prefer: return=representation: then they return the affected records.

Errors

The API uses conventional HTTP status codes:

  • 400 The request is malformed, for example an unknown column, an invalid filter, or a body that doesn't match the endpoint's schema.
  • 401 The API key is missing or invalid.
  • 403 The API key doesn't have the scope the request needs, or no permission for the change.
  • 404 The record the endpoint acts on doesn't exist in the API key's organization.
  • 409 The request conflicts with existing data, for example a duplicate key.
  • 429 The API key made more requests than its rate limit allows.
  • 5xx Something went wrong on our side.

Errors have a JSON body following the PostgREST error format , with a message, details and hint, and for database errors a code. Every request, including failed ones, is logged and can be inspected through the API requests resource.

Example response headers
HTTP
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Range: 0-9/42
Example error
JSON
{
  "code": "PGRST204",
  "details": null,
  "hint": null,
  "message": "Could not find the 'nme' column of 'layouts' in the schema cache"
}