Skip to main content
POST
/
v1
/
appointments
Create an appointment
curl --request POST \
  --url https://dev.flextell.ai/api/v1/appointments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "customer_id": 123,
  "user_id": 123,
  "scheduled_at": "2023-11-07T05:31:56Z",
  "status": "pending",
  "treatments": [
    123
  ],
  "assistant_id": 123,
  "parent_appointment_id": 123,
  "description": "<string>",
  "cancellation_reason": "<string>",
  "room_id": 123
}
'
{
  "success": "<string>",
  "data": {
    "id": 123,
    "customer_id": 123,
    "room_id": 123,
    "parent_appointment_id": 123,
    "code": "<string>",
    "relation_type": "<string>",
    "description": "<string>",
    "scheduled_at": "2023-11-07T05:31:56Z",
    "status": "<string>",
    "cancellation_reason": "<string>",
    "creation_type": "<string>",
    "assistants": [
      {
        "id": 123,
        "name": "<string>"
      }
    ],
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "deleted_at": "2023-11-07T05:31:56Z",
    "customer": {
      "id": 123,
      "first_name": "<string>",
      "last_name": "<string>",
      "phone_number": "<string>",
      "email": "<string>",
      "date_of_birth": "2023-11-07T05:31:56Z",
      "gender": "male",
      "country_name": "<string>",
      "identity_number": "<string>",
      "job": "<string>",
      "address": "<string>",
      "default_channel_id": 123,
      "avatar_url": "<string>",
      "related_user": {
        "id": 123,
        "name": "<string>"
      },
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "deleted_at": "2023-11-07T05:31:56Z"
    },
    "doctor": {
      "id": 123,
      "name": "<string>"
    },
    "room": {
      "id": 123,
      "name": "<string>",
      "status": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z",
      "deleted_at": "2023-11-07T05:31:56Z"
    },
    "parent_appointment": "<unknown>",
    "child_appointments": "<array>",
    "treatments": [
      {
        "id": 123,
        "name": "<string>",
        "price": "<string>",
        "description": "<string>",
        "session": 123,
        "is_active": "<string>",
        "extra_info": {},
        "created_at": "2023-11-07T05:31:56Z",
        "updated_at": "2023-11-07T05:31:56Z",
        "deleted_at": "2023-11-07T05:31:56Z",
        "products": [
          {
            "id": 123,
            "name": "<string>",
            "full_name": "<string>",
            "barcode": "<string>",
            "description": "<string>",
            "box_quantity": "<string>",
            "unit_volume": "<string>",
            "critical_stock_level": 123,
            "invoice_name": "<string>",
            "price": 123,
            "tax_rate": 123,
            "is_active": "<string>",
            "brand": {
              "id": 123,
              "name": "<string>"
            },
            "product_type": {
              "id": 123,
              "name": "<string>",
              "category": "<string>"
            },
            "category": {
              "id": 123,
              "name": "<string>"
            },
            "unit_code": {
              "id": "<string>",
              "name": "<string>",
              "code": "<string>"
            }
          }
        ],
        "users": [
          {
            "id": 123,
            "name": "<string>"
          }
        ],
        "sessions": [
          {
            "id": 123,
            "session_order": 123,
            "session_type": "control",
            "next_gap_days": 123,
            "offset_days": 123
          }
        ]
      }
    ]
  }
}

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Headers

X-Tenant
number

Tenant identifier. Send the Tenant ID in the X-Tenant header to scope API requests to a specific tenant.

Body

application/json
customer_id
integer
required
user_id
integer
required
scheduled_at
string<date-time>
required
status
enum<string>
required
Available options:
pending,
approved,
cancelled,
rejected,
completed,
no_show
treatments
integer[]
required
Minimum array length: 1
assistant_id
integer | null
parent_appointment_id
integer | null
description
string | null
Maximum string length: 1000
cancellation_reason
string | null
Maximum string length: 1000
room_id
integer | null

Response

success
string
required
data
AppointmentResource · object
required