The Patch API lets you make small, targeted changes to your resume without sending the entire data object. Instead of replacing the whole resume with aDocumentation Index
Fetch the complete documentation index at: https://docs.rxresu.me/llms.txt
Use this file to discover all available pages before exploring further.
PUT, you send a list of JSON Patch operations that describe exactly what to change.
This is based on the JSON Patch (RFC 6902) standard.
When to Use PATCH vs PUT
| Use case | Method |
|---|---|
| Update a single field (e.g., name, headline) | PATCH |
| Add or remove an item in a section | PATCH |
| Change template, colors, or fonts | PATCH |
| Replace the entire resume data at once | PUT |
The PATCH endpoint only modifies the resume
data (the JSONB column). To update top-level resume properties like
name, slug, tags, or isPublic, use the existing PUT /resume/{id} endpoint.Authentication
All requests require your API key in thex-api-key header. See Using the API for how to create one.
If you’re self-hosting, replace
https://rxresu.me with your instance URL. The API is served under /api/openapi.Endpoint
Request Body
The resume ID is taken from the URL path, so the request body only requires theoperations array:
| Property | Required | Description |
|---|---|---|
op | Yes | The operation to perform: add, remove, replace, move, copy, or test |
path | Yes | A JSON Pointer (RFC 6901) to the target location in the resume data |
value | For add, replace, test | The value to use for the operation |
from | For move, copy | A JSON Pointer to the source location |
Examples
Replace a Basic Field
Update the resume holder’s name and headline:Add an Experience Entry
Append a new item to the experience section:Remove an Item from a Section
Remove the second skill (index1) from the skills section:
Update Metadata (Template, Colors, Fonts)
Switch the template and update the primary color:Test-Then-Replace (Optimistic Concurrency)
Thetest operation checks that a value matches before proceeding. If the test fails, the entire patch is rejected. This is useful to avoid overwriting changes made by another client:
/basics/name is not "Albert Einstein" at the time of the request, the entire patch will fail with a 400 error and no changes will be applied.
Move an Item Within a Section
Move the first experience item to the third position:Error Handling
| Status | Error Code | Description |
|---|---|---|
400 | INVALID_PATCH_OPERATIONS | The operations are structurally invalid, target a non-existent path, or produce resume data that fails schema validation. |
401 | UNAUTHORIZED | Missing or invalid API key. |
404 | NOT_FOUND | The resume does not exist or does not belong to the authenticated user. |
403 | RESUME_LOCKED | The resume is locked and cannot be modified. Unlock it first. |
Tips
- Fetch first, then patch. Use
GET /resume/{id}to inspect the current structure before crafting your operations. This helps you target the correct paths and array indices. - Use
testfor safety. When updating a value you expect to be a specific value, combinetest+replaceto avoid accidentally overwriting concurrent changes. - Batch related changes. You can send multiple operations in a single request. They are applied in order, so later operations can depend on earlier ones.
- The
-index appends. When adding items to arrays, use-as the index (e.g.,/sections/skills/items/-) to append to the end.