openapi: 3.0.0 info: version: '1.177' title: API Documentation specialties API description: Endpoints to retrieve specialties supported by Zocdoc. servers: - url: https://api-developer-sandbox.zocdoc.com description: Sandbox - url: https://api-developer.zocdoc.com description: Production tags: - name: specialties description: Endpoints to retrieve specialties supported by Zocdoc. x-displayName: Specialties paths: /v1/specialties: get: tags: - specialties summary: Get specialties description: Get specialties with optional filtering by care category security: - ClientCredentialsFlow: [] - AuthorizationCodeFlow: [] operationId: getSpecialties parameters: - name: page in: query description: The zero indexed page of results. Default is 0. Maximum is 200. schema: type: integer minimum: 0 maximum: 200 - name: page_size in: query description: The number of results to return per page. Default is 100. Maximum is 500. schema: type: integer minimum: 1 maximum: 500 - name: care_category in: query description: Filter by care category schema: $ref: '#/components/schemas/CareCategory' responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SpecialtiesResponse' '400': description: Invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResult' '401': description: Unauthorized '403': description: Forbidden '404': description: Not found /v1/specialties/{specialty_id}: get: tags: - specialties summary: Get specialty by id description: Get specialty by id security: - ClientCredentialsFlow: [] - AuthorizationCodeFlow: [] operationId: getSpecialtyById parameters: - name: specialty_id in: path required: true description: Zocdoc specialty id schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SpecialtyByIdResponse' '400': description: Invalid request parameters. content: application/json: schema: $ref: '#/components/schemas/ErrorResult' '401': description: Unauthorized '403': description: Forbidden '404': description: Not found components: schemas: BaseResult: required: - request_id type: object properties: request_id: type: string description: Unique request identifier for tracing CareCategory: type: string description: "The category of care for an insurance plan\n * Health: Health and Mental Health Care\n\ \ * Dental: Dental Care\n * Vision: Vision Care\n" enum: - health - dental - vision Error: required: - message type: object properties: field: type: string message: type: string ErrorResult: allOf: - $ref: '#/components/schemas/BaseResult' - type: object required: - error_type - errors properties: error_type: $ref: '#/components/schemas/ErrorType' errors: type: array items: $ref: '#/components/schemas/Error' ErrorType: type: string enum: - api_error - invalid_request PaginatedBaseResult: allOf: - $ref: '#/components/schemas/BaseResult' - type: object required: - page - page_size - total_count - next_url properties: page: description: The zero based index of the current page. type: integer page_size: description: The size of the current page. type: integer total_count: description: The total number of result items. type: integer next_url: description: A link to the next page of results; null if this is the last page of results. type: string SpecialtiesResponse: type: object allOf: - $ref: '#/components/schemas/PaginatedBaseResult' - type: object required: - data properties: data: type: array items: $ref: '#/components/schemas/SpecialtyData' SpecialtyByIdResponse: type: object allOf: - $ref: '#/components/schemas/BaseResult' - type: object required: - data properties: data: $ref: '#/components/schemas/SpecialtyData' SpecialtyData: type: object required: - id - name - care_category - default_visit_reason_id - default_visit_reason_name properties: id: type: string description: Zocdoc specialty id name: type: string care_category: $ref: '#/components/schemas/CareCategory' default_visit_reason_id: type: string default_visit_reason_name: type: string securitySchemes: ClientCredentialsFlow: type: oauth2 description: 'Machine to machine authentication (for use from client server to Zocdoc). Production: `https://auth.zocdoc.com/oauth/token` Sandbox: `https://auth-api-developer-sandbox.zocdoc.com/oauth/token` ' flows: clientCredentials: tokenUrl: https://auth.zocdoc.com/oauth/token scopes: external.appointment.write: Book and modify appointments. external.appointment.read: Read basic details of your appointments. external.anonymous_token.write: Create anonymous tokens used for discovery endpoints. external.provider_insurance.write: Update the insurance accepted by a provider. external.schedulable_entity.read: Read schedulable entities. external.booking_intent.write: Create and modify booking intents. external.booking_intent.read: Read booking intents. external.consent.read: Read your partner-connect consent grants. external.partner_consent.write: Revoke your partner-connect consent grants. AuthorizationCodeFlow: type: oauth2 description: 'Log in as a user. Client Secret is not necessary for this login flow. Production: `https://auth.zocdoc.com` Sandbox: `https://auth-api-developer-sandbox.zocdoc.com` ' flows: authorizationCode: x-usePkce: true tokenUrl: https://auth.zocdoc.com/oauth/token authorizationUrl: https://auth.zocdoc.com/authorize scopes: external.appointment.write: Book and modify appointments. external.appointment.read: Read basic details of your appointments. external.schedulable_entity.read: Read schedulable entities.