Early adopter offerSubscribe to a paid plan by March 31, 2027 and get 50% off the base fee for 3 months50% off paid plans for 3 monthsD-156Learn more
API integration

API reference · Standard connectors

Specs for the standard connectors Cliptalk provides by industry. Load a standard connector, connect it, then customize operations, paths, and parameters for your own service.

#What a standard connector is

An API spec that already defines the operations an AI bot uses often in that industry: identity check, lookups, and cancel or change. The base URL is filled from your domain on the project, in the form https://www.mydomain.com/api/shop or https://www.mydomain.com/api/fitness.

  1. 1
    Register your domain
    When you create a project, enter your domain (example: www.mydomain.com). You can change it later on the project’s General tab.
  2. 2
    Load a standard connector
    Project → AI bot → Create API spec → Get started, and pick the standard connector for your industry. The base URL is filled from your domain.
  3. 3
    Implement or map your API
    If you build these paths and responses on your server, it works as written. If you already have an API, map the spec to that API in the next step.
  4. 4
    Customize
    Turn off or delete operations you do not need, add new ones, and change paths, parameter names, descriptions, and auth to match your API. Descriptions are how the AI picks a tool, so rewrite them in your service’s own words.
  5. 5
    Secrets, test, and connect
    On the Secrets tab, save the API key. Try a call on the API test tab, then click Save and connect to the AI bot.
To see the flow before you build an API, connect a sample connector in the AI bot settings. Sample connectors call Cliptalk’s demo API with the same spec, so you can try the flow in the widget first.
# Shop
https://www.mydomain.com/api/shop

# Package forwarding and proxy buying
https://www.mydomain.com/api/forwarding

# Travel agency
https://www.mydomain.com/api/travel

# Clinic and salon booking
https://www.mydomain.com/api/clinic

# Subscription (SaaS)
https://www.mydomain.com/api/subscription

# Education and academy
https://www.mydomain.com/api/academy

# Hotel and guesthouse
https://www.mydomain.com/api/stay

# Gym and pilates
https://www.mydomain.com/api/fitness

#Common rules

FieldDescription
AuthThe default is Authorization: Bearer plus the key. In the studio basics you can switch to an API key header, Basic, or a query parameter.
FormatRequests and responses are JSON. A success response returns ok: true together with the data.
ErrorsA status that is not 2xx, and { "ok": false, "error", "message" }. The AI uses message to explain the situation to the customer.
Identity checkWhen POST /verify returns customer.id, Cliptalk fills {customer_id} on later paths. The customer cannot supply someone else’s ID.
ActionsOperations that change data, such as cancel or change, are called first with dry_run: true for a preview (a summary array of strings). If the customer agrees, they are called again without dry_run.
Ownership checkOn any API that handles customer data, also check on your server that the record belongs to that customer_id.
{
  "ok": true,
  "customer": { "id": "cus_1001", "name": "Alex Kim" }
}

#Shop standard connector

Identity check with an order number → order list and detail → shipping lookup → cancel an order before it ships, plus product search for stock and price. The base URL is https://www.mydomain.com/api/shop.

OperationRequestDescription · main parameters
verify_customerPOST /verifyIdentity check
order_no*, phone_last4*
list_ordersGET /customers/{customer_id}/ordersOrder list
status
get_orderGET /customers/{customer_id}/orders/{order_no}Order detail and shipping
order_no*
cancel_orderPOST /customers/{customer_id}/orders/{order_no}/cancelCancel order (preview, then confirm)
order_no*, reason
search_productsGET /productsProduct search
q*
curl -X POST https://www.mydomain.com/api/shop/verify \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"order_no":"DM-10001","phone_last4":"1234"}'

#Shop · Identity check

POST/verify

Confirms the customer with an order number and the last 4 digits of the phone. customer.id in the response is used as {customer_id} in later operations.

BodyTypeDescription
order_no *stringOrder number
phone_last4 *stringLast 4 digits of the phone
curl -X POST https://www.mydomain.com/api/shop/verify \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"order_no":"DM-10001","phone_last4":"1234"}'

#Shop · Order list

