API Reference Authenticated CRUD

Authenticated CRUD

17 endpoints to manage your profile, skills, experience, education, projects, and resume import. All require an X-API-Key header.

Base URL
JWT set Key set No credentials set

Authenticated CRUD

17
Profile

Get your full profile

Response

FieldTypeDescription
id uuid User ID*
username string Username*
email string Email (private)*
full_name string Display name*
bio string? Bio
Requires API Key — set it in the auth bar above

                    
                

Response 200 OK

{
  "id": "a1b2c3d4-5678-9abc-def0-123456789abc",
  "username": "hershel",
  "email": "hershel@example.com",
  "full_name": "Hershel Moshkovitz",
  "bio": "Full-stack developer passionate about building elegant APIs.",
  "location": "Herzliya, Israel",
  "website": "https://hershel.dev",
  "github_url": "https://github.com/hershel",
  "linkedin_url": "https://linkedin.com/in/hershel"
}

Update your profile

Request Body

FieldTypeDescription
full_name string Display name
bio string Bio (max 1000 chars)
location string Location
website string Website URL
github_url string GitHub profile URL
linkedin_url string LinkedIn profile URL

Response

FieldTypeDescription
UserPrivate object Updated profile data*
Requires API Key — set it in the auth bar above

                    
                

Request

{
  "bio": "Building APIs that make resumes come alive.",
  "location": "Tel Aviv, Israel"
}

Response 200 OK

{
  "id": "a1b2c3d4-5678-9abc-def0-123456789abc",
  "username": "hershel",
  "email": "hershel@example.com",
  "full_name": "Hershel Moshkovitz",
  "bio": "Building APIs that make resumes come alive.",
  "location": "Tel Aviv, Israel"
}
Skills

Add a new skill

Request Body

FieldTypeDescription
name string Skill name (e.g. "Python")*
category string Category (e.g. "Languages")
proficiency string Level: beginner, intermediate, advanced, expert
years_of_experience integer Years of experience

Response

FieldTypeDescription
SkillResponse object Created skill with id and timestamps*
Requires API Key — set it in the auth bar above

                    
                

Request

{
  "name": "Python",
  "category": "Languages",
  "proficiency": "expert",
  "years_of_experience": 5
}

Response 200 OK

{
  "id": "c3d4e5f6-789a-bcde-f012-3456789abcde",
  "name": "Python",
  "category": "Languages",
  "proficiency": "expert",
  "years_of_experience": 5,
  "user_id": "a1b2c3d4-5678-9abc-def0-123456789abc"
}

Update a skill

Path Parameters

FieldTypeDescription
skill_id uuid Skill ID*

Request Body

FieldTypeDescription
name string Skill name
category string Category
proficiency string Proficiency level
years_of_experience integer Years

Response

FieldTypeDescription
SkillResponse object Updated skill*
Requires API Key — set it in the auth bar above

                    
                

Request

{
  "proficiency": "advanced",
  "years_of_experience": 6
}

Response 200 OK

{
  "id": "c3d4e5f6-789a-bcde-f012-3456789abcde",
  "name": "Python",
  "category": "Languages",
  "proficiency": "advanced",
  "years_of_experience": 6
}

Delete a skill

Path Parameters

FieldTypeDescription
skill_id uuid Skill ID*
Requires API Key — set it in the auth bar above

                    
                

Response 200 OK

204 No Content
Experience

Add work experience

Request Body

FieldTypeDescription
company string Company name*
title string Job title*
location string Location
description string Role description
start_date date Start date (YYYY-MM-DD)*
end_date date End date (YYYY-MM-DD)
is_current boolean Currently working here?
technologies string Technologies used

Response

FieldTypeDescription
ExperienceResponse object Created experience entry*
Requires API Key — set it in the auth bar above

                    
                

Request

{
  "company": "RESTume Inc.",
  "title": "Senior Backend Engineer",
  "location": "Herzliya, Israel",
  "start_date": "2024-01-15",
  "is_current": true,
  "technologies": "Python, FastAPI, ChromaDB",
  "description": "Building the next-gen developer resume platform."
}

