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

# List pension schemes

> List all workplace pension schemes configured for an organisation.



## OpenAPI

````yaml /api-reference/preview.json get /gb/organizations/{organization_id}/pension/schemes
openapi: 3.1.0
info:
  title: FastAPI
  version: 0.1.0
servers: []
security: []
paths:
  /gb/organizations/{organization_id}/pension/schemes:
    get:
      tags:
        - Great Britain
        - Pension
      summary: List pension schemes
      description: List all workplace pension schemes configured for an organisation.
      operationId: >-
        list_pension_schemes_gb_organizations__organization_id__pension_schemes_get
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            anyOf:
              - type: string
              - type: string
                format: uuid
            title: Organization Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/PensionSchemeResponse'
                title: >-
                  Response List Pension Schemes Gb Organizations  Organization
                  Id  Pension Schemes Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - BearerToken: []
components:
  schemas:
    PensionSchemeResponse:
      properties:
        valid_from:
          type: string
          format: date
          title: Valid From
          description: Date from which this configuration version is effective
        valid_to:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Valid To
          description: >-
            Date on which this version expires (exclusive); null means this is
            the current active version. Populated automatically when a newer
            version is created via PATCH
        scheme_id:
          type: string
          title: Scheme Id
          description: >-
            Stable handle UUID for the scheme; does not change when
            configuration is updated via PATCH. Use this in URL path segments
            and membership scheme_id fields
        is_default:
          type: boolean
          title: Is Default
          description: >-
            Whether this is the organisation's default scheme; only one scheme
            per org can be default. New eligible employees are auto-enrolled
            into the default scheme
        scheme_name:
          type: string
          title: Scheme Name
          description: Display name for the scheme
        provider:
          $ref: '#/components/schemas/PensionProvider'
          description: >-
            Pension provider (NEST = National Employment Savings Trust, OTHER =
            any other provider)
        tax_treatment:
          $ref: '#/components/schemas/PensionTaxTreatment'
          description: >-
            Tax treatment method: NET_PAY (deducted pre-tax), RELIEF_AT_SOURCE
            (deducted post-tax, provider claims tax relief from HMRC),
            SALARY_SACRIFICE (employee gives up salary; saves NIC for both
            parties)
        pensionable_earnings_definition:
          $ref: '#/components/schemas/PensionEarningsDefinition'
          description: >-
            Earnings base for contribution calculation: QUALIFYING_EARNINGS
            (band £6,240–£50,270/year, 2025-26), PENSIONABLE_PAY (full pay, no
            lower threshold)
        employee_rate:
          type: string
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Employee Rate
          description: >-
            Employee contribution rate as a decimal (e.g. 0.05 = 5%); statutory
            minimum is 5% on qualifying earnings
        employer_rate:
          type: string
          pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
          title: Employer Rate
          description: >-
            Employer contribution rate as a decimal (e.g. 0.03 = 3%); statutory
            minimum is 3% on qualifying earnings
        employee_cap:
          anyOf:
            - type: string
              pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
            - type: 'null'
          title: Employee Cap
          description: >-
            Maximum employee contribution per pay period as an absolute amount;
            null = no cap
        employer_cap:
          anyOf:
            - type: string
              pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
            - type: 'null'
          title: Employer Cap
          description: >-
            Maximum employer contribution per pay period as an absolute amount;
            null = no cap
        postponement_period_months:
          type: integer
          title: Postponement Period Months
          description: >-
            Months to postpone auto-enrolment for newly eligible jobholders (0 =
            enrol immediately, max 3)
        entitled_worker_employer_contributes:
          type: boolean
          title: Entitled Worker Employer Contributes
          description: >-
            Whether the employer voluntarily contributes for Entitled Workers
            (earnings below £6,240/year) who choose to join the scheme
        re_enrolment_date:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Re Enrolment Date
          description: >-
            Employer's chosen cyclical re-enrolment date (every ~3 years);
            opted-out employees are re-enrolled on this date
        re_enrolment_window_start:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Re Enrolment Window Start
          description: >-
            Earliest permissible re-enrolment date (3 months before the staging
            anniversary)
        re_enrolment_window_end:
          anyOf:
            - type: string
              format: date
            - type: 'null'
          title: Re Enrolment Window End
          description: >-
            Latest permissible re-enrolment date (3 months after the staging
            anniversary)
        wage_type_code:
          type: string
          title: Wage Type Code
          description: >-
            Wage type code used for the pension deduction line item on payslip;
            must be PENSION category. NET_PAY/RAS use UK-P-001 or UK-P-002;
            SALARY_SACRIFICE requires UK-P-003
        created_at:
          type: string
          format: date-time
          title: Created At
          description: Timestamp when this configuration version was created
        created_by:
          anyOf:
            - type: string
            - type: 'null'
          title: Created By
          description: >-
            User identifier (from JWT sub) who created this version; null if
            created by the system
      additionalProperties: true
      type: object
      required:
        - valid_from
        - scheme_id
        - is_default
        - scheme_name
        - provider
        - tax_treatment
        - pensionable_earnings_definition
        - employee_rate
        - employer_rate
        - employee_cap
        - employer_cap
        - postponement_period_months
        - entitled_worker_employer_contributes
        - re_enrolment_date
        - re_enrolment_window_start
        - re_enrolment_window_end
        - wage_type_code
        - created_at
      title: PensionSchemeResponse
      description: >-
        Organisation's pension scheme configuration.


        ``scheme_id`` is the stable handle identifier — use it in
        ``{scheme_id}`` path segments

        and in membership ``scheme_id`` fields.  ``valid_from``/``valid_to``
        describe the validity

        window of this particular configuration version.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    PensionProvider:
      type: string
      enum:
        - NEST
        - OTHER
      title: PensionProvider
    PensionTaxTreatment:
      type: string
      enum:
        - NET_PAY
        - RELIEF_AT_SOURCE
        - SALARY_SACRIFICE
      title: PensionTaxTreatment
    PensionEarningsDefinition:
      type: string
      enum:
        - QUALIFYING_EARNINGS
        - PENSIONABLE_PAY
      title: PensionEarningsDefinition
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    BearerToken:
      type: oauth2
      flows:
        password:
          scopes:
            read:all: Read all
            write:all: Write all
            read:health_check: Read health check
            write:health_check: Write health check
            read:wage_types: Read wage types
            write:wage_types: Write wage types
          tokenUrl: >-
            https://auth-preview.intermezzo.ai/authorize?audience=api-preview.intermezzo.ai

````