CVtoBlind Docs
  • Overview
  • Getting started
  • FAQ
  • API
  • Zapier integration
  • Concepts
    • Profile
    • Template
      • Template creation guide
    • Organization
      • Domain verification
    • Custom fields
    • Subscriptions & Billing
  • Web application
    • UI Overview
    • Convert Page
    • Profiles Page
    • Profile Editor
  • Settings
    • Organization
    • Billing and usage
Powered by GitBook
On this page

API

The API allows you to integrate the core CVtoBlind functionality within your app.

PreviousFAQNextZapier integration

Last updated 4 months ago

Authentication

All endpoints use the mechanism. You can create a new API Key at .

Usage guide

Creating a profile

In order to ingest a new profile into CVtoBlind, you need to upload a CV file to the #api-v1-convert endpoint. The endpoint returns the ID of created profile.

Profile processing

Once you have that ID, you can retrieve the profile with #api-v1-profiles-profileid. 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-v1-profiles-profileid or render the profile in a given template with #api-v1-profiles-profileid-render. 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 . You can copy the templateId by clicking the ID column value.

OpenAI Spec

Bearer Authentication
Settings / Access Keys
Templates

Get profiles

get

Returns a paginated list of profiles

Authorizations
Query parameters
pageintegerOptionalDefault: 1
pageSizeintegerOptionalDefault: 10
Responses
200
A paginated list of profiles
application/json
400
Invalid page or page size
application/json
401
Unauthorized
application/json
500
Internal Server Error
application/json
get
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
  }
}

Get profile by ID

get

Returns a single profile

Authorizations
Path parameters
profileIdstringRequired
Responses
200
Profile details
application/json
404
Profile not found
application/json
500
Internal Server Error
application/json
get
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"
    }
  }
}

Render profile document

get

Renders a profile document in the specified format (pdf or docx)

Authorizations
Path parameters
profileIdstringRequired
Query parameters
templateIdstringOptional
fileTypestring · enumRequiredPossible values:
Responses
200
Rendered profile document
Responsestring · binary
400
Invalid parameters
application/json
404
Profile or user not found
application/json
500
Internal Server Error
application/json
get
GET /api/v1/profiles/{profileId}/render HTTP/1.1
Host: app.cvtoblind.com
Authorization: Bearer {access token}
Accept: */*
binary

Delete profile by ID

delete
Authorizations
Path parameters
profileIdstringRequired
Responses
204
Profile deleted
401
Unauthorized
application/json
404
Profile not found or could not be deleted
application/json
500
Internal Server Error
application/json
delete
DELETE /api/v1/profiles/{profileId} HTTP/1.1
Host: app.cvtoblind.com
Authorization: Bearer {access token}
Accept: */*

No content

  • Authentication
  • Usage guide
  • Creating a profile
  • Profile processing
  • Profile contents
  • Exporting profiles
  • OpenAI Spec
  • POSTUpload and convert CV
  • GETGet profiles
  • GETGet profile by ID
  • GETRender profile document
  • DELETEDelete profile by ID

Upload and convert CV

post

Max file size: 10MB. Accepted file types: .pdf, .docx, .jpg, .png

Authorizations
Body
filestring · binaryRequired
Responses
200
ID of the created profile
application/json
400
Invalid file parameter
application/json
401
Unauthorized
application/json
500
Internal Server Error
application/json
post
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"
}