Docs menutap to expand

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.

Last updated

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

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