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

# Groups and payment sources held by the provider

> What the provider holds for this employer: its groups and its payment sources. `status` is `ready` once the data has been read, `pending` while the provider is still preparing it (with `expectedReadyDate`), or `unavailable`. Use the payment source names when setting up a scheme.



## OpenAPI

````yaml /api-reference/specs/integrations.json get /connections/{connectionId}/pension/setup
openapi: 3.0.1
info:
  title: Integrations Service
  description: Integrations API for FlowPayroll
  version: v1
servers:
  - url: https://api.sandbox.flowpayroll.ai/v1/integrations
security:
  - X-Auth-Token: []
tags:
  - name: Providers
    description: >-
      The providers Flow Payroll can send to, what each can do, and the sign-in
      details it needs.
  - name: Connections
    description: >-
      Your organisation's provider accounts: create one, save its sign-in
      details, test it, pause it, disconnect it or remove it.
  - name: Scheme links
    description: >-
      Which pension scheme sends through which connection. Linking is the
      opt-in: nothing is sent for a scheme until it is linked.
  - name: Activity
    description: >-
      Every submission to a provider and every read from it, with status,
      attempts and the provider reference. Retry what failed, cancel what has
      not gone yet.
  - name: Provider data
    description: >-
      How fresh the data read from the provider is, and how to refresh it on
      demand.
  - name: Initial import
    description: >-
      Read everything the provider already holds for the employer, so Flow
      Payroll starts in step with it.
paths:
  /connections/{connectionId}/pension/setup:
    get:
      tags:
        - Connections
      summary: Groups and payment sources held by the provider
      description: >-
        What the provider holds for this employer: its groups and its payment
        sources. `status` is `ready` once the data has been read, `pending`
        while the provider is still preparing it (with `expectedReadyDate`), or
        `unavailable`. Use the payment source names when setting up a scheme.
      operationId: GetConnectionPensionSetup
      parameters:
        - name: connectionId
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PensionSetupResponseResponseBody'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponseBody'
components:
  schemas:
    PensionSetupResponseResponseBody:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        content:
          $ref: '#/components/schemas/PensionSetupResponseContentResponse'
        validationIssues:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
          nullable: true
      additionalProperties: false
    ObjectResponseBody:
      type: object
      properties:
        message:
          $ref: '#/components/schemas/MessageWithTokenResponse'
        content:
          $ref: '#/components/schemas/ObjectContentResponse'
        validationIssues:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssue'
          nullable: true
      additionalProperties: false
    MessageWithTokenResponse:
      type: object
      properties:
        text:
          type: string
        token:
          type: string
        tokenArguments:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
          nullable: true
      additionalProperties: false
    PensionSetupResponseContentResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/PensionSetupResponse'
        metadata:
          $ref: '#/components/schemas/ContentMetadataResponse'
      additionalProperties: false
    ValidationIssue:
      type: object
      properties:
        field:
          type: string
        reason:
          type: string
        reasonToken:
          type: string
        reasonTokenArguments:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueArgument'
          nullable: true
      additionalProperties: false
    ObjectContentResponse:
      type: object
      properties:
        data:
          nullable: true
        metadata:
          $ref: '#/components/schemas/ContentMetadataResponse'
      additionalProperties: false
    ValidationIssueArgument:
      type: object
      properties:
        name:
          type: string
        value:
          nullable: true
      additionalProperties: false
    PensionSetupResponse:
      type: object
      properties:
        status:
          type: string
        groups:
          type: array
          items:
            $ref: '#/components/schemas/PensionSetupGroupResponse'
        paymentSources:
          type: array
          items:
            $ref: '#/components/schemas/PensionSetupPaymentSourceResponse'
        retrievedAt:
          type: string
          nullable: true
        expectedReadyDate:
          type: string
          description: >-
            When the PROVIDER said it would be done, in its own words (NEST
            sends this as X-EXP-TAT). Null when it gave no estimate.


            Show it, but do not wait it out or count it as a deadline: providers
            pad heavily, and NEST has quoted three hours on work it finished in
            five minutes. Its purpose is to let somebody tell a slow provider
            from a stuck one.
          nullable: true
      additionalProperties: false
    ContentMetadataResponse:
      type: object
      properties:
        dateFormat:
          type: string
        dateTimeFormat:
          type: string
        paginationToken:
          type: string
          nullable: true
      additionalProperties: false
    PensionSetupGroupResponse:
      type: object
      properties:
        name:
          type: string
        frequency:
          type: string
          nullable: true
      additionalProperties: false
    PensionSetupPaymentSourceResponse:
      type: object
      properties:
        name:
          type: string
        mandateStatus:
          type: string
          nullable: true
      additionalProperties: false
  securitySchemes:
    X-Auth-Token:
      type: apiKey
      description: FlowPayroll JWT (raw token, no Bearer prefix)
      name: X-Auth-Token
      in: header

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.