Response 200 OK

{
  "id": "e5f67890-abcd-ef01-2345-6789abcdef01",
  "company": "RESTume Inc.",
  "title": "Senior Backend Engineer",
  "location": "Herzliya, Israel",
  "start_date": "2024-01-15",
  "end_date": null,
  "is_current": true,
  "description": "Building the next-gen developer resume platform.",
  "technologies": "Python, FastAPI, ChromaDB"
}

Update experience

Path Parameters

FieldTypeDescription
experience_id uuid Experience ID*

Request Body

FieldTypeDescription
company string Company name
title string Job title
location string Location
description string Description
start_date date Start date
end_date date End date
is_current boolean Currently working here?
technologies string Technologies

Response

FieldTypeDescription
ExperienceResponse object Updated experience*
Requires API Key — set it in the auth bar above

                    
                

Request

{
  "title": "Lead Backend Engineer",
  "technologies": "Python, FastAPI, ChromaDB, Docker"
}

Response 200 OK

{
  "id": "e5f67890-abcd-ef01-2345-6789abcdef01",
  "company": "RESTume Inc.",
  "title": "Lead Backend Engineer",
  "location": "Herzliya, Israel",
  "start_date": "2024-01-15",
  "is_current": true,
  "technologies": "Python, FastAPI, ChromaDB, Docker"
}

Delete experience

Path Parameters

FieldTypeDescription
experience_id uuid Experience ID*
Requires API Key — set it in the auth bar above

                    
                

Response 200 OK

204 No Content
Education

Add education entry

Request Body

FieldTypeDescription
institution string Institution name*
degree string Degree (e.g. "B.Sc Computer Science")*
field_of_study string Field of study
description string Description
start_date date Start date (YYYY-MM-DD)*
end_date date End date (YYYY-MM-DD)
gpa float GPA (0.0-4.0)
is_current boolean Currently enrolled?

Response

FieldTypeDescription
EducationResponse object Created education entry*
Requires API Key — set it in the auth bar above

                    
                

Request

{
  "institution": "IDC Herzliya",
  "degree": "B.Sc.",
  "field_of_study": "Computer Science",
  "start_date": "2022-10-01",
  "end_date": "2025-06-30",
  "gpa": 3.7,
  "description": "Specialization in AI and distributed systems."
}

Response 200 OK

{
  "id": "f6789012-bcde-f012-3456-789abcdef012",
  "institution": "IDC Herzliya",
  "degree": "B.Sc.",
  "field_of_study": "Computer Science",
  "start_date": "2022-10-01",
  "end_date": "2025-06-30",
  "gpa": 3.7,
  "is_current": false,
  "description": "Specialization in AI and distributed systems."
}

Update education

Path Parameters

FieldTypeDescription
education_id uuid Education ID*

Request Body

FieldTypeDescription
institution string Institution
degree string Degree
field_of_study string Field of study
description string Description
start_date date Start date
end_date date End date
gpa float GPA
is_current boolean Currently enrolled?

Response

FieldTypeDescription
EducationResponse object Updated education*
Requires API Key — set it in the auth bar above

                    
                

Request

{
  "gpa": 3.85,
  "description": "Graduated with honors. Focus on AI and distributed systems."
}

Response 200 OK

{
  "id": "f6789012-bcde-f012-3456-789abcdef012",
  "institution": "IDC Herzliya",
  "degree": "B.Sc.",
  "field_of_study": "Computer Science",
  "gpa": 3.85,
  "description": "Graduated with honors. Focus on AI and distributed systems."
}

Delete education

Path Parameters

FieldTypeDescription
education_id uuid Education ID*
Requires API Key — set it in the auth bar above

                    
                

Response 200 OK

204 No Content
Projects

Add a portfolio project

Request Body

FieldTypeDescription
name string Project name*
description string Project description
url string Live URL
repository_url string Repository URL
technologies string Technologies used
highlights string Key highlights
start_date string Start date
end_date string End date
is_featured boolean Featured project?

Response

