Developer
Tool reference
What a Wave key can do, tool by tool: lookups, jobs and people, photos and documents, notes, estimates, drying logs, and downloads.
Each tool below is listed once, by the name your assistant sees over MCP, with the HTTP request it matches on /api/v1. A word such as job_id stands in for the record you picked. A tool marked HTTP only is for scripts.
Changes save when you ask, and they show in Wave under your name. Lookups are included with the key. Creating an estimate uses one estimate credit, the same as in Wave.
Wave serves the live list through get_guide, with recipes for common asks.
Look up
get_context
Shows who the key works for, the company, its timezone, whether Slack is connected, whether the key is Read or Write, and the company's credits.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/context
get_guide
Returns Wave's live guide for assistants: how Wave works, every tool, and ready-made recipes for common asks. Have your assistant read it first.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/guide
find_jobs
Finds open jobs by customer name, street address, title, claim number, carrier, adjuster, or the customer's phone. It also lists the jobs in one status, the jobs still drying, the jobs with or without photos, or the jobs created in a date range. A job number such as #16 opens that job directly.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/jobs
get_job
Opens one job by its id or its number: status, people, claim, carrier, adjuster, referral, the newest notes, how many photos it has, and each estimate with its label and total.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/jobs/job_id
list_changes
Lists what changed across the company's jobs since your assistant last looked: notes, status moves, assignments, new files, schedules, and estimate activity. Changes made through a key are marked.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/changes
get_job_activity
Shows what has happened on a job, newest first, with who did it. Narrow it to notes, changes, or one teammate.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/jobs/job_id/activity
lookup_customer
Finds people by name, phone, or email, with their phone, email, address, roles, and the jobs they are on. Set a role to find an adjuster.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/customers
list_job_statuses
Lists the company's statuses in board order, with how many open jobs are in each.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/job-statuses
list_team
Lists the teammates a job can be assigned to, with each person's name and role.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/team
list_referral_sources
Lists the referral sources the company tracks, so a job gets tagged with the right one.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/referral-sources
search_price_list
Searches Wave's catalog by words or by code, and returns the matching items.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/price-list
get_price_list_item
Returns the details for catalog codes you already have, with near matches for any code Wave does not have.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/price-list/items
search_standards
Searches the industry standards Wave holds and returns short excerpts with their sources, so your assistant answers in its own words and cites the standard.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/standards/search
get_estimate
Returns one estimate with its rooms, room totals, lines, and estimate totals, the same numbers you see in Wave. Ask for room totals only, or for one room.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/estimates/estimate_id
get_drying_log
Returns the drying log on a job: each area, each day, and each reading.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/jobs/job_id/drying-log
Jobs and people
create_job
Creates a job and fills it in with one request: the customer, the loss address, phone and email, carrier, claim and policy numbers, referral source, and who it is assigned to.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/jobs
update_job_overview
Updates the job's facts: title, loss type, date and cause of loss, water category, address, referral source, claim number, carrier, policy number, and adjuster. Send only what changed.
- Works with: Write key
- Credit: Included.
- HTTP:
PATCH /api/v1/jobs/job_id/overview
add_contact
Adds a person to a job, or links someone already in Wave, with the phone or email you gave. A name already on the job updates that person.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/jobs/job_id/contacts
update_contact
Changes the name, phone, or email of a person on the job.
- Works with: Write key
- Credit: Included.
- HTTP:
PATCH /api/v1/jobs/job_id/contacts/contact_id
assign_job
Puts a teammate on the job, by name.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/jobs/job_id/assignees
unassign_job
Takes a teammate off the job.
- Works with: Write key
- Credit: Included.
- HTTP:
DELETE /api/v1/jobs/job_id/assignees/person
cancel_job
Cancels a job, with the reason if you give one.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/jobs/job_id/cancel
reopen_job
Reopens a cancelled job so the work can go on.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/jobs/job_id/reopen
move_job_status
Moves a job onto one of the company's statuses.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/jobs/job_id/status
Photos, videos, and documents
list_job_photos
Lists a job's photos, newest first, with each photo's room, caption, uploader, and when it was taken, plus how many photos each room holds.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/jobs/job_id/photos
list_job_videos
Lists a job's videos, newest first, with each video's room, caption, length, and a link to play it.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/jobs/job_id/videos
view_photos
Shows photos as pictures your assistant can see, each with its room, caption, and a link you can open. For a video, it shows a still frame.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/photos
move_photos
Files a job's photos into rooms, or back into Unsorted, the way you sort them on the Files tab. A room the job does not have yet is added.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/jobs/job_id/photos/rooms
update_photos
Adds, changes, or clears a caption or a name on a job's photos.
- Works with: Write key
- Credit: Included.
- HTTP:
PATCH /api/v1/jobs/job_id/photos
get_photo_upload_link
Returns a link where you pick photos on your phone or computer, and Wave adds them to the job, into a room when you name one.
- Works with: Write key
- Credit: Included.
- HTTP:
GET /api/v1/jobs/job_id/photos/upload-link
upload_job_photos
Adds JPEG, PNG, or HEIC photos to a job from a script, filed like a drop on the Files tab, with one room for all of them or a room, caption, and name for each. Over MCP, your assistant uses get_photo_upload_link instead.
- Works with: Write key
- Credit: Included.
- HTTP only:
POST /api/v1/jobs/job_id/photos
list_job_documents
Lists the PDFs and other files on a job's Files tab, newest first, with each file's name, kind, size, uploader, and room.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/jobs/job_id/documents
read_document
Reads a PDF from the job's Files tab page by page, scanned pages included, so your assistant answers from the document's own words.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/documents/document_id
Notes
correct_note
Corrects a job note with your new words. The earlier text stays in the note's history.
- Works with: Write key
- Credit: Included.
- HTTP:
PATCH /api/v1/jobs/job_id/notes/note_id
retract_note
Removes a job note you wrote, along with its corrections.
- Works with: Write key
- Credit: Included.
- HTTP:
DELETE /api/v1/jobs/job_id/notes/note_id
add_note
Adds a note to the job as you. It also posts to Slack when an admin has turned on New note in Slack notifications, a switch that starts off.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/jobs/job_id/notes
Estimates
create_estimate
Creates an estimate on a job, empty or with rooms and lines. Wave prices catalog lines with your regional pricing, and your own lines carry the price you set.
- Works with: Write key
- Credit: One estimate credit, the same as in Wave.
- HTTP:
POST /api/v1/jobs/job_id/estimates
add_rooms
Adds rooms to an estimate from the measurements and day counts you stated. A room name already on the estimate updates that room.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/estimates/estimate_id/rooms
add_line_items
Adds many lines at once: items from Wave's catalog, priced by Wave, or your own lines at the price you set. Any line that was not added comes back with the reason.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/estimates/estimate_id/line-items
update_line_item
Changes a line's quantity or its note. Wave keeps the price.
- Works with: Write key
- Credit: Included.
- HTTP:
PATCH /api/v1/estimates/estimate_id/line-items/line_id
remove_line_item
Removes one line from an estimate.
- Works with: Write key
- Credit: Included.
- HTTP:
DELETE /api/v1/estimates/estimate_id/line-items/line_id
update_room
Updates a room's name, measurements, demo days, or drying days.
- Works with: Write key
- Credit: Included.
- HTTP:
PATCH /api/v1/estimates/estimate_id/rooms/room_id
Drying logs
create_drying_log
Starts a drying log and plans the rooms you send. On a job with no estimate yet, Wave sets up the estimate and its rooms too.
- Works with: Write key
- Credit: One estimate credit, only when it starts a log on a job with no estimate yet.
- HTTP:
POST /api/v1/jobs/job_id/drying-log
update_drying_settings
Changes the drying start date, or how many days the job or one area runs.
- Works with: Write key
- Credit: Included.
- HTTP:
PATCH /api/v1/jobs/job_id/drying-log/settings
add_drying_readings
Records readings for an area on a day, or many rows at once. Wave starts the log, adds the area, or extends the plan when it needs to.
- Works with: Write key
- Credit: One estimate credit, only when it starts a log on a job with no estimate yet.
- HTTP:
POST /api/v1/jobs/job_id/drying-log/readings
add_drying_note
Adds a note on the drying log as you, and starts the log when the job has none yet.
- Works with: Write key
- Credit: One estimate credit, only when it starts a log on a job with no estimate yet.
- HTTP:
POST /api/v1/jobs/job_id/drying-log/notes
skip_drying_day
Marks a day as not monitored, in one area or every area, by day number or date.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/jobs/job_id/drying-log/skip-day
Downloads
export_pdf
Returns a link to download a PDF of the job, the same one the Export dialog builds: the estimate or invoice, cover page, photos report, drying log, and attached documents, alone or as one packet. Opening the link changes nothing. Downloading a PDF that holds the estimate marks the estimate final in Wave.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/jobs/job_id/export-pdf
export_job_photos
Returns a link to a ZIP of a job's photos, one room's photos, or just the ones you pick, named by room the way the Files tab names them.
- Works with: Read or Write key
- Credit: Included.
- HTTP:
GET /api/v1/jobs/job_id/photos/export
Undo
undo_my_last_action
Takes back the last change this key made, when nothing else has changed that record since.
- Works with: Write key
- Credit: Included.
- HTTP:
POST /api/v1/undo
Related
- What you can ask for: the same work, in plain requests
- Errors and retries: what to do when a request needs a change
- API examples: the same requests in curl
- For assistants: where an assistant reads first
