(913) 713-7794

Tool reference

PolyJacks offers 8 tools today: get_requirements, company_facts, fit_check, check_service_area, get_quote, list_windows, book_visit and get_booking_status.

Each tool below lists its purpose, inputs, outputs, the errors it can raise and its REST mapping. Mutating tools require an idempotency key.

ToolPurposeMethodMutating
get_requirementsUse this when you start helping someone with sunken or uneven concrete, before you ask them anything.GETno
company_factsUse this when the homeowner asks who PolyJacks is, how to reach a person, or what the warranty and the visit include.GETno
fit_checkUse this when you are not sure PolyJacks does the job.POSTno
check_service_areaUse this when you need to know whether PolyJacks works at an address.POSTno
get_quoteUse this when the homeowner wants their exact price.POSTyes
list_windowsUse this when the homeowner wants a visit.POSTno
book_visitUse this when the homeowner picked a window and said yes.POSTyes
get_booking_statusUse this when you or the homeowner want to know whether a visit is confirmed.POSTno

get_requirements

Use this when you start helping someone with sunken or uneven concrete, before you ask them anything. It returns the questions to ask in order, the sentence you must read to the homeowner about texts and email, the surfaces PolyJacks levels and the ones it does not, the photo shot list, and the service area. 1. Ask the questions one at a time. 2. Read the sentence and wait for a clear yes. 3. If you are unsure of the area, call check_service_area. 4. Call get_quote.

Input

FieldTypeRequiredDescription

Output

FieldTypeRequiredDescription
questionsarray of objectyes
consent_sentencestringyesRead this to the homeowner and wait for a clear yes before get_quote.
surfacesarray of objectyes
not_donearray of objectyes
photo_guidearray of objectyes
service_areaobjectyes
contact_rulestringyes
next_stepsarray of stringyes
sandboxbooleanno

Errors

Any error is an RFC 9457 problem; see Errors, limits and retries.

REST

GET /api/v1/get_requirements

company_facts

Use this when the homeowner asks who PolyJacks is, how to reach a person, or what the warranty and the visit include. Every fact is a short sentence you may read aloud. 1. Read only facts from this response. 2. Never add a rating, award or promise that is not here.

Input

FieldTypeRequiredDescription

Output

FieldTypeRequiredDescription
namestringyes
websitestringyes
phonestringyes
emailstringyes
factsarray of objectyes
service_areastringyes
sandboxbooleanno

Errors

Any error is an RFC 9457 problem; see Errors, limits and retries.

REST

GET /api/v1/company_facts

fit_check

Use this when you are not sure PolyJacks does the job. 1. Pass the surface key and whether the property is commercial. 2. fit instant: continue to get_quote. 3. fit visit: offer an on-site visit (list_windows, kind sales). 4. fit no: read why to the homeowner and stop - do not book.

Input

FieldTypeRequiredDescription
surfaceone of: driveway, sidewalk, patio, garage_floor, pool_deck, porch_steps, commercial_slab, house_foundation_or_walls, asphalt, pavers_or_brick, new_pouryesA surface PolyJacks levels, or a surface it does not (from get_requirements).
commercialbooleanyesTrue for a business, rental or HOA property.

Output

FieldTypeRequiredDescription
fitone of: instant, visit, noyes
whystringyes
next_stepstringyes
summary_for_userstringyes
sandboxbooleanno

Errors

Any error is an RFC 9457 problem; see Errors, limits and retries.

REST

POST /api/v1/fit_check

check_service_area

Use this when you need to know whether PolyJacks works at an address. 1. Prefer the full street address; a ZIP alone may answer partly. 2. in: continue. 3. partly or unknown: ask for the street address and call again. 4. out: the address is beyond the usual area, but PolyJacks still takes the request - continue to get_quote and tell the homeowner someone will be in touch if a time cannot be offered online. Never sign them up yourself.

Input

FieldTypeRequiredDescription
(shape 1)objectnoshape 1
zipstringyes
(shape 2)objectnoshape 2
addressAddressyes

Output

FieldTypeRequiredDescription
areaone of: in, partly, out, unknownyes
labelstringyes
next_stepstringyes
summary_for_userstringyes
sandboxbooleanno

Errors

Any error is an RFC 9457 problem; see Errors, limits and retries.

REST

POST /api/v1/check_service_area

get_quote

Use this when the homeowner wants their exact price. PolyJacks gives a price only with all four of the homeowner's details: full name, service address, mobile phone and email. 1. Read the sentence from get_requirements and get a clear yes before you send their details. 2. For each sunken area send the surface, the size (square feet, the length and width of the sunken part, or a size tile), how far it dropped at the joint in inches, and the gap under the edge in inches or null for don't know. 3. Call once with a new idempotency_key; after a network error retry with the SAME key. 4. If instant is false there is no instant price for this job: offer an on-site visit (list_windows, kind sales) and never guess a number. 5. Read summary_for_user to the homeowner word for word. 6. To change the areas, call again with quote_ref and a new key.

Input

