> ## Documentation Index
> Fetch the complete documentation index at: https://docs.perfectreferral.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List specializations

> Returns a list of supported specializations



## OpenAPI

````yaml https://api.perfectreferral.com/v1/openapi.yml get /specializations
openapi: 3.1.0
info:
  version: 1.0.0
  title: Perfect Referral
  description: Refer patients to the right specialist the first time.
  contact:
    email: support@perfectreferral.com
servers:
  - url: https://api.perfectreferral.com/v1
security:
  - bearerHttpAuthentication: []
tags:
  - name: Practitioner
  - name: Specialization
paths:
  /specializations:
    get:
      tags:
        - Specialization
      summary: List specializations
      description: Returns a list of supported specializations
      operationId: listSpecializations
      responses:
        '200':
          description: Expected response to a valid request
          headers:
            X-Ratelimit-Remaining:
              $ref: '#/components/headers/RateLimitRemaining'
            X-Ratelimit-Reset:
              $ref: '#/components/headers/RateLimitReset'
            X-Ratelimit-Limit:
              $ref: '#/components/headers/RateLimitLimit'
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Specialization'
              example:
                - id: 019f00fd-1ddb-74c6-ba92-8ddf3ccd30f2
                  name: Cardiology
                  description: >-
                    Diagnosis and treatment of heart and vascular disease —
                    echocardiography, stress testing, electrophysiology, and
                    interventional procedures.
                - id: 019f00fd-1ddb-74e5-b578-7237da8b6773
                  name: Dermatology
                  description: >-
                    Medical and surgical care of skin, hair, and nails — lesion
                    biopsy and excision, skin-cancer treatment, and inflammatory
                    skin disease.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
        5XX:
          $ref: '#/components/responses/ServerError'
      security:
        - bearerHttpAuthentication: []
components:
  headers:
    RateLimitRemaining:
      description: Requests left in the current monthly quota window.
      schema:
        type: integer
    RateLimitReset:
      description: Unix time (seconds) when the monthly quota window resets.
      schema:
        type: integer
    RateLimitLimit:
      description: Total requests allowed per monthly quota window.
      schema:
        type: integer
    RetryAfter:
      description: Seconds to wait before retrying.
      schema:
        type: integer
  schemas:
    Specialization:
      type: object
      required:
        - id
        - name
        - description
      properties:
        id:
          type: string
          format: uuid
          description: A unique identifier for the specialization.
        name:
          type: string
          description: The name of the specialization.
        description:
          type: string
          description: A description of the specialization.
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: HTTP status error code.
        message:
          type: string
          description: Human-readable error description.
  responses:
    Unauthorized:
      description: API token missing or invalid.
      headers:
        X-Ratelimit-Remaining:
          $ref: '#/components/headers/RateLimitRemaining'
        X-Ratelimit-Reset:
          $ref: '#/components/headers/RateLimitReset'
        X-Ratelimit-Limit:
          $ref: '#/components/headers/RateLimitLimit'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: '401'
            message: Unauthorized
    TooManyRequests:
      description: >-
        Too many requests. Returned when either the monthly request quota or the
        per-second request-rate limit is exceeded; the `message` field
        distinguishes them ("rate limit exceeded" is the monthly quota, "request
        rate exceeded" is the per-second limit).
      headers:
        X-Ratelimit-Remaining:
          $ref: '#/components/headers/RateLimitRemaining'
        X-Ratelimit-Reset:
          $ref: '#/components/headers/RateLimitReset'
        X-Ratelimit-Limit:
          $ref: '#/components/headers/RateLimitLimit'
        Retry-After:
          $ref: '#/components/headers/RetryAfter'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: '429'
            message: Too Many Requests
    InternalError:
      description: Unexpected server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: '500'
            message: Unexpected server error
    ServerError:
      description: Server error.
  securitySchemes:
    bearerHttpAuthentication:
      description: >-
        Bearer authentication header of the form `Bearer <token>`, where
        `<token>` is your API token.
      type: http
      scheme: bearer

````