Introduction
The Resume Classification API provides resume parsing and classification capabilities with locale-detection support. It parses resumes into structured data and supports multiple input formats depending on access level. The classified resume data returned by this API is produced by the Lightcast Resume Parser and can include parsed entities such as skills, work experience, education, and other candidate information.
Supported formats for resume parsing depend on scope/access level. Trial scope (lightcast_open) supports PDF and TXT only. Enterprise scopes (parse_api, classification_api) support additional formats such as DOC, DOCX, ODT, WPD. Requests that upload files use multipart/form-data.
Note: By default, clients are allowed a maximum of 10 requests per second. Contact us if you require adjustments.
API Endpoint
There are multiple endpoints within this category. Refer to individual API docs under the Resume Classification section.
Request Headers
(*) Indicates the action is required
All requests must include the following headers:
| Header Key | Value | Description |
|---|---|---|
| *Authorization | Bearer <ACCESS_TOKEN> | OAuth bearer token obtained from the Authentication API. Required for all authenticated requests. |
| Content-Type | application/json or multipart/form-data | application/json for JSON requests; multipart/form-data when uploading files. |
Authentication
All endpoints require an OAuth 2.0 Bearer Token. Tokens are granted through the Authentication API at https://auth.emsicloud.com/connect/token and are valid for 1 hour.
For the Resume Classification API you may request a token with one of these scopes depending on access:
| Scope name | Description | Access |
|---|---|---|
lightcast_open | Trial: allows PDF and TXT documents for resume parsing. | https://lens.emsiservices.com/resume/parse |
parse_api | Enterprise: allows all supported document types for resume parsing. | https://lens.emsiservices.com/resume/parse |
classification_api | Enterprise + classification: all document types plus Lightcast taxonomy classification support. | https://lens.emsiservices.com/resume/parse and https://lens.emsiservices.com/resume/classify |
Sample Request
curl --request POST \
--url https://auth.emsicloud.com/connect/token \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data client_id=CLIENT_ID \
--data client_secret=CLIENT_SECRET \
--data grant_type=client_credentials \
--data scope=lightcast_openRequest Parameters
| Parameter | Type | Description |
|---|---|---|
| client_id | string | The client ID provided by Lightcast. |
| client_secret | string | The client secret associated with your client ID. |
| grant_type | string | Must be set to client_credentials. |
| scope | string | One of: lightcast_open, parse_api, classification_api. |
Sample Response
{
"access_token": "<ACCESS_TOKEN>",
"expires_in": 3600,
"token_type": "Bearer"
}Note that the Tokens expire after 3600 seconds. To maintain uninterrupted access, refresh the token before it expires. To know more about this, refer to the Authentication guide.
Response Parameters
| Parameter | Type | Description |
|---|---|---|
| access_token | string | The token used to authorize API requests. |
| expires_in | integer | Number of seconds before the token expires. |
| token_type | string | Indicates the type of token. (Always Bearer) |
Status Code Summary
| Code | Meaning | Description |
|---|---|---|
| 200 | OK | Request was successful. |
| 400 | Bad Request | The request was unacceptable, often due to missing a required parameter. |
| 401 | Unauthorized | Authentication error. |
| 404 | Not Found | Resource not found. |
