Core resources
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 v11.1 .
The CV-Transformer API uses api keys for authentication. You can create and manage API keys from the bottom of settings page of your organization in the admin dashboard .
Once you have an API key simply provide it in the HTTP Authorization header as bearer token.
curl -X GET "https://api.cv-transformer.com/v1/layouts" \
-H "Authorization: Bearer YOUR_API_KEY"
For each endpoint, you can select which columns you want to retrieve by using the select
query parameter. Besides the columns of the resource itself, you can also select columns from related resources. For more advanced selection options refer to the PostgREST documentation .
curl -X GET "https://api.cv-transformer.com/v1/layouts?select=*" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://api.cv-transformer.com/v1/layouts?select=id,name" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://api.cv-transformer.com/v1/layouts?select=name,candidates(*)" \
-H "Authorization: Bearer YOUR_API_KEY"
Filters can be applied on each list, update and delete request, to restrict the rows affected by the request. For a complete list of filters refer to the PostgREST documentation .
curl -X GET "https://api.cv-transformer.com/v1/candidates?status=eq.active" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://api.cv-transformer.com/v1/candidates?data->>email=eq.some@example.com&status=eq.active" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X DELETE "https://api.cv-transformer.com/v1/candidates?data->>email=like.%test.com" \
-H "Authorization: Bearer YOUR_API_KEY"
By default, results are sorted by the primary key of the underlying table. You can change the sorting by using the order
query parameter. To limit the number of results, use the limit
and offset
query parameters. The API will return at most 1000 results per request. For more advanced sorting and pagination options refer to the PostgREST documentation .
curl -X GET "https://api.cv-transformer.com/v1/layouts?order=created_at.desc" \
-H "Authorization: Bearer YOUR_API_KEY"
curl -X GET "https://api.cv-transformer.com/v1/layouts?limit=10&offset=10" \
-H "Authorization: Bearer YOUR_API_KEY"
Logs for each time a candidate is viewed
id
bigint
Unique identifier
created_at
timestamp with time zone
Creation timestamp
anonymous
boolean
Whether the candidate was viewed with personal information redacted or not
JSON
{
"id": 0,
"candidate_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2025-02-28T20:27:48.058Z",
"anonymous": false
}
id
Filter<bigint>
Unique identifier
created_at
Filter<timestamp with time zone>
Creation timestamp
anonymous
Filter<boolean>
Whether the candidate was viewed with personal information redacted or not
200
A list of candidate views with the selected columns
206
Partial Content
GET /candidate_views
curl -X GET "https://api.cv-transformer.com/v1/candidate_views?select=*" \
-H "Authorization: Bearer YOUR_API_KEY"
All information related to individual candidates
id
uuid
Unique identifier
created_at
timestamp with time zone
Creation timestamp
updated_at
timestamp with time zone
Last modification timestamp
cv
CandidateAttachment | null
CV attached to this candidate
fts
tsvector
language
Language
Language this candidate should be displayed in
secret
text
Secret string. Used to privately share a proposal for this candidate with personal information non-redacted
secret_anonymous
text
Secret string. Used to privately share a proposal for this candidate with personal information redacted
status
text
Status of the candidate. Only active
candidates can be shared
vacancy
CandidateAttachment | null
Vacancy attached to this candidate
values
CandidateValues
Values for the each of the variables defined in the layout the candidate uses
JSON
{
"id": "00000000-0000-0000-0000-000000000000",
"creator_id": "00000000-0000-0000-0000-000000000000",
"layout_id": "00000000-0000-0000-0000-000000000000",
"organization_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2025-02-28T20:27:48.086Z",
"updated_at": "2025-02-28T20:27:48.086Z",
"cv": {
"text": "Text from the attachment",
"type": "pdf",
"url": "https://example.com/document.pdf"
},
"language": "en",
"secret": "gen_random_uuid()",
"secret_anonymous": "gen_random_uuid()",
"status": "pending",
"vacancy": {
"text": "Text from the attachment",
"type": "pdf",
"url": "https://example.com/document.pdf"
},
"values": {
"name": "John Doe",
"date_of_birth": "1995-01-01",
"experiences": [
{
"interval": {
"start": "2015-01-01",
"end": "2018-01-01"
},
"company": "Example Inc.",
"position": "Developer"
}
]
}
}
id
Filter<uuid>
Unique identifier
creator_id
Filter<uuid | null>
Identifier of the user that created this candidate
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
cv
Filter<CandidateAttachment | null>
CV attached to this candidate
fts
Filter<tsvector>
language
Filter<Language>
Language this candidate should be displayed in
secret
Filter<text>
Secret string. Used to privately share a proposal for this candidate with personal information non-redacted
secret_anonymous
Filter<text>
Secret string. Used to privately share a proposal for this candidate with personal information redacted
status
Filter<text>
Status of the candidate. Only active
candidates can be shared
vacancy
Filter<CandidateAttachment | null>
Vacancy attached to this candidate
values
Filter<CandidateValues>
Values for the each of the variables defined in the layout the candidate uses
200
A list of candidates with the selected columns
206
Partial Content
GET /candidates
curl -X GET "https://api.cv-transformer.com/v1/candidates?select=*" \
-H "Authorization: Bearer YOUR_API_KEY"
id
Filter<uuid>
Unique identifier
creator_id
Filter<uuid | null>
Identifier of the user that created this candidate
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
cv
Filter<CandidateAttachment | null>
CV attached to this candidate
fts
Filter<tsvector>
language
Filter<Language>
Language this candidate should be displayed in
secret
Filter<text>
Secret string. Used to privately share a proposal for this candidate with personal information non-redacted
secret_anonymous
Filter<text>
Secret string. Used to privately share a proposal for this candidate with personal information redacted
status
Filter<text>
Status of the candidate. Only active
candidates can be shared
vacancy
Filter<CandidateAttachment | null>
Vacancy attached to this candidate
values
Filter<CandidateValues>
Values for the each of the variables defined in the layout the candidate uses
204
The deleted candidates with the selected columns
DELETE /candidates
curl -X DELETE "https://api.cv-transformer.com/v1/candidates" \
-H "Authorization: Bearer YOUR_API_KEY"
id
Filter<uuid>
Unique identifier
creator_id
Filter<uuid | null>
Identifier of the user that created this candidate
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
cv
Filter<CandidateAttachment | null>
CV attached to this candidate
fts
Filter<tsvector>
language
Filter<Language>
Language this candidate should be displayed in
secret
Filter<text>
Secret string. Used to privately share a proposal for this candidate with personal information non-redacted
secret_anonymous
Filter<text>
Secret string. Used to privately share a proposal for this candidate with personal information redacted
status
Filter<text>
Status of the candidate. Only active
candidates can be shared
vacancy
Filter<CandidateAttachment | null>
Vacancy attached to this candidate
values
Filter<CandidateValues>
Values for the each of the variables defined in the layout the candidate uses
Partial<Candidate>
204
The updated candidates with the selected columns
PATCH /candidates
curl -X PATCH "https://api.cv-transformer.com/v1/candidates" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{}'
Create a new candidate. Uses one credit. When no credits are available in the organization, the candidate is created with status="pending"
instead.
Partial<Candidate>
200
The created candidate
POST /candidates
curl -X POST "https://api.cv-transformer.com/v1/candidates" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"cv": {
"text": "",
"type": "link",
"url": "https://example.com/cv"
},
"layout_id": "00000000-0000-0000-0000-000000000000",
"vacancy": {
"text": "",
"type": "link",
"url": "https://example.com/vacancy"
},
"values": {
"key": "value"
}
}'
Upload an attachment for a candidate.
location
"cv" | "vacancy"
The type of attachment to upload. Either a CV or a vacancy. Defaults to CV.
The file to attach. Supported file-types: .pdf
, .doc
, .docx
, .jpeg
, .png
, .webp
200
The updated candidate
POST /candidates/[candidate_id]/attach
curl -X POST "https://api.cv-transformer.com/v1/candidates/[candidate_id]/attach?location=cv" \
-H "Authorization: Bearer YOUR_API_KEY"
Fill or adjust a candidate's values.
candidate_id
required
uuid
The identifier of the candidate to fill.
prompt
string
Custom prompt, e.g. "Expand introduction", "Sort skills by level". Organization's default prompt is used when left empty.
200
The updated candidate
POST /candidates/[candidate_id]/fill
curl -X POST "https://api.cv-transformer.com/v1/candidates/[candidate_id]/fill?style=" \
-H "Authorization: Bearer YOUR_API_KEY"
Changes in credit per organization
id
uuid
Unique identifier
created_at
timestamp with time zone
Creation timestamp
delta
integer
Difference between next and previous credit
JSON
{
"id": "00000000-0000-0000-0000-000000000000",
"organization_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2025-02-28T20:27:48.278Z",
"delta": 0
}
id
Filter<uuid>
Unique identifier
created_at
Filter<timestamp with time zone>
Creation timestamp
delta
Filter<integer>
Difference between next and previous credit
200
A list of credit mutations with the selected columns
206
Partial Content
GET /credit_mutations
curl -X GET "https://api.cv-transformer.com/v1/credit_mutations?select=*" \
-H "Authorization: Bearer YOUR_API_KEY"
Layout definitions that can be filled in per candidate
id
uuid
Unique identifier
created_at
timestamp with time zone
Creation timestamp
updated_at
timestamp with time zone
Last modification timestamp
assets
Array<LayoutAsset>
Reusable assets used in the layout
default_values
CandidateValues | null
Default values for each of the variables in the layout. When left empty, these values are auto-generated
featured
boolean
Whether the layout is featured in the layout library
fts
tsvector
languages
Array<Language>
Languages the layout is translated in. First entry indicates the default language
name
text
Title of this layout
secret
uuid
Secret string. Required to view the layout when its visibility is "private"
sections
Array<LayoutSection>
List of sections the layout consists of
slug
text
Unique identifier that allows easy lookup in the layout library
thumbnail
text | null
Thumbnail image for this layout. Gets automatically generated
tokens
Array<LayoutDesignToken>
List of design tokens used in the layout
variables
Array<LayoutVariable>
List of variables used in the layout. These variables can be filled in per candidate
visibility
"public" | "private"
Visibility of this layout. "public" means the layout is published to the layout library.
JSON
{
"id": "00000000-0000-0000-0000-000000000000",
"creator_id": "00000000-0000-0000-0000-000000000000",
"organization_id": "00000000-0000-0000-0000-000000000000",
"parent_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2025-02-28T20:27:48.318Z",
"updated_at": "2025-02-28T20:27:48.318Z",
"assets": [
{
"type": "font",
"family": "Roboto",
"url": "https://example.com/roboto.ttf"
},
{
"type": "image",
"label": "Example",
"url": "https://example.com/example.png"
}
],
"default_values": {
"name": "John Doe",
"date_of_birth": "1995-01-01",
"experiences": [
{
"interval": {
"start": "2015-01-01",
"end": "2018-01-01"
},
"company": "Example Inc.",
"position": "Developer"
}
]
},
"featured": false,
"languages": [
"en",
"de",
"fr",
"nl"
],
"name": "",
"secret": "00000000-0000-0000-0000-000000000000",
"sections": [
{
"body": {
"align": "left",
"background": "#FFFFFF",
"bold": false,
"border": null,
"borderRadius": "0",
"color": "#000000",
"font": {
"family": "Roboto",
"letter_spacing": null,
"line_height": null,
"size": 16
},
"grow": true,
"id": "text",
"italic": false,
"padding": 16,
"split": false,
"strikethrough": false,
"transform": "none",
"value": {
"default": "Hello",
"nl": "Hallo"
},
"visibility": true,
"type": "text"
},
"footer": null,
"header": null,
"id": "section",
"label": "Section",
"type": "multi-page"
}
],
"slug": "",
"thumbnail": "",
"tokens": [
{
"id": "primary-color",
"name": "Primary color",
"type": "color",
"value": "#000000"
},
{
"id": "font-size",
"name": "Font size",
"type": "length",
"value": 16
}
],
"variables": [
{
"key": "name",
"sensitive": false,
"type": "inline-text"
},
{
"key": "description",
"sensitive": false,
"type": "text-block"
}
],
"visibility": "private"
}
id
Filter<uuid>
Unique identifier
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
assets
Filter<Array<LayoutAsset>>
Reusable assets used in the layout
default_values
Filter<CandidateValues | null>
Default values for each of the variables in the layout. When left empty, these values are auto-generated
featured
Filter<boolean>
Whether the layout is featured in the layout library
fts
Filter<tsvector>
languages
Filter<Array<Language>>
Languages the layout is translated in. First entry indicates the default language
name
Filter<text>
Title of this layout
secret
Filter<uuid>
Secret string. Required to view the layout when its visibility is "private"
sections
Filter<Array<LayoutSection>>
List of sections the layout consists of
slug
Filter<text>
Unique identifier that allows easy lookup in the layout library
thumbnail
Filter<text | null>
Thumbnail image for this layout. Gets automatically generated
tokens
Filter<Array<LayoutDesignToken>>
List of design tokens used in the layout
variables
Filter<Array<LayoutVariable>>
List of variables used in the layout. These variables can be filled in per candidate
visibility
Filter<"public" | "private">
Visibility of this layout. "public" means the layout is published to the layout library.
200
A list of layouts with the selected columns
206
Partial Content
GET /layouts
curl -X GET "https://api.cv-transformer.com/v1/layouts?select=*" \
-H "Authorization: Bearer YOUR_API_KEY"
Partial<Layout> | Array<Partial<Layout>>
201
The newly created layouts with the selected columns
POST /layouts
curl -X POST "https://api.cv-transformer.com/v1/layouts" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '[]'
id
Filter<uuid>
Unique identifier
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
assets
Filter<Array<LayoutAsset>>
Reusable assets used in the layout
default_values
Filter<CandidateValues | null>
Default values for each of the variables in the layout. When left empty, these values are auto-generated
featured
Filter<boolean>
Whether the layout is featured in the layout library
fts
Filter<tsvector>
languages
Filter<Array<Language>>
Languages the layout is translated in. First entry indicates the default language
name
Filter<text>
Title of this layout
secret
Filter<uuid>
Secret string. Required to view the layout when its visibility is "private"
sections
Filter<Array<LayoutSection>>
List of sections the layout consists of
slug
Filter<text>
Unique identifier that allows easy lookup in the layout library
thumbnail
Filter<text | null>
Thumbnail image for this layout. Gets automatically generated
tokens
Filter<Array<LayoutDesignToken>>
List of design tokens used in the layout
variables
Filter<Array<LayoutVariable>>
List of variables used in the layout. These variables can be filled in per candidate
visibility
Filter<"public" | "private">
Visibility of this layout. "public" means the layout is published to the layout library.
204
The deleted layouts with the selected columns
DELETE /layouts
curl -X DELETE "https://api.cv-transformer.com/v1/layouts" \
-H "Authorization: Bearer YOUR_API_KEY"
id
Filter<uuid>
Unique identifier
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
assets
Filter<Array<LayoutAsset>>
Reusable assets used in the layout
default_values
Filter<CandidateValues | null>
Default values for each of the variables in the layout. When left empty, these values are auto-generated
featured
Filter<boolean>
Whether the layout is featured in the layout library
fts
Filter<tsvector>
languages
Filter<Array<Language>>
Languages the layout is translated in. First entry indicates the default language
name
Filter<text>
Title of this layout
secret
Filter<uuid>
Secret string. Required to view the layout when its visibility is "private"
sections
Filter<Array<LayoutSection>>
List of sections the layout consists of
slug
Filter<text>
Unique identifier that allows easy lookup in the layout library
thumbnail
Filter<text | null>
Thumbnail image for this layout. Gets automatically generated
tokens
Filter<Array<LayoutDesignToken>>
List of design tokens used in the layout
variables
Filter<Array<LayoutVariable>>
List of variables used in the layout. These variables can be filled in per candidate
visibility
Filter<"public" | "private">
Visibility of this layout. "public" means the layout is published to the layout library.
Partial<Layout>
204
The updated layouts with the selected columns
PATCH /layouts
curl -X PATCH "https://api.cv-transformer.com/v1/layouts" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{}'
Links users to organizations via roles
id
uuid
Unique identifier
created_at
timestamp with time zone
Creation timestamp
updated_at
timestamp with time zone
Last modification timestamp
role
"user" | "admin" | "superuser"
Role of the member
JSON
{
"id": "00000000-0000-0000-0000-000000000000",
"organization_id": "00000000-0000-0000-0000-000000000000",
"user_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2025-02-28T20:27:48.441Z",
"updated_at": "2025-02-28T20:27:48.441Z",
"role": "superuser"
}
id
Filter<uuid>
Unique identifier
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
role
Filter<"user" | "admin" | "superuser">
Role of the member
200
A list of members with the selected columns
206
Partial Content
GET /members
curl -X GET "https://api.cv-transformer.com/v1/members?select=*" \
-H "Authorization: Bearer YOUR_API_KEY"
Invite a member to your organization. The member will receive an email with a link to accept the invitation. The member will have the user role. To make a member admin or superuser use the dashboard.
email
required
string
The email address of the member to invite.
name
string
The name of the member to invite.
language
Language
The language of the member to invite.
201
The invited member with it's user profile
POST /members
curl -X POST "https://api.cv-transformer.com/v1/members" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"email": "johndoe@example.com",
"name": "John Doe"
}'
JSON
{
"id": "00000000-0000-0000-0000-000000000000",
"organization_id": "00000000-0000-0000-0000-000000000000",
"user_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2025-02-28T20:27:48.497Z",
"updated_at": "2025-02-28T20:27:48.497Z",
"role": "superuser",
"user_profile": {
"user_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2025-02-28T20:27:48.497Z",
"updated_at": "2025-02-28T20:27:48.497Z",
"avatar": "",
"email": "",
"language": "nl",
"last_login_at": "2025-02-28T20:27:48.497Z",
"name": "",
"phone": "",
"source": ""
}
}
Revoke a member from your organization. The member will no longer have access to your organization. Only works for members with the user role. To revoke an admin or superuser members use the dashboard.
id
required
uuid
The identifier of the member to revoke.
200
The deleted member
DELETE /members
curl -X DELETE "https://api.cv-transformer.com/v1/members?id=00000000-0000-0000-0000-000000000000" \
-H "Authorization: Bearer YOUR_API_KEY"
All base information per organizations
id
uuid
Unique identifier
default_layout_id
uuid | null
Identifier of the layout that is used for new candidates by default
created_at
timestamp with time zone
Creation timestamp
updated_at
timestamp with time zone
Last modification timestamp
deleted_at
timestamp with time zone | null
Deletion timestamp
active
boolean | null
allowed_senders
text[]
List of email addresses that are allowed to send CV's to the organizations inbox. Email addresses can be partial (e.g., *@example.com)
avatar
text | null
Avatar image representing the organization
credit
integer
Amount of credit currently available
delete_candidates_after
integer | null
Time in days after which candidates are automatically deleted
fts
tsvector
name
text
Name of the organization
slug
text
Unique string. Used to determine the organization's email inbox address
type
"test" | "regular" | null
Type of the organization
JSON
{
"id": "00000000-0000-0000-0000-000000000000",
"default_layout_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2025-02-28T20:27:48.518Z",
"updated_at": "2025-02-28T20:27:48.518Z",
"deleted_at": "2025-02-28T20:27:48.518Z",
"active": false,
"allowed_senders": [
""
],
"avatar": "",
"credit": 10,
"delete_candidates_after": 0,
"name": "",
"slug": "",
"type": "regular"
}
id
Filter<uuid>
Unique identifier
default_layout_id
Filter<uuid | null>
Identifier of the layout that is used for new candidates by default
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
deleted_at
Filter<timestamp with time zone | null>
Deletion timestamp
active
Filter<boolean | null>
allowed_senders
Filter<text[]>
List of email addresses that are allowed to send CV's to the organizations inbox. Email addresses can be partial (e.g., *@example.com)
avatar
Filter<text | null>
Avatar image representing the organization
credit
Filter<integer>
Amount of credit currently available
delete_candidates_after
Filter<integer | null>
Time in days after which candidates are automatically deleted
fts
Filter<tsvector>
name
Filter<text>
Name of the organization
slug
Filter<text>
Unique string. Used to determine the organization's email inbox address
type
Filter<"test" | "regular" | null>
Type of the organization
200
A list of organizations with the selected columns
206
Partial Content
GET /organizations
curl -X GET "https://api.cv-transformer.com/v1/organizations?select=*" \
-H "Authorization: Bearer YOUR_API_KEY"
id
Filter<uuid>
Unique identifier
default_layout_id
Filter<uuid | null>
Identifier of the layout that is used for new candidates by default
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
deleted_at
Filter<timestamp with time zone | null>
Deletion timestamp
active
Filter<boolean | null>
allowed_senders
Filter<text[]>
List of email addresses that are allowed to send CV's to the organizations inbox. Email addresses can be partial (e.g., *@example.com)
avatar
Filter<text | null>
Avatar image representing the organization
credit
Filter<integer>
Amount of credit currently available
delete_candidates_after
Filter<integer | null>
Time in days after which candidates are automatically deleted
fts
Filter<tsvector>
name
Filter<text>
Name of the organization
slug
Filter<text>
Unique string. Used to determine the organization's email inbox address
type
Filter<"test" | "regular" | null>
Type of the organization
Partial<Organization>
204
The updated organizations with the selected columns
PATCH /organizations
curl -X PATCH "https://api.cv-transformer.com/v1/organizations" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{}'
Tracks notifications sent via webhooks for various events
id
uuid
Unique identifier
created_at
timestamp with time zone
Creation timestamp
updated_at
timestamp with time zone
Last modification timestamp
event_type
WebhookEvent
Event this notification is for
payload
jsonb
JSON payload that is sent along with this notification
response
text | null
Stored response
status
"pending" | "sent" | "error"
Notification status
tries
integer
Amount of times this webhook notification has been tried to be delivered
JSON
{
"id": "00000000-0000-0000-0000-000000000000",
"webhook_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2025-02-28T20:27:48.576Z",
"updated_at": "2025-02-28T20:27:48.576Z",
"event_type": "candidates.created",
"payload": {},
"response": "",
"status": "pending",
"tries": 0
}
id
Filter<uuid>
Unique identifier
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
event_type
Filter<WebhookEvent>
Event this notification is for
payload
Filter<jsonb>
JSON payload that is sent along with this notification
response
Filter<text | null>
Stored response
status
Filter<"pending" | "sent" | "error">
Notification status
tries
Filter<integer>
Amount of times this webhook notification has been tried to be delivered
200
A list of webhook notifications with the selected columns
206
Partial Content
GET /webhook_notifications
curl -X GET "https://api.cv-transformer.com/v1/webhook_notifications?select=*" \
-H "Authorization: Bearer YOUR_API_KEY"
Webhook event destinations
id
uuid
Unique identifier
created_at
timestamp with time zone
Creation timestamp
updated_at
timestamp with time zone
Last modification timestamp
description
text
An optional description of the webhook
endpoint
text
URL to which notifications should be sent
events
Array<WebhookEvent>
Events to which the webhook is subscribed
signing_secret
text
String used to sign each notification send to the webhook. Used to verify the validity of the webhook notifications
source
text
From where the webhook is registered. Can be from the admin, via the API, or via an external tool such as Zapier
JSON
{
"id": "00000000-0000-0000-0000-000000000000",
"organization_id": "00000000-0000-0000-0000-000000000000",
"created_at": "2025-02-28T20:27:48.637Z",
"updated_at": "2025-02-28T20:27:48.637Z",
"description": "",
"endpoint": "",
"events": [
"candidates.created",
"members.updated"
],
"signing_secret": "md5((random())::text)",
"source": ""
}
id
Filter<uuid>
Unique identifier
organization_id
Filter<uuid>
Identifier of the organization this webhook is defined in
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
description
Filter<text>
An optional description of the webhook
endpoint
Filter<text>
URL to which notifications should be sent
events
Filter<Array<WebhookEvent>>
Events to which the webhook is subscribed
signing_secret
Filter<text>
String used to sign each notification send to the webhook. Used to verify the validity of the webhook notifications
source
Filter<text>
From where the webhook is registered. Can be from the admin, via the API, or via an external tool such as Zapier
200
A list of webhooks with the selected columns
206
Partial Content
GET /webhooks
curl -X GET "https://api.cv-transformer.com/v1/webhooks?select=*" \
-H "Authorization: Bearer YOUR_API_KEY"
Partial<Webhook> | Array<Partial<Webhook>>
201
The newly created webhooks with the selected columns
POST /webhooks
curl -X POST "https://api.cv-transformer.com/v1/webhooks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '[]'
id
Filter<uuid>
Unique identifier
organization_id
Filter<uuid>
Identifier of the organization this webhook is defined in
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
description
Filter<text>
An optional description of the webhook
endpoint
Filter<text>
URL to which notifications should be sent
events
Filter<Array<WebhookEvent>>
Events to which the webhook is subscribed
signing_secret
Filter<text>
String used to sign each notification send to the webhook. Used to verify the validity of the webhook notifications
source
Filter<text>
From where the webhook is registered. Can be from the admin, via the API, or via an external tool such as Zapier
204
The deleted webhooks with the selected columns
DELETE /webhooks
curl -X DELETE "https://api.cv-transformer.com/v1/webhooks" \
-H "Authorization: Bearer YOUR_API_KEY"
id
Filter<uuid>
Unique identifier
organization_id
Filter<uuid>
Identifier of the organization this webhook is defined in
created_at
Filter<timestamp with time zone>
Creation timestamp
updated_at
Filter<timestamp with time zone>
Last modification timestamp
description
Filter<text>
An optional description of the webhook
endpoint
Filter<text>
URL to which notifications should be sent
events
Filter<Array<WebhookEvent>>
Events to which the webhook is subscribed
signing_secret
Filter<text>
String used to sign each notification send to the webhook. Used to verify the validity of the webhook notifications
source
Filter<text>
From where the webhook is registered. Can be from the admin, via the API, or via an external tool such as Zapier
Partial<Webhook>
204
The updated webhooks with the selected columns
PATCH /webhooks
curl -X PATCH "https://api.cv-transformer.com/v1/webhooks" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{}'