FieldTypeDescription
ProjectResponse object Created project*
Requires API Key — set it in the auth bar above

                    
                

Request

{
  "name": "RESTume",
  "description": "SaaS platform that turns resumes into live APIs with AI chat.",
  "technologies": "Python, FastAPI, ChromaDB, HTMX, Tailwind CSS",
  "url": "https://restume.com",
  "repository_url": "https://github.com/HershelT/RESTume",
  "is_featured": true
}

Response 200 OK

{
  "id": "01234567-89ab-cdef-0123-456789abcdef",
  "name": "RESTume",
  "description": "SaaS platform that turns resumes into live APIs with AI chat.",
  "technologies": "Python, FastAPI, ChromaDB, HTMX, Tailwind CSS",
  "url": "https://restume.com",
  "repository_url": "https://github.com/HershelT/RESTume",
  "is_featured": true
}

Update a project

Path Parameters

FieldTypeDescription
project_id uuid Project ID*

Request Body

FieldTypeDescription
name string Project name
description string Description
url string Live URL
repository_url string Repository URL
technologies string Technologies
highlights string Highlights
start_date string Start date
end_date string End date
is_featured boolean Featured?

Response

FieldTypeDescription
ProjectResponse object Updated project*
Requires API Key — set it in the auth bar above

                    
                

Request

{
  "description": "Full-stack SaaS platform with RAG AI, MCP recruiting server, and live API.",
  "technologies": "Python, FastAPI, ChromaDB, HTMX, Alpine.js, Tailwind CSS"
}

Response 200 OK

{
  "id": "01234567-89ab-cdef-0123-456789abcdef",
  "name": "RESTume",
  "description": "Full-stack SaaS platform with RAG AI, MCP recruiting server, and live API.",
  "technologies": "Python, FastAPI, ChromaDB, HTMX, Alpine.js, Tailwind CSS",
  "is_featured": true
}

Delete a project

Path Parameters

FieldTypeDescription
project_id uuid Project ID*
Requires API Key — set it in the auth bar above

                    
                

Response 200 OK

204 No Content
Import

Parse a resume file (PDF, DOCX, or JSON)

Request Body

FieldTypeDescription
file file Resume file (PDF, DOCX, or JSON). Send as multipart/form-data.*

Response

FieldTypeDescription
profile object Parsed profile fields*
skills array Parsed skills list*
experience array Parsed work experience*
education array Parsed education entries*
projects array Parsed projects*
Requires API Key — set it in the auth bar above

                    
                

Response 200 OK

{
  "profile": {
    "full_name": "Hershel Moshkovitz",
    "bio": "Full-stack developer",
    "location": "Herzliya, Israel"
  },
  "skills": [
    {"name": "Python", "category": "Languages", "proficiency": "expert"}
  ],
  "experience": [...],
  "education": [...],
  "projects": [...]
}

Commit parsed resume data to your profile

Request Body

FieldTypeDescription
profile object Profile fields to update
skills array Skills to add
experience array Experience entries to add
education array Education entries to add
projects array Projects to add

Response

FieldTypeDescription
profile_updated boolean Whether profile was updated*
skills_added integer Number of skills added*
experience_added integer Number of experience entries added*
education_added integer Number of education entries added*
projects_added integer Number of projects added*
Requires API Key — set it in the auth bar above

                    
                

Request

{
  "profile": {"bio": "Full-stack developer"},
  "skills": [{"name": "Python", "category": "Languages"}],
  "experience": [],
  "education": [],
  "projects": []
}

Response 200 OK

{
  "profile_updated": true,
  "skills_added": 1,
  "experience_added": 0,
  "education_added": 0,
  "projects_added": 0
}
Usage

Get your API usage analytics

Response

FieldTypeDescription
total_requests integer Total API requests*
last_24h integer Requests in last 24 hours*
last_7d integer Requests in last 7 days*
last_30d integer Requests in last 30 days*
Requires API Key — set it in the auth bar above

                    
                

Response 200 OK

{
  "total_requests": 1247,
  "last_24h": 38,
  "last_7d": 256,
  "last_30d": 891
}