JustCall Appointments API
The Appointments API from JustCall — 3 operation(s) for appointments.
The Appointments API from JustCall — 3 operation(s) for appointments.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/justcall:justcall-appointments-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: JustCall Appointments API
description: 'REST APIs
The REST APIs provide programmatic access to read and write JustCall data. Create a new contact, read them, add notes, and more'
version: '2'
contact: {}
servers:
- url: https://api.justcall.io
tags:
- name: Appointments
paths:
/v2.1/appointments:
post:
operationId: appointment_create_v21
summary: Create an appointment
description: Utilize this endpoint to create an appointment in the calendar.
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateAppointmentRequestDto'
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentResponseDto'
'400':
description: Failed due to bad request params.
'401':
description: Failed due to unauthorized access.
'403':
description: This error occurred when there is some validation error or you don't have access to that resource.
'404':
description: Requested resource may not exist.
'500':
description: This is due to internal server error reason, in this case please contact our support team with attached uuid.
tags:
- Appointments
security:
- AccessToken: []
/v2.1/appointments/available-slots:
get:
operationId: appointment_available_slots_v21
summary: Get available slots
description: Utilize this endpoint to list all available slots for a calendar. You can choose one of the available slots to send while creating an appointment via the "Create appointment" endpoint.
parameters:
- name: calendar_link
required: true
in: query
description: The unique link of the calendar to fetch availability from
schema:
example: https://app.justcall.io/calendar/1426xxx
type: string
- name: date
required: true
in: query
description: Date for which the available slots are to be fetched
schema:
example: '2025-06-15'
type: string
- name: timezone
required: true
in: query
description: Timezone in which the slots should be returned. View standard timezone values <a href="https://timezonedb.com/time-zones#:~:text=Search...-,Country%20Code,-Country%20Name">here</a>.
schema:
example: Asia/Kolkata
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/AvailableSlotsResponseDto'
'400':
description: Failed due to bad request params.
'401':
description: Failed due to unauthorized access.
'403':
description: This error occurred when there is some validation error or you don't have access to that resource.
'404':
description: Requested resource may not exist.
'500':
description: This is due to internal server error reason, in this case please contact our support team with attached uuid.
tags:
- Appointments
security:
- AccessToken: []
/v2.1/appointments/{id}:
get:
operationId: AppointmentsController_getAppointment_v21
summary: Get an appointment
description: Utilize this endpoint to fetch details of appointments created in JustCall. An appointment gets created when either your customer manually schedules a meeting on any of your JustCall Calendars or the customer asks your AI Voice assistant to setup the call for them.
parameters:
- name: id
required: true
in: path
description: Unique id of the appointment as generated by JustCall.
schema:
example: 417094
type: string
responses:
'200':
description: Successful response.
content:
application/json:
schema:
$ref: '#/components/schemas/AppointmentResponseDto'
'400':
description: Failed due to bad request params.
'401':
description: Failed due to unauthorized access.
'403':
description: This error occurred when there is some validation error or you don't have access to that resource.
'404':
description: Requested resource may not exist.
'500':
description: This is due to internal server error reason, in this case please contact our support team with attached uuid.
tags:
- Appointments
security:
- AccessToken: []
components:
schemas:
CreateAppointmentRequestDto:
type: object
properties:
calendar_link:
type: string
description: Link of the associated calendar
example: https://app.justcall.io/calendar/156780_2
customer_first_name:
type: string
description: First name of the customer booking the appointment
example: Robert
customer_last_name:
type: string
description: Last name of the customer booking the appointment
example: Zane
customer_email:
type: string
description: Email Id of the customer booking the appointment
example: robert.zane@suits.co
customer_number:
type: string
description: Phone number of the customer booking the appointment
example: +91987654XXXX
customer_timezone:
type: string
description: Timezone of the customer booking the appointment
example: Asia/Kolkata
appointment_customer_date:
type: string
description: Date on which the appointment is scheduled in customer's timezone (yyyy-dd-mm)
example: '2025-05-29'
appointment_customer_time:
type: string
description: Time on which the appointment is scheduled in customer's timezone (hh:mm:ss)
example: 08:45:00
notes:
type: string
description: Reference notes added by the customer
example: Need a walk though of the calling functionality
required:
- calendar_link
- customer_first_name
- customer_last_name
- customer_email
- customer_number
- customer_timezone
- appointment_customer_date
- appointment_customer_time
AgentDto:
type: object
properties:
id:
type: number
description: Unique Id of the agent as generated by JustCall
example: '343567'
name:
type: string
description: Name of the agent
example: John Doe
email:
type: string
description: Email Id of the agent
example: john.doe@suits.co
AvailableSlotsDataDto:
type: object
properties:
calendar_id:
type: string
description: Id of the associated calendar
example: '5678234'
calendar_name:
type: string
description: Name of the associated calendar
example: Onboarding Call
calendar_link:
type: string
description: Public booking link of the associated calendar
example: https://app.justcall.io/calendar/1426xxx
timezone:
type: string
description: Timezone in which the available slots are represented
example: Asia/Kolkata
date:
type: string
description: Date for which the available slots are to be fetched
example: '2025-06-15'
available_slots:
description: Array of time slots available for booking
example:
- start_time: '10:00:00'
end_time: '10:30:00'
- start_time: '11:00:00'
end_time: '11:30:00'
type: array
items:
$ref: '#/components/schemas/AvailableSlotDto'
AppointmentResponseDto:
type: object
properties:
status:
type: string
description: 'Displays the status of the API request : ''success'' for successful request; error message with description of error for failed request.'
example: success
data:
description: Appointment details
allOf:
- $ref: '#/components/schemas/AppointmentObject'
AvailableSlotDto:
type: object
properties:
start_time:
type: string
description: Start time of the available slot
example: '10:00:00'
end_time:
type: string
description: End time of the available slot
example: '10:30:00'
AvailableSlotsResponseDto:
type: object
properties:
status:
type: string
description: 'Displays the status of the API request : ''success'' for successful request; error message with description of error for failed request.'
example: success
data:
description: Available slots data
allOf:
- $ref: '#/components/schemas/AvailableSlotsDataDto'
AppointmentObject:
type: object
properties:
id:
type: string
description: Unique Id of the appointment as generated by JustCall
example: '111505'
booked_via:
type: string
description: Source from which this appointment was booked - <br>Manual (if booked manually by the customer on the public calendar link)<br>AIVA (if booked via any of your AI-Voice-Agents during a call with the customer)<br>API (if booked via API)
example: Manual
calendar_id:
type: string
description: Id of the associated calendar
example: '7736'
calendar_name:
type: string
description: Name of the associated calendar
example: Onboarding Call
calendar_link:
type: string
description: Public booking link of the associated calendar
example: https://app.justcall.io/calendar/1426xxx
calendar_language:
type: string
description: Language set for the calendar in your JustCall account
example: en
customer_first_name:
type: string
description: First name of the customer who booked the appointment
example: Robert
customer_last_name:
type: string
description: Last name of the customer who booked the appointment
example: Zane
title:
type: string
description: Title of the appointment
example: Appointment with Robert Zane
customer_email:
type: string
description: Email Id of the customer who booked the appointment
example: robert.zane@suits.co
customer_number:
type: string
description: Phone number of the customer who booked the appointment
example: '917006003243'
customer_ip_address:
type: string
description: IP address of the device using which the customer booked the appointment
example: 223.233.78.185
customer_timezone:
type: string
description: Timezone of the customer who booked the appointment
example: America/New_York
customer_slot:
type: string
description: Time slot of the appointment in customer's timezone
example: 29 Apr 25 08:45 pm - 29 Apr 25 09:00 pm
user_timezone:
type: string
description: Timezone of the user with whom the appointment is booked
example: Asia/Kolkata
user_slot:
type: string
description: Time slot of the appointment in user's timezone
example: 11:15 am - 11:30 am
slot_duration:
type: string
description: Duration of the slot in minutes as setup in JustCall calendar
example: '15'
type:
type: string
description: 'Type of the appointment out of: Call, Meeting, Chat, Appointment, Demo'
example: Call
notes:
type: string
description: Reference notes added by the customer
example: Need a walk though of the calling functionality
created_at:
type: string
description: Date and time of the appointment event creation
example: '2025-04-27 10:27:36'
appointment_date:
type: string
description: Date on which the appointment is scheduled in UTC timezone
example: '2025-04-29'
appointment_user_date:
type: string
description: Date on which the appointment is scheduled in user's timezone
example: '2025-04-29'
appointment_customer_date:
type: string
description: Date on which the appointment is scheduled in contact's timezone
example: '2025-04-29'
appointment_time:
type: string
description: Time on which the appointment is scheduled in UTC timezone
example: '11:15:00'
appointment_user_time:
type: string
description: Time on which the appointment is scheduled in user timezone
example: '8:45:00'
appointment_customer_time:
type: string
description: Time on which the appointment is scheduled in customer's timezone
example: '8:45:00'
shared_with_agents:
description: Users associated with the appointment
type: array
items:
$ref: '#/components/schemas/AgentDto'
external_attendees:
description: External email IDs associated with the appointment
default: []
example:
- Natallie@abc.co
- Chris@def.co
- Haley@pic.co
type: array
items:
type: string
securitySchemes:
AccessToken:
type: apiKey
in: header
name: Authorization
description: 'The API key can be put in the Authorization header. i.e Authorization: api_key:api_secret. If you use cURL, specify -u “api_key:api_secret”'
x-provenance:
method: harvested
publisher: JustCall
source: https://api.justcall.io/v2/api-docs
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)