Developer API · v1

API Documentation

Read your clients, itineraries, proposals and bookings — or push leads straight into your CRM — over a simple, token-authenticated REST API that returns JSON.

BASE URL https://jktourcrm.com/api/v1

1. Get a token

Generate a personal access token from your dashboard, under Settings → API Tokens. Copy it immediately — it’s shown only once. Tokens are scoped to your account: you only ever see your own data.

2. Authenticate

Send your token as a bearer header on every request. Also send Accept: application/json.

curl https://jktourcrm.com/api/v1/me \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json"

3. Rate limits & responses

  • Up to 60 requests/minute per token (HTTP 429 when exceeded).
  • List endpoints are paginated — use ?page= and ?per_page= (max 100). Responses include a meta block with current_page, last_page and total.
  • All responses are JSON wrapped in a data key.

4. Endpoints

GET
/api/v1/me
Your account summary and record counts.
GET
/api/v1/clients
List your clients. Filters: ?q=, ?status=, ?per_page=, ?page=.
POST
/api/v1/clients
Create a client / capture a lead. Body: name (required), email, phone, company, city, country, nationality, notes, tags[].
GET
/api/v1/clients/{id}
Fetch a single client by ID.
GET
/api/v1/itineraries
List your itineraries. Filter: ?status=.
GET
/api/v1/itineraries/{id}
Fetch one itinerary including its day-by-day plan.
GET
/api/v1/proposals
List your proposals. Filter: ?status=.
GET
/api/v1/bookings
List your bookings.

5. Examples

List clients

curl "https://jktourcrm.com/api/v1/clients?per_page=2" \
  -H "Authorization: Bearer YOUR_TOKEN" -H "Accept: application/json"
{
  "data": [
    { "id": 12, "name": "Aisha Khan", "email": "aisha@example.com",
      "phone": "+44...", "country": "United Kingdom", "status": "active",
      "tags": ["honeymoon"], "created_at": "2026-06-01T10:22:00+00:00" }
  ],
  "meta": { "current_page": 1, "last_page": 9, "per_page": 2, "total": 18 }
}

Create a lead

curl -X POST https://jktourcrm.com/api/v1/clients \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Accept: application/json" -H "Content-Type: application/json" \
  -d '{"name":"New Lead","email":"lead@site.com","phone":"+1...","notes":"From website form"}'

Returns 201 Created with the new client object. Perfect for wiring your website’s enquiry form straight into your CRM.

6. Errors

401 — missing/invalid token
404 — record not found / not yours
422 — validation failed (see errors)
429 — rate limit exceeded

Ready to build?

Create your first token and start integrating in minutes.

Get your API token

JK Tour Support

AI assistant

By chatting here, you agree we may process and record this chat in line with our Privacy Policy.

Powered by ElySpace