Developer docs

Developer API reference

Use the REST API to send messages, manage contacts, organize campaigns, power commerce workflows, and connect webhooks.

Documentation

Base URL

https://talyapp.net/api

Authentication

Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
Content-Type: application/json

Contacts

GET/api/contacts

Get contact list

curl -X GET "https://talyapp.net/api/contacts?page=1&per_page=25" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
POST/api/contacts

Add contact

PUT/api/contacts/{uuid}

Edit contact

DELETE/api/contacts/{uuid}

Delete contact

Contact groups

GET/api/contact-groups

Get contact group list

curl -X GET "https://talyapp.net/api/contact-groups?page=1&per_page=25" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
POST/api/contact-groups

Add contact group

PUT/api/contact-groups/{uuid}

Edit contact group

DELETE/api/contact-groups/{uuid}

Delete contact group

Automated replies

GET/api/canned-replies

Get automated replies list

curl -X GET "https://talyapp.net/api/canned-replies?page=1&per_page=25" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
POST/api/canned-replies

Add automated reply

PUT/api/canned-replies/{uuid}

Edit automated reply

DELETE/api/canned-replies/{uuid}

Delete automated reply

Messages

POST/api/send

Send message

curl -X POST "https://talyapp.net/api/send" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "phone": "+966500000001",
  "message": "Hello John, how can we help you today?",
  "header": "Customer support",
  "footer": "Reply with one of the options below",
  "buttons": [
    { "id": "sales", "title": "Sales" },
    { "id": "support", "title": "Support" }
  ]
}'
POST/api/send/media

Send media

POST/api/send/template

Send template message

Campaigns

POST/api/campaigns

Create campaign

curl -X POST "https://talyapp.net/api/campaigns" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "April property follow-up",
  "template": "00000000-0000-4000-8000-000000000000",
  "contacts": "all",
  "skip_schedule": true,
  "body": {
    "parameters": [
      { "type": "text", "text": "Ahmed" }
    ]
  }
}'

Commerce

GET/api/commerce/products

List products

curl -X GET "https://talyapp.net/api/commerce/products?page=1&per_page=20" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
POST/api/commerce/products

Create product

PUT/api/commerce/products/{uuid}

Update product

GET/api/commerce/orders

List orders

GET/api/commerce/orders/{uuid}

Show order

PATCH/api/commerce/orders/{uuid}/status

Update order status

GET/api/commerce/appointments

List appointments

GET/api/commerce/appointments/{uuid}

Show appointment

PATCH/api/commerce/appointments/{uuid}

Update appointment

Templates

GET/api/templates

List templates

curl -X GET "https://talyapp.net/api/templates?page=1&per_page=25" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Verification

GET/api/verify

Verify API key

curl -X GET "https://talyapp.net/api/verify" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"

Error responses

Standard error

{
  "statusCode": 403,
  "code": "message_limit_reached",
  "message": "You have reached your message limit.",
  "request_id": "req_01hxexample"
}

Validation error

{
  "statusCode": 400,
  "code": "validation_error",
  "errors": {
    "phone": ["The phone number is not valid."]
  }
}
Taly API for Developers | Messaging and Webhooks