Resume Builder API

A robust ASP.NET Core API for Custom Resume/Cover Letter creation

API Overview

The Resume Builder API, developed using ASP.NET Core, allows developers to programmatically create, manage, and export professional resumes and cover letters. It enables customization of resumes and cover letters based on job details provided by the user. The API uses user data to generate tailored resumes and cover letters for specific job applications. Additionally, it provides a job-matching percentage to indicate how well the user’s profile aligns with the job requirements and identifies key skills the user needs to develop to improve their suitability for the role.

Resume/Cover Letter Creation

Build resumes and cover letters with customizable sections like personal info, experience, and skills.

Template Management (Unavailable)

Choose from a variety of resume and cover letter templates tailored to different industries.

Export Options (Only JSON model Right now)

Export resumes and cover letters as PDF, Word, or HTML with configurable styling.

User Management

Manage user profiles and their associated resumes.

Base URL

https://api.resumebuilder.com/v1

Authentication

A admin pass code is needed to access the API. Please contact Naresh Koirala for assistance.

Getting Started

  1. Contact the administrator for the pass code.
  2. General Inquiries, and send a request on what features you would like to see.
  3. You will be send a PASS Code make sure to save it.
Get Pass Code

Model Structure

Use these kind of Structure Models to interact with the API.

Model structure needed for return Job Req. (returnJob)

Main return Job data -> (returnJob)
{    
    string? JobName { get; set; } = string.Empty;
    ResumeModel? Resume { get; set; } = new ResumeModel();
    CoverLetterModel? CoverLetter { get; set; } = new CoverLetterModel();
    string? JobKeywords { get; set; } = string.Empty;
    string? JobPercentage { get; set; } = string.Empty;
}

ResumeModel @ returnJob -> (Resume)
{
    string TitleKeyword { get; set; } = string.Empty;
    string Summary { get; set; } = string.Empty;
    string ProgramingLanguage { get; set; } = string.Empty;
    string Frameworks { get; set; } = string.Empty;
    string RelevantKeywords { get; set; } = string.Empty;
    List Projects { get; set; } = new List();
    string WorkExperience { get; set; } = string.Empty;
    string Education { get; set; } = string.Empty;
    string Certificates { get; set; } = string.Empty;
}

ProjectsModel @ Resume -> (Projects)
{
    string ProjectName { get; set; } = string.Empty;
    string Description { get; set; } = string.Empty;
    string Bullet1 { get; set; } = string.Empty;
    string Bullet2 { get; set; } = string.Empty;
    string Bullet3 { get; set; } = string.Empty;
}

CoverLetterModel @ returnJob ->(Resume)
{
    string Title { get; set; } = string.Empty;
    string Body1 { get; set; } = string.Empty;
    string Body2 { get; set; } = string.Empty;
    string Body3 { get; set; } = string.Empty;
}

Model structuring for User Registration/Update

The data user need to send format for registration --> (UserRegisterDto)
{
    string pass { get; set; } = string.Empty;
    string firstName { get; set; } = string.Empty;
    string lastName { get; set; } = string.Empty;
    string email { get; set; } = string.Empty;
    string mobile { get; set; } = string.Empty;
    string location { get; set; } = string.Empty;
    string province { get; set; } = string.Empty;
    string jobField { get; set; } = string.Empty;
    string? portfolioUrl { get; set; } = null;
    string? linkedInUrl { get; set; } = null;
    string? userSummary { get; set; } = null;
    List education { get; set; } = new List();
    List workExperience { get; set; } = new List();
    List certificates { get; set; } = new List();
    List skills { get; set; } = new List();
    List projects { get; set; } = new List();
}

For updating user info use the same format just instead of pass add publiId --> (UpdateUserDTO)
{
    string pass { get; set; } = string.Empty; --> REMOVE
    string publicId { get; set; } = string.Empty; --> ADD
    [....] -> OTHER ALL ARE SAME
}

CertificateEntryDto
{
    string certificateName { get; set; } = string.Empty;
    string details { get; set; } = string.Empty;
}

EducationEntryDto
{
    string institutionName { get; set; } = string.Empty;
    string date { get; set; } = string.Empty;
    string? location { get; set; } = null;
    string? details { get; set; } = null;
}

ProjectEntryDto
{
    string projectName { get; set; } = string.Empty;
    string? description { get; set; } = null;
}

SkillsEntryDto
{
    string skillName { get; set; } = string.Empty;
}

WorkEntryDto
{
    string companyName { get; set; } = string.Empty;
    string date { get; set; } = string.Empty;
    string? location { get; set; } = null;
    string? details { get; set; } = null;
}

API Endpoints

The API is organized into controllers for jobs and users. Below are the available endpoints.

JobController

GET /Job/fetch-rcl-json
Fetch Resume & Cover Letter JSON data
REQUEST:
{"publicId": "string", "jobName": "string", "jobDescription": "string"}
RESPONSE:
{jobName, ResumeJson, CoverLetterJson}
GET /Job/get-matchKeys
Get match skills percentage and key job skills to improve
REQUEST:
{"publicId": "string", "jobName": "string", "jobDescription": "string"}
RESPONSE:
{jobName, MatchPercentage, KeySkills}
GET /Job/get-all
Get complete job analysis with resume, cover letter, and match data
REQUEST:
{"publicId": "string", "jobName": "string", "jobDescription": "string"}
RESPONSE:
{complete ReturnJobModel object}

UserController

POST /User/register
Register a new user
BODY:
UserRegisterDto JSON
RESPONSE:
Success message + public ID
PUT /User/update
Update an existing user
BODY:
UpdateUserDto JSON
RESPONSE:
Success message
DELETE /User/delete/{publicId}
Delete a user by public ID
PARAMETER:
publicId (path)
RESPONSE:
Success message
GET /User/getUser/{publicId}
Retrieve a user by public ID
PARAMETER:
publicId (path)
RESPONSE:
User details JSON

Code Examples

Use these examples to interact with the API using popular tools and languages.

WILL HAVE EXAMPLE IN FUTURE!!!

Support & Resources

Please contact Naresh Koirala for any issues, feature requests, or support related to the Resume Builder API.