Template Styles

API documentation

As an alternative to using our dashboard, recruiters can integrate directly with our REST API.

Overview

Our REST API can easily be integrated by any developer. Please note that this option is only available for recruiters in need of optimizing a large number of resumes and have technical knowledge of how to incorporate a REST API.

Transactions take less than 15 seconds on average but more complex resumes may take longer. If you need to optimize a batch of resumes, our recommendation is to process these one at a time and not concurrently.

Endpoint

You can test our API here: https://resumeoptimizerpro.com/api/v1/

Authentication

To authenticate with our REST API, the following request headers are required:

Field Type Description
ApiKey string The API Key associated with your account
Content-Type string This value should be set to application/json

Optimize a resume

Optimizes a resume using customizable options and returns a fully optimized, ATS-compatible resume.

POST https://resumeoptimizerpro.com/api/v1/optimize

Request body

{
  "ResumeAsBase64String": "string",
  "ResumeText": "string",
  "SkillsToAdd": [
    "string"
  ],
  "IncludeProfessionalSummary": true,
  "ProfessionalSummaryStyle": "string",
  "IncludeObjective": true,
  "IncludeCoverLetter": true,
  "IncludeTechnicalProfile": true,
  "AddSkillsToWorkHistory": true,
  "AddMetricsToAccomplishments": true,
  "FormattingOptions": {
    "FontStyle": "string",
    "CustomTemplateAsBase64String": "string",
    "TemplateStyle": "string",
    "HidePersonalInfo": true
  },
  "IdealJobTitle": "string",
  "JobTitle": "string",
  "CompanyName": "string",
  "WritingStyle": "string",
  "StreamlineResume": true,
  "CategorizeSkills": true,
  "NumberOfSkillsToAddToWorkHistory": 0,
  "HighlightAccomplishments": true
}

Field definition

ResumeAsBase64String string conditional
The resume file to optimize as a base64 encoded string. Supported file types include .docx .txt, and .pdf. Either ResumeAsBase64String or ResumeText is required.
ResumeText string conditional
As an alternative to the resume file, you can provide the text of the resume to optimize. Use this option for unsupported file formats or poorly formatted resumes. Either ResumeAsBase64String or ResumeText is required.
SkillsToAdd string[] optional
The additional skills to include in the optimized resume. For example, use this option to include any skills that the candidate has experience with but are not currently in the resume.
IncludeProfessionalSummary bool optional
If true, a professional summary will be included in the optimized resume (default = true).
ProfessionalSummaryStyle string optional
Sets the style for the professional summary (default = "Paragraph"). Possible values include:

  • "Paragraph"
  • "BulletList"

IncludeObjective bool optional
If true, an objective will be included in the optimized resume (default = false).
IncludeTechnicalProfile bool optional
If true, a technical profile that showcases computer-related skills will be included. (default = false).
IncludeCoverLetter bool optional
If true, a targeted cover letter will be included in the optimized resume (default = false).
AddSkillsToWorkHistory bool optional
This option will integrate the "SkillsToAdd" values into the work history to improve the matching score (default = true).
AddMetricsToAccomplishments bool optional
This option will add sample metrics to accomplishments to make them more impactful. These values should be modified accordingly after the resume is generated (default = false).
FormattingOptions object optional
Sets the formatting options for the optimized resume.
FormattingOptions.FontStyle string optional
Sets the font style for the optimized resume. Only set this value if you don't wish to use the template's default font style. Possible values include:

  • "Arial"
  • "Book Antiqua"
  • "Bookman Old Style"
  • "Calibri"
  • "Century Gothic"
  • "Georgia"
  • "Helvetica"
  • "Lucida Calligraphy"
  • "Lucida Sans"
  • "Microsoft Sans Serif"
  • "Rockwell"
  • "Segoe UI"
  • "Tahoma"
  • "Verdana"

FormattingOptions.CustomTemplateAsBase64String string optional
A custom .docx template to use instead of a built-in template as a base64 encoded string (option for recruiters).
FormattingOptions.TemplateStyle string optional
The template style for the optimized resume (view templates). Possible values include:

  • "1" (plain style and no colors) [default]
  • "2" (light beige main header)
  • "3" (black main header)
  • "4" (centered section headers)
  • "5" (classic style)
  • "6" (gray main header and teal section headers)
  • "7" (blue main and section headers)
  • "8" (red main and section headers)
  • "9" (compressed to minimize pages)

