Search skmtc…
⌘K
Docs
Sign in
APIs
Generators
Stacks
Projects
Docs
History
Schema
Generate
Filter operations
get
/v1/me/identities
The sign-in methods linked to your login (Google…), and which can be linked
delete
/v1/me/identities/{provider}
Unlink a sign-in method from your login
put
/v1/me/password
Change your own password (the current one is required; other sessions are signed out)
post
/v1/auth/forgot
Email a password-reset link. The reply is the same whether or not the address has a login.
post
/v1/auth/reset
Set a new password with the link's token, and sign in
post
/v1/me/tour
I finished or skipped the tour: do not offer it again, on any device
get
/v1/conversations
The inbox
get
/v1/conversations/counts
The number beside each folder, and who is waiting
get
/v1/conversations/teammates
Who a thread can be handed to
put
/v1/conversations/{id}/assign
Hand a thread to a teammate, or to nobody
get
/v1/conversations/{id}
One conversation with its messages
get
/v1/capabilities
What can be done, declared once: name, description, scope, input schema (JSON Schema). The MCP builds its tools from this.
post
/v1/capabilities/{name}
Run a capability as the brand. Customer-scope ones act for a customer — the thread's (conversation_id) or a person by WhatsApp number (customer: { phone, name }) — and land as a card on their thread; business-scope ones need neither.
put
/v1/conversations/{id}/intents/{actionId}
Save what a teammate filled in on a card without running it — the assistant reads it as decided on its next turn
post
/v1/conversations/{id}/intents
Open a card on the thread from what is known so far — a teammate's "+ Book appointment", or an agent's start_intent
post
/v1/conversations/{id}/actions
Do something the conversation calls for: save a field to the card, add a tag
post
/v1/conversations/{id}/actions/{actionId}/undo
Put it back the way it was
post
/v1/conversations/{id}/actions/{actionId}/dismiss
Not this one: drop a suggestion
post
/v1/conversations/{id}/notes
An internal note on the thread; @Name pushes to that teammate
delete
/v1/conversations/{id}/notes/{noteId}
Take back your own note
post
/v1/conversations/{id}/reply
Reply as staff; takes the thread off the assistant. Through an API key it draws down credits.
post
/v1/customers/{id}/fee-reminder
Send a fee reminder to this person on WhatsApp
get
/v1/reviews/sources
The pages we read for reviews
post
/v1/reviews/sources
Add a page to read once a day
delete
/v1/reviews/sources/{id}
Stop reading a page
post
/v1/reviews/sources/{id}/read
Read a page now
post
/v1/conversations/{id}/draft/dismiss
Throw the suggested reply away
get
/v1/conversations/{id}/brief
Where this is at: what they want, what is done, what is open, what to do next
post
/v1/conversations/{id}/draft
Ask for a fresh suggested reply
get
/v1/assistant/languages
Which languages the assistant answers in, and the default
put
/v1/assistant/languages
Choose the languages the assistant may answer in
post
/v1/conversations/{id}/language
Set the language this customer is answered in (null = detect again)
get
/v1/push/key
Whether push is on, and the key a browser subscribes with
post
/v1/push/subscribe
This browser wants a buzz when a conversation needs a person
post
/v1/push/app
The staff phone app wants a buzz when a conversation needs a person (on: false stops it)
post
/v1/push/unsubscribe
Stop buzzing this browser
post
/v1/push/test
Send a test buzz to your own devices
get
/v1/broadcasts/templates
Approved WhatsApp templates on the brand's account
get
/v1/broadcasts/audience
How many people a broadcast would reach
get
/v1/broadcasts
Broadcasts sent so far
post
/v1/broadcasts
Send an approved template to an audience; one credit per person
get
/v1/broadcasts/{id}
One broadcast with who got it
get
/v1/reviews
Reviews read so far, newest first
post
/v1/conversations/{id}/status
Hand a thread to a person, back to the assistant, or close it
get
/v1/conversations/{id}/packages
Prepaid balances for this contact
post
/v1/conversations/{id}/packages
Record a package bought in person
get
/v1/customers/{id}/invoices
Fees and deposits asked of this person
post
/v1/customers/{id}/invoices
Ask for a fee: an invoice with a pay page, sent on WhatsApp when asked
post
/v1/invoices/{id}/paid
It has been paid
post
/v1/invoices/{id}/cancel
Withdraw an ask
get
/v1/brand/payment
How the brand gets paid
put
/v1/brand/payment
FPS, PayMe, bank details
get
/v1/customers
People
post
/v1/customers
Add a person
get
/v1/customers/{id}
One person, with visits, prepaid balances and fees asked — and who else looks like them
put
/v1/customers/{id}
Edit a person
get
/v1/sync/status
Every connection: last run, what moved in the last day, errors
get
/v1/customers.csv
Every person as CSV
get
/v1/bookings.csv
Bookings as CSV, the last year by default
get
/v1/orders.csv
Orders as CSV, the last year by default
post
/v1/customers/import/preview
What a CSV of people would become, row by row, before anything is written
post
/v1/customers/import
Bring a CSV of people in: known phones enrich, new ones are created
get
/v1/customers/{id}/export
Everything held about a person, as one document (their right of access)
post
/v1/customers/{id}/erase
Forget a person: the rows stay for the counts, the words and names go
post
/v1/customers/{id}/merge
Merge two records for one person
delete
/v1/customers/{id}/aliases/{alias_id}
Forget a phone or email this person was also known by
get
/v1/admin/privacy
Where this brand's data goes, how long it is kept, what customers are told
put
/v1/admin/privacy
Change the brand's privacy settings
get
/v1/admin/audit
Who did what to whose data
get
/v1/admin/catalogue
Services, providers, hours — readable by anyone on the brand; edits are admin
get
/v1/tables
The tables, with seats
post
/v1/tables
Add or change a table
post
/v1/tables/checked
The owner has looked at the tables: Get set up ticks "Check your tables"
delete
/v1/tables/{id}
Remove a table
get
/v1/reservations
A day of reservations
post
/v1/reservations
Take a reservation by hand
post
/v1/reservations/{id}/cancel
Cancel a reservation; the guest is told
get
/v1/reservations/{id}
One reservation: time, party, table, guest, notes, its deposit asks
post
/v1/reservations/{id}/change
Move a reservation, change its party or its table; the guest keeps their link and is told
post
/v1/reservations/walk-in
Seat someone at the door now
post
/v1/reservations/{id}/deposit
Ask a deposit on a reservation: a pay link to copy, or sent to the guest
get
/v1/bookings/rules
Reservation rules (largest party, how far ahead, notice, sitting, deposit), with the defaults and the next closed dates
put
/v1/bookings/rules
Set the reservation rules; a rule left empty uses its default
get
/v1/hours/closed
One-off closed dates for the whole brand, upcoming first
post
/v1/hours/closed
Close the brand on a date or a run of dates; tables and appointments are not offered then
delete
/v1/hours/closed/{id}
Open again on a date that was closed
get
/v1/sessions
The weekly timetable: each class, its day, time, seats and tutor
post
/v1/sessions
Add or change a weekly class
delete
/v1/sessions/{id}
Remove a weekly class
get
/v1/sessions/occurrences
Sessions between two dates with seats taken and left
post
/v1/sessions/book
Book a seat in a class on a date for a person, by name and number
post
/v1/sessions/bookings/{id}/cancel
Free a seat; the next family on the waitlist is offered it
get
/v1/sessions/waitlist
Who is waiting for a seat, by session
post
/v1/sessions/waitlist
Put a student on the waitlist for a full session
post
/v1/sessions/waitlist/{id}/cancel
Take a student off the waitlist
get
/v1/customers/{id}/missed
Class lessons this person missed that can still be made up
get
/v1/availability
Free slots for a service on a date
post
/v1/appointments
Book a slot for a person, by name and WhatsApp number
post
/v1/appointments/{id}/cancel
Cancel an appointment
post
/v1/catalogue/import/draft
Read a pasted price list into rows to approve
post
/v1/catalogue/import
Add the approved rows to the catalogue
Copy
Copy Markdown
Copy Markdown
Copying…
Copied
Copy failed
Generate code
The tables, with seats
get
/v1/tables
Request
Base URL:
https://api.octapi.app
URL:
https://api.octapi.app/v1/tables
Auth:
HTTP bearer
Response
Default Response
object
required
tables
unknown[]
required
Changes
No recorded changes to this operation across all 1 revision of this API.