GET/customers/{customer_id}/orders

The customer’s orders.

ParameterInDescription
customer_id *pathCustomer ID from the identity check
statusquerypaid | preparing | shipped | delivered | cancelled
curl https://www.mydomain.com/api/shop/customers/cus_1001/orders \
  -H 'Authorization: Bearer YOUR_API_KEY'

#Shop · Order detail

GET/customers/{customer_id}/orders/{order_no}

One order: items, amount, and shipping (carrier, tracking number, tracking link).

curl https://www.mydomain.com/api/shop/customers/cus_1001/orders/DM-10001 \
  -H 'Authorization: Bearer YOUR_API_KEY'

#Shop · Cancel an order

POST/customers/{customer_id}/orders/{order_no}/cancel

Only paid or preparing orders can be cancelled. dry_run: true returns a refund preview and does not cancel.

BodyTypeDescription
dry_runbooleanPreview only
reasonstringCancellation reason
curl -X POST https://www.mydomain.com/api/shop/customers/cus_1001/orders/DM-10002/cancel \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"dry_run":true}'

#Shop · Product search

GET/products
ParameterInDescription
q *queryProduct name or SKU
curl 'https://www.mydomain.com/api/shop/products?q=tumbler' \
  -H 'Authorization: Bearer YOUR_API_KEY'

#Package forwarding and proxy buying standard connector

Identity check with a mailbox number → application list and detail (tracking) → cancel an application, plus estimated shipping cost and overseas warehouse addresses. The base URL is https://www.mydomain.com/api/forwarding.

OperationRequestDescription · main parameters
verify_customerPOST /verifyIdentity check
member_code*, name*
list_applicationsGET /customers/{customer_id}/applicationsApplication list
status
get_applicationGET /customers/{customer_id}/applications/{application_no}Application detail and tracking
application_no*
cancel_applicationPOST /customers/{customer_id}/applications/{application_no}/cancelCancel application (preview, then confirm)
application_no*, reason
estimate_shippingGET /ratesEstimated shipping
country*, weight_kg*
list_warehousesGET /warehousesOverseas warehouse addresses
curl -X POST https://www.mydomain.com/api/forwarding/verify \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"member_code":"CT1001","name":"Sam Ship"}'

#Travel agency standard connector

Identity check with a booking number → booking list and detail → cancel a booking, plus travel search and the cancellation policy. The base URL is https://www.mydomain.com/api/travel.

OperationRequestDescription · main parameters
verify_customerPOST /verifyIdentity check
booking_no*, name*
list_bookingsGET /customers/{customer_id}/bookingsBooking list
get_bookingGET /customers/{customer_id}/bookings/{booking_no}Booking detail
booking_no*
cancel_bookingPOST /customers/{customer_id}/bookings/{booking_no}/cancelCancel booking (preview, then confirm)
booking_no*, reason
search_productsGET /productsSearch trips
city, q
get_cancellation_policyGET /cancellation-policyCancellation policy
curl -X POST https://www.mydomain.com/api/travel/verify \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"booking_no":"TR-260001","name":"Jordan Trip"}'

#Clinic and salon booking standard connector

Service and treatment info, open time slots, and new reservations. Identity check with a reservation number → your reservations → change or cancel a reservation. The base URL is https://www.mydomain.com/api/clinic.

OperationRequestDescription · main parameters
verify_customerPOST /verifyIdentity check
reservation_no*, name*
list_servicesGET /servicesServices and treatments
find_slotsGET /slotsOpen time slots
date*
create_reservationPOST /reservationsNew reservation (preview, then confirm)
service_code*, datetime*, name*, phone*
list_reservationsGET /customers/{customer_id}/reservationsYour reservations
change_reservationPOST /customers/{customer_id}/reservations/{reservation_no}/changeChange reservation (preview, then confirm)
reservation_no*, new_datetime*
cancel_reservationPOST /customers/{customer_id}/reservations/{reservation_no}/cancelCancel reservation (preview, then confirm)
reservation_no*
curl -X POST https://www.mydomain.com/api/clinic/verify \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"reservation_no":"RV-7001","name":"Casey Book"}'

