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