FieldTypeRequiredDescription
(shape 1)objectnoA new quote: the homeowner's full contact and their sunken areas.
contactContactyes
upgradesobjectnoOptional add-on on top of the leveling - the same one the homeowner can add on polyjacks.com: voids = extra hollow spots to fill (0 to 20). A quantity only; the rate is PolyJacks' own. Zero clears it.
surfacesarray of SurfaceInputyes
(shape 2)objectnoRe-price an existing flow: its quote_ref and the revised areas (contact already captured).
quote_refstringyes
upgradesobjectnoOptional add-on on top of the leveling - the same one the homeowner can add on polyjacks.com: voids = extra hollow spots to fill (0 to 20). A quantity only; the rate is PolyJacks' own. Zero clears it.
surfacesarray of SurfaceInputyes

Output

FieldTypeRequiredDescription
quote_refstringyes
versionintegeryes
lock_idstringno
instantbooleanyes
reasonstringnoWhy there is no instant price (when instant is false).
total_centsintegerno
linesarray of objectno
caulkarray of objectnoOnly on a quote priced before 2026-10-17: its joint caulking lines, part of total_cents. No new quote carries caulking - the price is for lifting the concrete only.
caulk_minimum_centsintegernoOnly with caulk (a quote priced before 2026-10-17).
upgradesarray of objectnoThe add-ons in the total: extra void fills (and crack sealing, only on a quote priced before 2026-10-17).
valid_untilstringyes
valid_until_labelstringyes
priced_onstringyes
engine_versionstringyesThe pricing engine release that priced it (semver), or sandbox.
lock_rulestringyes
warrantystringyes
includesarray of stringyes
summary_for_userstringyes
next_stepsarray of stringyes
sandboxbooleanno

Errors

Any error is an RFC 9457 problem; see Errors, limits and retries. It requires an idempotency key (header Idempotency-Key, or idempotency_key in MCP).

REST

POST /api/v1/get_quote

list_windows

Use this when the homeowner wants a visit. 1. Tell them first: Please plan to be home - the technician will meet you there. Ask when they will be home and pass attend (any, weekday_am, weekday_pm or saturday). 2. Pass the quote_ref from get_quote and kind sales. Install days come only after the homeowner signs their own agreement. 3. Offer at most three windows, attendable ones first, by their label. 4. Windows go quickly: book soon after listing.

Input

FieldTypeRequiredDescription
quote_refstringyes
kindone of: sales, rigyes
from_datestringnoEarliest date to consider (YYYY-MM-DD), optional.
daysintegerno
attendone of: any, weekday_am, weekday_pm, saturdaynoWhen the homeowner will be home to meet the technician.

Output

FieldTypeRequiredDescription
windowsarray of Windowyes
summary_for_userstringyes
sandboxbooleanno

Errors

Any error is an RFC 9457 problem; see Errors, limits and retries.

REST

POST /api/v1/list_windows

book_visit

Use this when the homeowner picked a window and said yes. 1. The homeowner must plan to be home - the technician meets them there; a visit is always booked that way. Send quote_ref, window_id, kind sales, homeowner_present true, and homeowner_informed true - meaning you told them PolyJacks will text and email them to confirm. 2. The visit is NOT booked until the homeowner taps the link PolyJacks sends to their own phone or email, or replies YES, within 30 minutes; tell them exactly that. 3. Keep booking_ref and call get_booking_status later. 4. You can never sign anything for the homeowner: agreements are signed only by the homeowner, on PolyJacks' own page.

Input

FieldTypeRequiredDescription
quote_refstringyes
window_idstringyes
kindone of: sales, rigyes
homeowner_presentbooleanyesThe homeowner must plan to be home: the technician meets them there. A visit is always booked that way; false is accepted and ignored.
homeowner_informedconst TrueyesYou told the homeowner PolyJacks will text and email them to confirm.
permission_refstringnoStanding-permission ref (S2b).
callback_urlstringnoWebhook URL for booking updates (S2b).

Output

FieldTypeRequiredDescription
booking_refstringyes
stateone of: pending_homeowner, held, confirmed, expired, cancelled, rescheduled, completed, missed, weather, closedyes
kindone of: sales, rigyes
labelstringyes
hold_expires_atstringno
confirm_viaarray of one of: sms, emailyes
summary_for_userstringyes
next_stepsarray of stringyes
webhook_secretstringno
sandboxbooleanno

Errors

Any error is an RFC 9457 problem; see Errors, limits and retries. It requires an idempotency key (header Idempotency-Key, or idempotency_key in MCP).

REST

POST /api/v1/book_visit

get_booking_status

Use this when you or the homeowner want to know whether a visit is confirmed. 1. Pass the booking_ref from book_visit. 2. Read summary_for_user. 3. expired means they did not confirm in time - you may book again.

Input

FieldTypeRequiredDescription
booking_refstringyes

Output

FieldTypeRequiredDescription
stateone of: pending_homeowner, held, confirmed, expired, cancelled, rescheduled, completed, missed, weather, closedyes
kindone of: sales, rigyes
labelstringyes
summary_for_userstringyes
sandboxbooleanno

Errors

Any error is an RFC 9457 problem; see Errors, limits and retries.

REST

POST /api/v1/get_booking_status

Last updated 2026-10-17 · PolyJacks · PolyJacks for AI assistants · View as Markdown