#Subscription (SaaS) standard connector

Plan catalog. Identity check with email and account number → subscription status and invoices → resend a receipt, change plan, or schedule cancellation. The base URL is https://www.mydomain.com/api/subscription.

OperationRequestDescription · main parameters
verify_customerPOST /verifyIdentity check
email*, account_no*
list_plansGET /plansPlans
get_subscriptionGET /customers/{customer_id}/subscriptionSubscription status
list_invoicesGET /customers/{customer_id}/invoicesInvoice list
resend_invoicePOST /customers/{customer_id}/invoices/{invoice_no}/resendResend receipt (preview, then confirm)
invoice_no*
change_planPOST /customers/{customer_id}/subscription/change-planChange plan (preview, then confirm)
plan*
cancel_subscriptionPOST /customers/{customer_id}/subscription/cancelSchedule cancellation (preview, then confirm)
reason
curl -X POST https://www.mydomain.com/api/subscription/verify \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"email":"sub.kim@example.com","account_no":"AC-5001"}'

#Education and academy standard connector

Course catalog. Identity check with a student number → enrollments and detail (estimated refund) → request a refund or postpone. The base URL is https://www.mydomain.com/api/academy.

OperationRequestDescription · main parameters
verify_customerPOST /verifyIdentity check
student_no*, name*
search_coursesGET /coursesCourses
q
list_enrollmentsGET /customers/{customer_id}/enrollmentsEnrollments
get_enrollmentGET /customers/{customer_id}/enrollments/{enrollment_no}Enrollment detail and estimated refund
enrollment_no*
request_refundPOST /customers/{customer_id}/enrollments/{enrollment_no}/refundRequest a refund (preview, then confirm)
enrollment_no*, reason
postpone_enrollmentPOST /customers/{customer_id}/enrollments/{enrollment_no}/postponePostpone enrollment (preview, then confirm)
enrollment_no*, weeks*
curl -X POST https://www.mydomain.com/api/academy/verify \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"student_no":"ST-8001","name":"Riley Course"}'

#Hotel and guesthouse standard connector

Open rooms, rates, and amenities. Identity check with a reservation number → reservation list and detail → request an extra service or cancel. The base URL is https://www.mydomain.com/api/stay.

OperationRequestDescription · main parameters
verify_customerPOST /verifyIdentity check
reservation_no*, name*
find_roomsGET /roomsOpen rooms and rates
check_in*, nights, guests
get_infoGET /infoAmenities
list_reservationsGET /customers/{customer_id}/reservationsYour reservations
get_reservationGET /customers/{customer_id}/reservations/{reservation_no}Reservation detail
reservation_no*
add_requestPOST /customers/{customer_id}/reservations/{reservation_no}/requestsExtra service request (preview, then confirm)
reservation_no*, type*
cancel_reservationPOST /customers/{customer_id}/reservations/{reservation_no}/cancelCancel reservation (preview, then confirm)
reservation_no*
curl -X POST https://www.mydomain.com/api/stay/verify \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"reservation_no":"HT-9001","name":"Chris Stay"}'

#Gym and pilates standard connector

Class schedule and seats left. Identity check with a member number → membership and visits remaining → book or cancel a class, or freeze a membership. The base URL is https://www.mydomain.com/api/fitness.

OperationRequestDescription · main parameters
verify_customerPOST /verifyIdentity check
member_no*, phone_last4*
list_classesGET /classesClass schedule
date, type
get_membershipGET /customers/{customer_id}/membershipMembership
list_bookingsGET /customers/{customer_id}/bookingsYour class bookings
book_classPOST /customers/{customer_id}/bookingsBook a class (preview, then confirm)
class_id*
cancel_bookingPOST /customers/{customer_id}/bookings/{booking_id}/cancelCancel a class booking (preview, then confirm)
booking_id*
hold_membershipPOST /customers/{customer_id}/membership/holdFreeze membership (preview, then confirm)
start_date*, days*
curl -X POST https://www.mydomain.com/api/fitness/verify \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{"member_no":"FT-1001","phone_last4":"1234"}'