API
The API allows you to integrate the core CVtoBlind functionality within your app.
Authentication
All endpoints use the Bearer Authentication mechanism. You can create a new API Key at Settings / Access Keys.
Usage guide
Creating a profile
In order to ingest a new profile into CVtoBlind, you need to upload a CV file to the API endpoint. The endpoint returns the ID of created profile.
Profile processing
Once you have that ID, you can retrieve the profile with API. The profile has a status
field, which initially will be set to queued
. Within 15-30 seconds the profile will be processed & the data
field will be populated.
Profile contents
Once the processing is completed, the data
field contains the entire CV data object. This object contains all the data we've extracted from the CV file. It can also be modified with the Profile Editor inside the app, but not via the API.
Exporting profiles
In order to export profile data, you can either access the raw files directly as JSON via API or render the profile in a given template with API. The available options are docx
and pdf.
If you don't specify a templateId
parameter, the default template assigned to your account will be used. In order to lookup available templates, see Templates. You can copy the templateId
by clicking the ID column value.
OpenAI Spec
Max file size: 10MB. Accepted file types: .pdf, .docx, .jpg, .png
ID of the created profile
Invalid file parameter
Unauthorized
Internal Server Error
POST /api/v1/convert HTTP/1.1
Host: app.cvtoblind.com
Authorization: Bearer {access token}
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17
{
"file": "binary"
}
{
"profileId": "text"
}
Returns a paginated list of profiles
1
10
A paginated list of profiles
Invalid page or page size
Unauthorized
Internal Server Error
GET /api/v1/profiles HTTP/1.1
Host: app.cvtoblind.com
Authorization: Bearer {access token}
Accept: */*
{
"data": [
{
"profileId": "text",
"fileName": "text",
"createdBy": "text",
"status": "queued",
"data": {
"email": "text",
"github": "text",
"mobile": "text",
"skills": [
"text"
],
"summary": "text",
"linkedin": "text",
"education": [
{
"major": "text",
"start": "text",
"degree": "text",
"finish": "text",
"faculty": "text",
"university": "text"
}
],
"languages": [
{
"level": "text",
"language": "text"
}
],
"last_name": "text",
"main_role": "text",
"experience": [
{
"to": "text",
"from": "text",
"roles": [
"text"
],
"company": "text",
"project": "text",
"location": "text",
"technologies": [
"text"
],
"responsibilities": [
"text"
]
}
],
"first_name": "text",
"other_urls": [
"text"
],
"technologies": [
"text"
],
"category_tech": {
"ANY_ADDITIONAL_PROPERTY": [
"text"
]
},
"certifications": [
{
"certificate": "text",
"date": "text"
}
],
"physical_address": "text",
"additional_information": "text",
"hobby": [
"text"
],
"total_experience": "text",
"detailed_address": {
"country": "text",
"city": "text",
"postal_code": "text",
"address": "text"
},
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
}
],
"metadata": {
"total": 0,
"page": 1,
"pageSize": 10,
"totalPages": 0
}
}
Returns a single profile
Profile details
Profile not found
Internal Server Error
GET /api/v1/profiles/{profileId} HTTP/1.1
Host: app.cvtoblind.com
Authorization: Bearer {access token}
Accept: */*
{
"profileId": "text",
"fileName": "text",
"createdBy": "text",
"status": "queued",
"data": {
"email": "text",
"github": "text",
"mobile": "text",
"skills": [
"text"
],
"summary": "text",
"linkedin": "text",
"education": [
{
"major": "text",
"start": "text",
"degree": "text",
"finish": "text",
"faculty": "text",
"university": "text"
}
],
"languages": [
{
"level": "text",
"language": "text"
}
],
"last_name": "text",
"main_role": "text",
"experience": [
{
"to": "text",
"from": "text",
"roles": [
"text"
],
"company": "text",
"project": "text",
"location": "text",
"technologies": [
"text"
],
"responsibilities": [
"text"
]
}
],
"first_name": "text",
"other_urls": [
"text"
],
"technologies": [
"text"
],
"category_tech": {
"ANY_ADDITIONAL_PROPERTY": [
"text"
]
},
"certifications": [
{
"certificate": "text",
"date": "text"
}
],
"physical_address": "text",
"additional_information": "text",
"hobby": [
"text"
],
"total_experience": "text",
"detailed_address": {
"country": "text",
"city": "text",
"postal_code": "text",
"address": "text"
},
"custom_fields": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
}
Renders a profile document in the specified format (pdf or docx)
Rendered profile document
Invalid parameters
Profile or user not found
Internal Server Error
GET /api/v1/profiles/{profileId}/render HTTP/1.1
Host: app.cvtoblind.com
Authorization: Bearer {access token}
Accept: */*
binary
Profile deleted
No content
Unauthorized
Profile not found or could not be deleted
Internal Server Error
DELETE /api/v1/profiles/{profileId} HTTP/1.1
Host: app.cvtoblind.com
Authorization: Bearer {access token}
Accept: */*
No content
Last updated