API Docs

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:

  1. Retrieve office IDs.
  2. Initiate the report.
  3. Poll the report status until it is complete.
  4. When complete, download the report.
There is a limit of 10,000 CVs (résumés) per result. Use the office filter to fetch the result in batches of a suitable size.

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