Skip to main content
POST
/
appointments
Schedule Appointment
curl --request POST \
  --url https://api.mijnklantportaal.nl/v1/appointments \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "name": "Contract extension",
  "customerId": "cst_abcde123fgh",
  "attendeeName": "John Doe",
  "attendeeEmail": "johndoe@example.com",
  "startsAt": "2025-03-05 14:30:00",
  "endsAt": "2025-03-05 16:00:00"
}'
{
  "id": "apt_abc12346def678",
  "customerId": "cst_abc12345def678",
  "attendeeName": "John Doe",
  "attendeeEmail": "john.doe@example.com",
  "startsAt": "2025-03-05T16:00:00+02:00",
  "endsAt": "2025-03-05T16:30:00+02:00",
  "status": "scheduled",
  "onlineMeetingLink": "https://meet.google.com/abc-123",
  "createdAt": "2025-03-04T17:23:14+02:00"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
name
string
required

Name of the appointment, what will show up in the calendar

Example:

"Contract extension"

startsAt
string
required

The date and time the appointment will take place, written in format Y-m-d H:i

Example:

"2025-03-05 14:30:00"

endsAt
string
required

The date and time the appointment will ends, written in Y-m-d H:i format

Example:

"2025-03-05 16:00:00"

customerId
string

ID of the customer, if the appoinment is with a customer existing in your portal

Example:

"cst_abcde123fgh"

attendeeName
string

Name of the person you will meet with, required when no customerId is provided

Example:

"John Doe"

attendeeEmail
string

Email of the person you will meet with, required when no customerId is provided

Example:

"johndoe@example.com"

Response

Returning the created Appointment

Appointment

id
string

ID of the appointment, always starting with apt_.

Example:

"apt_abc12346def678"

customerId
string | null

ID of the Customer involved in this appointment, when the case

Example:

"cst_abc12345def678"

attendeeName
string

Name of the attendee of the meeting

Example:

"John Doe"

attendeeEmail
string

Emailaddress of the attendee of the meeting

Example:

"john.doe@example.com"

startsAt
string

Date and time when the appointment starts, written in ATOM format.

Example:

"2025-03-05T16:00:00+02:00"

endsAt
string

Date and time when the appointment ends, written in ATOM format.

Example:

"2025-03-05T16:30:00+02:00"

status
string

Current status of the appointment. Possible values are scheduled, canceled, and pending.

Example:

"scheduled"

Link to the online meeting of the connected integration, when available

Example:

"https://meet.google.com/abc-123"

createdAt
string

Date and time when the appointment is added to MijnKlantportaal, not matter of the status. Written in ATOM format.

Example:

"2025-03-04T17:23:14+02:00"

I