Appointments

List Appointments

Retrieve a paginated list of appointments (also referred to as Jobs). Optionally filter by lead ID. Returns appointment data including scheduling details, status, and associated lead information. Results are filtered by the organization associated with the API key.

GET
/v1/appointments

Authorization

bearerAuth
AuthorizationBearer <token>

Bearer token authentication for API access.

In: header

Query Parameters

leadId?string

Filter appointments by lead ID

page?integer

Page number for pagination

Default1
Range1 <= value
limit?integer

Number of items per page (max 100)

Default50
Range1 <= value <= 100

Response Body

application/json

application/json

application/json

curl -X GET "https://api.sophiie.ai/v1/appointments"
{
  "appointments": [
    {
      "id": "apt_abc123",
      "serialId": 42,
      "title": "Installation Consultation",
      "description": "Initial consultation for kitchen renovation",
      "start": "2023-12-01T10:00:00.000Z",
      "end": "2023-12-01T11:00:00.000Z",
      "status": "PENDING",
      "leadId": "ld_abc123",
      "attendees": [
        "john.doe@example.com"
      ],
      "tradeService": {
        "id": 1,
        "name": "Plumbing"
      },
      "notes": "Customer prefers morning appointments",
      "customerNotes": "Please call before arriving",
      "isRescheduled": false,
      "createdAt": "2023-01-01T00:00:00.000Z"
    }
  ],
  "totalPages": 3,
  "currentPage": 1,
  "totalCount": 28
}
{
  "success": false,
  "message": "Invalid or expired token",
  "error": {
    "status": 401,
    "message": "Invalid or expired token"
  }
}
{
  "success": false,
  "message": "Internal server error",
  "error": {
    "status": 500,
    "message": "Internal server error"
  }
}