Salesforce Appointment API

The Appointment API from Salesforce — 2 operation(s) for appointment.

Documentation

Specifications

Schemas & Data

OpenAPI Specification

salesforce-appointment-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Salesforce Bulk API 2.0 Abort Appointment API
  description: 'Salesforce Bulk API 2.0 is a simplified, REST-based interface for bulk data operations that improves on the original Bulk API. It uses a straightforward job model and supports CSV format for ingest and query jobs, enabling processing of millions of records asynchronously.

    '
  version: v63.0
  contact:
    name: Salesforce Developers
    url: https://developer.salesforce.com/
  license:
    name: Salesforce Developer Terms
    url: https://www.salesforce.com/company/legal/agreements/
servers:
- url: https://{instance}.salesforce.com/services/data/v{version}/jobs
  description: Salesforce Bulk API 2.0 jobs endpoint
  variables:
    instance:
      default: yourInstance
      description: 'The Salesforce instance identifier (e.g., na1, eu3, or a My Domain subdomain like mycompany).

        '
    version:
      default: '63.0'
      description: 'The Salesforce API version number (e.g., 63.0). Use the latest supported version for new integrations.

        '
security:
- BearerAuth: []
tags:
- name: Appointment
paths:
  /data/v64.0/scheduling/getAppointmentSlots:
    parameters: []
    post:
      tags:
      - Appointment
      summary: Salesforce Get Appointment Slots
      description: 'Returns a list of available appointment time slots for a resource based on given work type group and territories.


        https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/requests_ls_getappointmentslots.htm'
      operationId: GetAppointmentSlots
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/GetAppointmentSlotsRequest'
              - examples:
                - startTime: string
                  endTime: string
                  workTypeGroupId: string
                  workType: Work Type
                  accountId: string
                  territoryIds: string[]
                  requiredResourceIds: string[]
                  schedulingPolicyId: string
                  allowConcurrentScheduling: boolean
              contentMediaType: application/json
            example:
              startTime: string
              endTime: string
              workTypeGroupId: string
              workType: Work Type
              accountId: string
              territoryIds: string[]
              requiredResourceIds: string[]
              schedulingPolicyId: string
              allowConcurrentScheduling: boolean
        required: true
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
      servers:
      - url: https://services
        variables: {}
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /data/v64.0/scheduling/getAppointmentCandidates:
    parameters: []
    post:
      tags:
      - Appointment
      summary: Salesforce Get Appointment Candidates
      description: 'Returns a list of available service resources (appointment candidates) based on work type group and service territories.


        https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/requests_ls_getappointmentcandidates.htm'
      operationId: GetAppointmentCandidates
      parameters: []
      requestBody:
        description: ''
        content:
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/GetAppointmentCandidatesRequest'
              - examples:
                - startTime: string
                  endTime: string
                  workTypeGroupId: string
                  workType: Work Type
                  accountId: string
                  territoryIds: string[]
                  requiredResourceIds: string[]
                  schedulingPolicyId: string
                  allowConcurrentScheduling: boolean
              contentMediaType: application/json
            example:
              startTime: string
              endTime: string
              workTypeGroupId: string
              workType: Work Type
              accountId: string
              territoryIds: string[]
              requiredResourceIds: string[]
              schedulingPolicyId: string
              allowConcurrentScheduling: boolean
        required: true
      responses:
        '200':
          description: ''
          headers: {}
      deprecated: false
      servers:
      - url: https://services
        variables: {}
      x-api-evangelist-processing:
        PascalCaseOperationSummaries: true
        ChooseTags: true
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    GetAppointmentSlotsRequest:
      title: GetAppointmentSlotsRequest
      required:
      - startTime
      - endTime
      - workTypeGroupId
      - workType
      - accountId
      - territoryIds
      - requiredResourceIds
      - schedulingPolicyId
      - allowConcurrentScheduling
      type: object
      properties:
        startTime:
          type: string
          example: '2026-01-15T10:30:00Z'
        endTime:
          type: string
          example: '2026-01-15T10:30:00Z'
        workTypeGroupId:
          type: string
          example: '500123'
        workType:
          type: string
          example: example_value
        accountId:
          type: string
          example: '500123'
        territoryIds:
          type: string
          example: example_value
        requiredResourceIds:
          type: string
          example: example_value
        schedulingPolicyId:
          type: string
          example: '500123'
        allowConcurrentScheduling:
          type: string
          example: example_value
      examples:
      - startTime: string
        endTime: string
        workTypeGroupId: string
        workType: Work Type
        accountId: string
        territoryIds: string[]
        requiredResourceIds: string[]
        schedulingPolicyId: string
        allowConcurrentScheduling: boolean
    GetAppointmentCandidatesRequest:
      title: GetAppointmentCandidatesRequest
      required:
      - startTime
      - endTime
      - workTypeGroupId
      - workType
      - accountId
      - territoryIds
      - requiredResourceIds
      - schedulingPolicyId
      - allowConcurrentScheduling
      type: object
      properties:
        startTime:
          type: string
          example: '2026-01-15T10:30:00Z'
        endTime:
          type: string
          example: '2026-01-15T10:30:00Z'
        workTypeGroupId:
          type: string
          example: '500123'
        workType:
          type: string
          example: example_value
        accountId:
          type: string
          example: '500123'
        territoryIds:
          type: string
          example: example_value
        requiredResourceIds:
          type: string
          example: example_value
        schedulingPolicyId:
          type: string
          example: '500123'
        allowConcurrentScheduling:
          type: string
          example: example_value
      examples:
      - startTime: string
        endTime: string
        workTypeGroupId: string
        workType: Work Type
        accountId: string
        territoryIds: string[]
        requiredResourceIds: string[]
        schedulingPolicyId: string
        allowConcurrentScheduling: boolean
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: 'OAuth 2.0 Bearer token obtained from the Salesforce OAuth 2.0 token endpoint. Include this token in the Authorization header as "Bearer {access_token}".

        '