FormattingOptions.HidePersonalInfo bool optional
This option will redact the candidate's personal information from the optimized resume. This can be useful for recruiters that need to anonymize their candidate profiles before submitting them to clients (default = false).
IdealJobTitle string optional
The ideal job title (or target position) to be associated with the optimized resume. This value will be included within the main header and cover letter (if selected).
JobTitle string optional
When optimizing for a job posting, the job title associated with the posting.
CompanyName string optional
When optimizing for a job posting, the company name that is posting the job. This value will be included in the targeted cover letter (if selected).
WritingStyle string optional
The writing style for the optimized resume. For example, if you are a designer, you may want to may want to choose "Creative" or if you are a software developer, you may want to choose "Technical". The "Unmodified" option will keep the resume's writing style. Possible values include:

  • "Professional" (default)
  • "Executive"
  • "Technical"
  • "Creative"
  • "Casual"
  • "Unmodified"

StreamlineResume bool optional
This option makes work history more concise (recommended for longer resumes). Deselect it to include more detailed descriptions (default = false).
CategorizeSkills bool optional
This option organizes skills into three distinct categories: Professional, Technical, and Soft (default = true).
NumberOfSkillsToAddToWorkHistory int optional
The number of skills to be added as bullet points into the most recent work history position.
HighlightAccomplishments bool optional
This option automatically bolds actionable words and phrases within accomplishment bullet points, enhancing their visibility and impact. (default = false).

Response body

{
  "OptimizedResumeAsBase64String": "string",
  "StatusCode": "string",
  "Message": "string",
  "OptimizationsRemaining": 0,
  "CandidateName": "string",
  "ResumeAnalysis": "string"
}

Field definition

OptimizedResumeAsBase64String string
The optimized resume as a base64 encoded string. The format of the file will be MS Word .docx.
StatusCode string
The status code for the transaction.
Message string
The status message associated with the transaction.
OptimizationsRemaining integer
The number of optimizations (or credits) remaining in the account.
CandidateName string
The candidate name associated with the optimized resume.
ResumeAnalysis string
The summary analysis for the original resume based on how well it adhered to our best practices.

Match a resume to a job

Evaluates a resume's alignment with a job posting and identifies strong matches, partial matches, gaps, and required skills for the role.

POST https://resumeoptimizerpro.com/api/v1/match

Request body

{
  "ResumeAsBase64String": "string",
  "ResumeText": "string",
  "JobText": "string"
}

Field definition

ResumeAsBase64String string conditional
The candidate's resume file as a base64 encoded string to match against the job posting. Supported file types include .docx .txt, and .pdf. Either ResumeAsBase64String or ResumeText is required.
ResumeText string conditional
As an alternative to the resume file, you can provide the resume text to match against the job posting. Use this option for unsupported file formats or poorly formatted resumes. Either ResumeAsBase64String or ResumeText is required.
JobText string required
The text of the job posting to match against. For optimal results, exclude any non-relevant content such as information about benefits, company culture, etc.

Response body

{
  "StatusCode": "string",
  "Message": "string",
  "OptimizationsRemaining": 0,
  "AdditionalSkillsNeededForJob": [
    "string"
  ],
  "JobTitle": "string",
  "CompanyName": "string",
  "CandidateName": "string",
  "JobMatchAnalysis": {
    "StrongMatches": [
      "string"
    ],
    "PartialMatches": [
      "string"
    ],
    "Gaps": [
      "string"
    ],
    "MatchingScore": 0,
    "ResultsSummary": "string"
  }
}

Field definition

StatusCode string
The status code for the transaction.
Message string
The status message associated with the transaction.
OptimizationsRemaining integer
The number of optimizations (or credits) remaining in the account.
AdditionalSkillsNeededForJob string[]
The additional skills that the job posting requires when compared to the candidate's resume. To optimize the resume for the job, select the relevant skills and include them in the SkillsToAdd field of the Optimize a resume request.
JobTitle string
The job title associated with the job posting. This may be empty if we are not able to detect one.
CandidateName string
The candidate's name associated with the resume.
JobMatchAnalysis object
The object containing the job matching results.
JobMatchAnalysis.StrongMatchees string[]
Areas where the candidate's skills, experience, or qualifications fully meet or exceed the job requirements.
JobMatchAnalysis.PartialMatches string[]
Areas where the candidate has relevant but incomplete qualifications, requiring some training or adjustment to fully align with the job.
JobMatchAnalysis.Gaps string[]
Areas where the candidate lacks the required skills, experience, or qualifications, indicating a potential disqualification.
JobMatchAnalysis.MatchingScore integer
A score between 0 to 100 that represents how well the candidate matched the job. For example, a score above 70 would typically represent a good match, 40-69 a moderate match, and 1-39 a poor match.
JobMatchAnalysis.ResultsSummary string
A brief summary of the overall matching results between the candidate and the job requirements.