CV Reports
In the Flowcase UI you can download the matches of a search result as a report, in either Excel or CSV. This guide shows how to generate and download the same reports through the API.
A CV (résumé) report is generated in four steps:
- Retrieve office IDs.
- Initiate the report.
- Poll the report status until it is complete.
- When complete, download the report.
Before you start
Only the Country Manager or Administrator roles can access this API.
Report requests and polls count against the account rate limit, so pause between polls. See Rate Limits.
1. Fetch office IDs
GET https://<subdomain>.flowcase.com/api/v1/countries
| Method | URL | Query parameters | JSON body |
|---|---|---|---|
| GET | /api/v1/countries |
None | None |
JSON response
| Field | Description |
|---|---|
Array |
Array of countries |
Array -> offices |
Within each country is an array of offices |
Array -> offices -> _id |
ID of office (for use in the next request) |
Array -> offices -> name |
Name of office |
2. Initiate the report
POST https://<subdomain>.flowcase.com/api/v2/cv-report
Query parameters
| Parameter | Value |
|---|---|
encoding |
UTF-8 |
output_format |
xlsx or csv |
report_type |
One of the report types listed below |
lang[] |
One or more language codes, see below |
JSON body
{
"office_ids": ["OFFICE_ID_1", "OFFICE_ID_2"],
"must": []
}
office_ids limits the report to the offices you list. must holds an optional search query.
Search params
The must field in the JSON request body can contain a search query to limit the CVs (résumés) returned in the report. The search terms are the same as in the CV Search API, so refer to that document for details of how to construct queries.
Example: limiting CVs (résumés) by name:
{
"office_ids": ["OFFICE_ID_1", "OFFICE_ID_2"],
"must": [
{
"bool": {
"should": [
{
"query": {
"field": "name",
"value": "Susan"
}
}
]
}
}
]
}
Report types
| Report type | Description |
|---|---|
user_report |
Information about users |
usage_report |
Information about when a CV (résumé) was last updated |
project_experiences |
CV (résumé) data: project experiences |
certifications |
CV (résumé) data: certifications |
courses |
CV (résumé) data: courses |
languages |
CV (résumé) data: languages |
technologies |
CV (résumé) data: skills and skill categories |
key_qualifications |
CV (résumé) data: summaries of qualifications |
educations |
CV (résumé) data: educations |
work_experiences |
CV (résumé) data: work experiences |
positions |
CV (résumé) data: positions |
blogs |
CV (résumé) data: publications |
cv_roles |
CV (résumé) data: roles overview |
Lang
If the parameter is absent or empty, the report covers all languages in the account.
Only languages added to the specific account are permitted. For an account with Norwegian, English (int), Swedish and Danish: &lang[]=no&lang[]=int&lang[]=se&lang[]=dk
int is used as a language code for English (international). See Country & Language Codes for the full list.
Example with all languages
POST https://<subdomain>.flowcase.com/api/v2/cv-report?encoding=UTF-8&output_format=xlsx&report_type=technologies
Example with specified languages
POST https://<subdomain>.flowcase.com/api/v2/cv-report?encoding=UTF-8&output_format=xlsx&report_type=technologies&lang[]=no&lang[]=int&lang[]=se&lang[]=dk
3. Poll the report
| Method | URL | Query parameters | JSON body |
|---|---|---|---|
| GET | /api/v2/cv-report/<report_id> |
None | None |
GET https://<subdomain>.flowcase.com/api/v2/cv-report/<report_id>
JSON response (returned from both the initiate and poll requests)
| Field | Description |
|---|---|
_id |
ID of report request |
downloader_id |
ID of downloader |
percent_complete |
Integer between 0 and 100 |
number_of_cvs |
Number of CVs (résumés) in the report |
state |
started or finished |
cv_report -> url |
null until the report is finished, which will then become a temporary signed URL to the report |
Example (initiated)
{
"_id": "ID_OF_REPORT_REQUEST",
"created_at": "..",
"updated_at": "..",
"updated_ago": "N/A",
"downloader_id": "ID_OF_REPORT_REQUESTER",
"percent_complete": 0,
"number_of_cvs": 0,
"number_of_completed_cvs": 0,
"state": "started",
"cv_report": {
"url": null
}
}
Example (poll, once complete)
{
"_id": "ID_OF_REPORT_REQUEST",
"created_at": "..",
"updated_at": "..",
"updated_ago": "N/A",
"downloader_id": "ID_OF_REPORT_REQUESTER",
"percent_complete": 100,
"number_of_cvs": 249,
"number_of_completed_cvs": 249,
"state": "finished",
"cv_report": {
"url": "SIGNED_URL"
}
}
When the report is ready, the state changes to finished and the report can be downloaded with a GET request to the SIGNED_URL.
Report columns
Once downloaded, the report has the following columns for each report_type.
Column names that contain #{lang} are repeated once per language code included in the report.
user_report
Name
Name (multilang)
Title (#{lang})
Email
UPN
External User ID
CV Partner User ID
CV Partner CV ID
Phone Number
Landline
Birth Year
Department
Country
User language
User created at
CV Last updated by owner
CV Last updated
Years of education
Years since first work experience
Access roles
Has profile image
Owns a reference project
Read and understood privacy notice
usage_report
Name
Name (multilang)
Title (#{lang})
Birth Year
Email
UPN
External User ID
CV Partner User ID
CV Partner CV ID
Phone Number
Landline
Nationality (#{lang})
Department
Country
Owner last removed or added a section
Owner last updated CV
Last updated CV
Summary Of Qualifications
Owner last updated Qualifications
Project Experiences
Unique roles
Owner last updated Project Experiences
Highlighted roles
Owner last updated Highlighted roles
Skill categories
Owner last updated Skill categories
Educations
Years of education
Owner last updated Educations
Work experiences
Years since first work experience
Owner last updated Work experiences
Certifications
Owner last updated Certifications
Courses
Owner last updated Courses
Presentations
Owner last updated Presentations
Recommendations
Owner last updated Recommendations
Positions
Owner last updated Positions
Mentoring
Owner last updated Mentoring
Publications
Owner last updated Publications
Honors and awards
Owner last updated Honors and awards
Languages
Owner last updated Languages
project_experiences
Name
Email
Department
Country
Nationality
UPN
External User ID
CV Partner User ID
CV Partner CV ID
CV Partner section ID
External unique ID
Updated
Updated by owner
Month from
Year from
Month to
Year to
Customer (#{lang})
Customer (int)
Customer Anonymized (#{lang})
Customer Anonymized (int)
Description (#{lang})
Description (int)
Long description (#{lang})
Long description (int)
Industry (#{lang})
Industry (int)
Project type (#{lang})
Project type (int)
Percent allocated
Project extent (individual hours)
Project extent (hours)
Project extent total (hours)
Project extent
Project extent (currency)
Project extent total
Project extent total (currency)
Project area
Project area (unit)
Highlighted
certifications
Name
Email
Department
Country
Nationality
UPN
External User ID
CV Partner User ID
CV Partner CV ID
CV Partner section ID
External unique ID
Updated
Updated by owner
Month
Year
Month expire
Year expire
courses
Name
Email
Department
Country
Nationality
UPN
External User ID
CV Partner User ID
CV Partner CV ID
CV Partner section ID
External unique ID
Updated
Updated by owner
Month
Year
Name
Organiser
Long description
Highlighted
Is official masterdata (in #{lang})
Attachments
languages
Name
Email
Department
Country
Nationality
UPN
External User ID
CV Partner User ID
CV Partner CV ID
CV Partner section ID
External unique ID
Updated
Updated by owner
Highlighted
Is official masterdata (in #{lang})
Language
Level
technologies
Name
Email
Department
Country
Nationality
UPN
External User ID
CV Partner User ID
CV Partner CV ID
CV Partner skill ID
CV Partner skill category ID
Skill name
Year experience
Proficiency (0-5)
Is official masterdata (in #{lang})
key_qualifications
Name
Email
Department
Country
Nationality
UPN
External User ID
CV Partner User ID
CV Partner CV ID
CV Partner section ID
External unique ID
Updated
Updated by owner
Label
Summary of Qualifications
Short description
educations
Name
Email
Department
Country
Nationality
UPN
External User ID
CV Partner User ID
CV Partner CV ID
CV Partner section ID
External unique ID
Updated
Updated by owner
Month from
Year from
Month to
Year to
Highlighted
Attachments
Place of study
Degree
Description
work_experiences
Name
Email
Department
Country
Nationality
UPN
External User ID
CV Partner User ID
CV Partner CV ID
CV Partner section ID
External unique ID
Updated
Updated by owner
Month from
Year from
Month to
Year to
Highlighted
Employer
Description
Long Description
positions
Name
Email
Department
Country
Nationality
UPN
External User ID
CV Partner User ID
CV Partner CV ID
CV Partner section ID
External unique ID
Updated
Updated by owner
Year from
Year to
Highlighted
Name
Description
What's next
- The other report type is covered in Reference Project Reports.
- To read CV data as JSON instead of a spreadsheet, see CVs (résumés).