---
title: "Retrieves an appointment by their unique identifier and numeric instance"
method: GET
path: "/appointments/{appointmentId}/{instanceId}"
tags: ["Appointments"]
---

# Retrieves an appointment by their unique identifier and numeric instance

`GET /appointments/{appointmentId}/{instanceId}`

## Request

- Base URL: `https://api.alto.zoopladev.co.uk`
- URL: `https://api.alto.zoopladev.co.uk/appointments/{appointmentId}/{instanceId}`
- Auth: `appAuth` (a scheme the document does not define)

Retrieves an appointment by their unique identifier and numeric instance.
            
Required scope: alto/read:appointments

## Path parameters

- `appointmentId` integer, required
- `instanceId` integer, required

## Headers

- `AgencyRef` string, required

## Response `200`

Appointment retrieved for requested appointment id and instance.

- ExternalPartnerAppointment
  - `id` integer: The unique identifier of the appointment
  - `instanceId` integer: The numeric instance of an appointment; this value is only greater than zero for general appointment types that are marked as recurring and represents the xth instance of a given appointment in a recurring series.
  - `type` 'Unspecified' | 'General' | 'Valuation' | 'Viewing' | 'Communication' | 'InternalMessage' | 'Offer' | 'AgreedOffer' | 'Note' | 'AuditedChange' | 'StickyNote' | 'FinancialTransaction' | 'Marketing' | 'Creation' | 'SyncedEmail' | 'AccountingTransaction' | 'WorkOrderEvent' | 'TenancyEvent' | 'FollowUp' | 'PersonalInformationRequest' | 'TdsEvent' | 'SigningRequest' | 'MaintenanceRequest' | 'DocumentSharing' | 'ConveyancerReferral': The type of the appointment
  - `startDate` string, date-time: The appointment start date and time, returned as a local (UK) diary time with no timezone offset.
  - `endDate` string, date-time: The appointment end date and time, returned as a local (UK) diary time with no timezone offset.
  - `createdDate` string, date-time: The appointment's creation date and time in ISO 8601 format
  - `modifiedDate` string, date-time: The appointment's last modified date and time in ISO 8601 format
  - `title` string, nullable: The title of the appointment. For general appointments this refers to the appointment entry type
  - `status` 'Unspecified' | 'NotYetBooked' | 'Active' | 'CancelledByOffice' | 'CancelledByOwner' | 'CancelledByApplicant' | 'CancelledByContact': The status of the appointment
  - `isCancelled` boolean: Indicates whether the appointment has a cancelled status; An appointment is only cancelled if the appointment status is not set to either Active or NotYetBooked
  - `negotiators` ExternalPartnerNegotiator[], nullable: A collection of negotiators associated with the appointment; if there are no negotiators, then returns an empty collection
    - `id` string, nullable: The unique identifier of the negotiator
    - `links` Link[], nullable: Links to related negotiator; NOTE: This is currently set to an empty collection as no api is currently available for retrieving negotiator details
      - `href` string, nullable
      - `rel` string, nullable
  - `properties` ExternalPartnerProperty[], nullable: A collection of properties that are associated with the appointment; if there are no properties, then returns an empty collection
    - `id` string, nullable: The unique identifier of the property
    - `links` Link[], nullable: Links to related property.
      - `href` string, nullable
      - `rel` string, nullable
  - `contacts` ExternalPartnerContact[], nullable: A collection of contacts that are associated with the appointment; if there are no contacts, then returns an empty collection
    - `id` string, nullable: The unique identifier of the contact
    - `links` Link[], nullable: Links to related contact.
      - `href` string, nullable
      - `rel` string, nullable
  - `viewingDetails` ExternalPartnerViewingDetails
    - `internalNotes` string, nullable: The internal notes of the appointment.
    - `applicantFeedback` string, nullable: The feedback of the appointment.

## Other responses

- `400`: Validation error e.g. invalid format for appointment identifier or instance
- `401`: Unauthorized
- `403`: Invalid scope or AgencyRef for request.
- `404`: Appointment not found within the scope of the AgencyRef's authorised group and branches
- `500`: Internal Server Error

---

[API](https://skmtc.dev/alto/apis/alto-api.md) - [All operations](https://skmtc.dev/alto/apis/alto-api/llms.txt) - [OpenAPI document](https://skmtc.dev/alto/apis/alto-api/revisions/1b729d9b15a8?raw)
