ResumlyClient¶
The main entry point for all SDK operations.
ResumlyClient ¶
ResumlyClient(api_key: str, base_url: str = _DEFAULT_BASE_URL, timeout: int = 180, max_retries: int = 3)
Official Python client for the Resumly API.
Every user-facing endpoint in Resumly is accessible through this client. Authenticate with an API key created from your Resumly dashboard.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
api_key
|
str
|
Your Resumly API key (starts with |
required |
base_url
|
str
|
Override the API base URL (useful for local development). |
_DEFAULT_BASE_URL
|
timeout
|
int
|
HTTP request timeout in seconds. Defaults to 180. |
180
|
max_retries
|
int
|
Auto-retry on 429 (rate limit). Defaults to 3. |
3
|
upload_base_resume ¶
Upload a PDF or DOCX as your base resume.
update_base_resume ¶
Update your base resume with new JSON data.
improve_base_resume ¶
Improve base resume based on feedback.
translate_base_resume ¶
Translate base resume to a target language.
generate_base_resume_docx ¶
Generate a Word document from the base resume.
freeze_base_resume_element ¶
Freeze or unfreeze a base resume element.
generate_base_resume_pdf ¶
Download the base resume as a PDF.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
path
|
str or Path
|
If provided, save the PDF to disk. |
None
|
create_api_key ¶
Create a new API key.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
name
|
str
|
A friendly name/label for the key. |
None
|
revoke_api_key ¶
Revoke an API key.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
key_id
|
str
|
The ID of the key to revoke. |
required |
update_profile ¶
Update user profile fields (name, location, etc.).
upload_profile_picture ¶
Upload a profile picture.
update_user_settings ¶
Update user settings (language, tone, style, etc.).
add_always_show_skill ¶
Add a skill to the always-show list.
remove_always_show_skill ¶
Remove a skill from the always-show list.
remove_never_show_skill ¶
Remove a skill from the never-show list.
replace_always_show_skills ¶
Replace the entire always-show skills list.
replace_never_show_skills ¶
Replace the entire never-show skills list.
remove_can_show_skill ¶
Remove a skill from the can-show list.
replace_can_show_skills ¶
Replace the entire can-show skills list.
update_job_preferences ¶
Update all job preferences.
update_job_preference ¶
Update a single job preference.
get_autofill_attributes ¶
Get autofill attributes for job applications.
set_autofill_attributes ¶
Set autofill attributes.
get_custom_instructions ¶
Get custom instructions for resume generation.
set_custom_instructions ¶
Set custom instructions for resume generation.
delete_memory_point ¶
Delete a specific memory point by index.
get_credit_charges_catalog ¶
List standard credit costs and descriptions per operation.
trigger_ai_insights_jobs ¶
Trigger AI insights recalculation for jobs.
list_recent_resumes ¶
list_recent_resumes(days: int = None, favorites_only: bool = False, queue_only: bool = False, page: int = None, page_size: int = 10) -> dict
List recent resumes with optional filters.
create_resume ¶
create_resume(*, job_url: str = None, job_description: str = None, cover_letter: bool = False, interview_question: bool = False, source: str = 'api') -> dict
Create a tailored resume. Provide job_url OR job_description.
Returns the job_id which you use for all subsequent operations. This is a two-step process: init + create (handled automatically).
update_resume ¶
Update a final resume with new data.
get_resume_comparison ¶
Get base vs. tailored resume comparison.
get_resume_metadata ¶
Get resume metadata (company, title, skills, etc.).
get_resume_insights ¶
Get AI-generated insights for a resume.
download_resume ¶
Download a resume file from its S3 URL.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
s3_url
|
str
|
The |
required |
path
|
str or Path
|
If provided, save the file to disk. |
None
|
export_resume_pdf ¶
export_resume_pdf(job_id: str, document_type: str = 'resume', path: Union[str, Path] = None) -> bytes
Export resume or cover letter as PDF.
set_resume_model ¶
Change the LLM model used for a resume.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
job_id
|
str
|
The resume/job ID. |
required |
model
|
str
|
Model identifier (e.g. |
required |
regenerate_with_model ¶
Regenerate a resume preview using the currently selected model.
map_key_skill ¶
Map or normalize a key skill on a resume.
create_interview_questions ¶
Generate interview questions based on a resume.
get_interview_questions ¶
Get interview questions for a resume.
check_interview_answer ¶
Check an interview answer.
rephrase_resume ¶
Rephrase resume content with multiple options.
translate_resume ¶
Translate a tailored resume.
improve_resume ¶
Improve a tailored resume based on feedback.
chat_with_resume ¶
Chat with your resume (AI-assisted editing).
generate_bullet_points ¶
Generate bullet points for resume content.
rephrase_text ¶
Rephrase arbitrary text (user-level rephrase).
create_public_link ¶
Create a public shareable link for a resume.
update_public_link ¶
Update public link settings.
research_company ¶
Trigger company research for a resume's job posting.
autofill_application ¶
Autofill a job application form.
submit_autofill_feedback ¶
Submit feedback on autofill quality.
save_change_summary ¶
Save a change summary for a resume and update memory.
get_change_summaries ¶
Get all change summaries for a resume.
send_resume_email ¶
Send resume and/or cover letter via email.
initialize_inbox ¶
Create a JupyterMail inbox.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
prefix
|
str
|
Desired email prefix (e.g. |
required |
accepted_jupytermail_terms_version
|
str
|
Version string of the acceptable-use terms the end user confirmed (must match a server-allowed value). |
'2026-04-05-v1'
|
check_inbox_availability ¶
Check if an inbox prefix is available.
list_emails ¶
list_emails(page: int = 1, page_size: int = 25, *, category: str = None, is_read: bool = None, search: str = None) -> dict
List inbox emails with optional filters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
page
|
int
|
Page number (1-based). |
1
|
page_size
|
int
|
Results per page (max 100). |
25
|
category
|
str
|
Filter by email category. |
None
|
is_read
|
bool
|
Filter by read/unread status. |
None
|
search
|
str
|
Full-text search query. |
None
|
toggle_email_read ¶
Toggle read/unread status on an email.
toggle_email_star ¶
Toggle starred status on an email.
toggle_email_archive ¶
Toggle archived status on an email.
reply_to_email ¶
reply_to_email(email_id: str, *, body_html: str = None, body_text: str = None, cc: List[str] = None, bcc: List[str] = None, reply_all: bool = False, attachments: List[Dict[str, Any]] = None) -> dict
Reply to an email.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
email_id
|
str
|
The email to reply to. |
required |
body_html
|
str
|
HTML body of the reply. |
None
|
body_text
|
str
|
Plain-text body of the reply. |
None
|
cc
|
list of str
|
CC recipients. |
None
|
bcc
|
list of str
|
BCC recipients. |
None
|
reply_all
|
bool
|
Reply to all recipients. |
False
|
compose_email ¶
compose_email(*, to: List[str], subject: str, body_html: str = None, body_text: str = None, cc: List[str] = None, bcc: List[str] = None, attachments: List[Dict[str, Any]] = None) -> dict
Compose and send a new email.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
to
|
list of str
|
Recipient email addresses. |
required |
subject
|
str
|
Email subject line. |
required |
body_html
|
str
|
HTML body. |
None
|
body_text
|
str
|
Plain-text body. |
None
|
cc
|
list of str
|
CC recipients. |
None
|
bcc
|
list of str
|
BCC recipients. |
None
|
get_auto_apply_ats_config ¶
Return ATS execution routing (server vs browser) for backend auto-apply.
get_auto_apply_eligible_jobs ¶
get_auto_apply_eligible_jobs(page: int = 1, page_size: int = 25, *, sort_by: str = 'date', saved_only: bool = False, remote_only: bool = False, match_scores: Optional[List[str]] = None, min_match_score: Optional[float] = None, max_match_score: Optional[float] = None, keyword: Optional[str] = None, queue_status: Optional[str] = None, last_n_days: Optional[int] = None, date_from: Optional[str] = None, date_to: Optional[str] = None, has_salary_info: Optional[bool] = None, work_arrangement: Optional[List[str]] = None, employment_type: Optional[List[str]] = None, min_annual_salary: Optional[int] = None, visa_sponsorship_only: Optional[bool] = None, experience_level: Optional[List[str]] = None, source: Optional[List[str]] = None, query_id: Optional[str] = None) -> dict
List jobs eligible for backend auto-apply.
Query list parameters (match_scores, work_arrangement, etc.) are sent
as comma-separated strings, matching the FastAPI multivalue normalizer.
queue_auto_apply ¶
Queue a job for auto-apply.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
job_id
|
str
|
The job database ID. |
required |
resume_id
|
str
|
The tailored resume ID to use. |
required |
get_auto_apply_status ¶
Get auto-apply queue and application status.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
job_ids
|
list of str
|
Filter by specific job database IDs (comma-separated on the wire). |
None
|
hide_auto_apply_job ¶
Hide a job from the auto-apply eligible list.
unhide_auto_apply_job ¶
Unhide a job previously hidden from the auto-apply eligible list.
get_auto_apply_hidden_jobs ¶
List jobs the user hid from the auto-apply eligible list.
cancel_auto_apply ¶
Cancel a queued or in-progress auto-apply job.
auto_apply_browser_generate_fill_plan ¶
Proxy to the auto-apply service for browser-side fill plans (extension workflows).
payload should include at least dom, resume_id, job_id, ats_type.
Optional: queue_job_id, page_url.
auto_apply_browser_get_queue ¶
auto_apply_browser_get_queue(*, status: Optional[str] = None, page: int = 1, page_size: int = 50) -> dict
List browser-mode auto-apply queue rows for the current user.
auto_apply_browser_update_job_status ¶
Update browser auto-apply job status (extension).
auto_apply_browser_upload_screenshot ¶
Upload a base64 screenshot for a browser auto-apply job (extension).
auto_apply_browser_push_job_log ¶
Append a log entry to a browser auto-apply queue record (extension).
get_autopilot_config ¶
Get autopilot configuration for the current user.
enable_autopilot ¶
enable_autopilot(job_queries: List[str], *, min_match_score: int = 60, backfill_days: int = 7, email_after_each_run: Optional[bool] = None, email_daily_digest: Optional[bool] = None, forward_confirmation_emails: Optional[bool] = None) -> dict
Enable autopilot with selected job-search query IDs.
update_autopilot_config ¶
update_autopilot_config(*, job_queries: Optional[List[str]] = None, min_match_score: Optional[int] = None, email_after_each_run: Optional[bool] = None, email_daily_digest: Optional[bool] = None, forward_confirmation_emails: Optional[bool] = None) -> dict
Update autopilot settings (partial update).
get_autopilot_activity ¶
Paginated autopilot queue activity.
get_autopilot_runs ¶
Paginated autopilot run history.
search_leads_for_job ¶
Run lead search for a tailored resume (resume document job_id).
May return HTTP 403 when the leads workspace feature is disabled for the account.
get_leads_for_job ¶
Get cached lead search results for a resume id.
get_job_database_leads ¶
Get cached leads for a saved job-database card (before a resume exists).
search_leads_for_job_database ¶
Run lead search for a job_database row (pre-resume).
init_batch ¶
Initialize a batch of resumes.
generate_job_search_query ¶
Generate a job search query from your base resume.
generate_and_run_search ¶
Generate a query and run it immediately.
update_search_query ¶
Update a job search query.
get_job_status_stats ¶
Get counts and status statistics for relevant jobs.
embed_base_resume ¶
Create embeddings of your base resume for job matching.
patch_search_query ¶
Partially update a job search query (merge fields).
get_relevant_jobs_map ¶
Get relevant jobs with map coordinates.
get_jobs_status ¶
Get resume-creation status for multiple job IDs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
job_ids
|
list of str
|
Job database IDs to check. |
required |
update_search_agent ¶
Update a job search agent.
parse_and_store_job ¶
Parse raw job text and store in job database.
get_job_match_score ¶
Get a job match score against your base resume.
get_standard_template ¶
Get a single standard template.
create_base_template ¶
Create a base-resume template instance.
get_base_template ¶
Get a base-resume template instance.
update_base_template_html ¶
Update base-resume template HTML.
reset_base_template ¶
Reset a base-resume template to original.
revise_base_template ¶
Revise a base-resume template with AI feedback.
delete_base_template ¶
Delete a base-resume template instance.
get_base_template_conversation ¶
Get the AI revision conversation history for a base template.
create_resume_template ¶
Create a template instance for a tailored resume.
list_resume_templates ¶
List template instances for a tailored resume.
get_resume_template ¶
Get a template instance for a tailored resume.
update_resume_template_html ¶
Update a resume template's HTML.
reset_resume_template ¶
Reset a resume template to original.
revise_resume_template ¶
Revise a resume template with AI feedback.
delete_resume_template ¶
Delete a resume template instance.
get_resume_template_conversation ¶
Get the AI revision conversation history for a resume template.
convert_template_to_pdf ¶
Convert resume template HTML to PDF.
upload_linkedin_profile ¶
Upload a LinkedIn profile.
optimize_linkedin_profile ¶
Get AI optimization suggestions for your LinkedIn profile.
run_ats_check ¶
Run an ATS compatibility check on a resume file.
run_resume_roast ¶
Get a brutally honest resume roast.
run_interview_questions_tool ¶
Generate interview questions from a resume file (free tool).
run_career_personality_test ¶
Run a career personality test.
run_skills_gap_analyzer ¶
Analyze skills gaps in a resume.
run_readability_test ¶
Run a resume readability test.
run_linkedin_profile_generator ¶
Generate an optimized LinkedIn profile from a resume.
get_linkedin_profile_generator_report ¶
run_buzzword_detector ¶
Detect buzzwords and cliches in a resume.
run_job_search_keywords ¶
Extract optimal job search keywords from a resume.
run_networking_copilot ¶
Get networking strategy recommendations.
clarify_course ¶
Ask a clarifying question about course content.
create_knowledge_graph ¶
Build a knowledge graph for a course.
expand_knowledge_graph ¶
Expand a node in a course knowledge graph.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
course_id
|
str
|
The course ID. |
required |
node_id
|
str
|
The node to expand. |
required |
regenerate_website_resume ¶
Regenerate HTML with a different style.
revise_website_resume ¶
Revise a website resume based on feedback.
reset_website_resume ¶
Reset to original generated HTML.
update_website_resume_html ¶
Save HTML directly.
delete_website_resume ¶
Delete a website resume.
get_website_resume_status ¶
Poll website resume generation status (for in-progress builds).
get_website_resume_conversation ¶
Get the AI revision conversation history for a website resume.
get_affiliate_transactions ¶
Get affiliate transaction history.
request_affiliate_payout ¶
Request payout for available earnings.
customer_service_chat ¶
Chat with the customer service bot.
get_calculator_spec ¶
Get the input specification for a career calculator tool.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tool_name
|
str
|
One of: |
required |
evaluate_calculator ¶
Evaluate a career calculator tool with the given inputs.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tool_name
|
str
|
The calculator tool name (see :meth: |
required |
inputs
|
dict
|
Input values matching the tool's spec. |
required |
list_calculator_tools ¶
Return the list of available career calculator tool names.