---
title: "Get collect session by token"
method: GET
path: "/collect/sessions/{token}"
tags: ["collect.sessions"]
---

# Get collect session by token

`GET /collect/sessions/{token}`

Validates the token and returns the Collect-UI session payload if valid.

## Path parameters

- `token` string, required — The session token

## Response `200`

Collect session

- CollectSessionByToken
  - `id` string, uuid, required
  - `description` string, required
  - `status` 'created' | 'active' | 'pending_review' | 'completed' | 'cancelled', required
  - `channelConfig` object, required
    - `channel` 'collectUi', required
    - `brandingColor` string
    - `logoUrl` string, uri
    - `pinProtected` boolean
    - `submitButtonLabel` string
    - `locale` string
  - `groups` object[], required
    - `id` string, uuid, required
    - `label` string, required
    - `description` string, nullable, required
    - `sortOrder` integer, required
    - `evaluationMode` 'individual' | 'batch' | 'bulk_match', required
    - `repeatable` boolean, required
    - `minInstances` integer, required
    - `maxInstances` integer, nullable, required
    - `items` object[], required
      - `id` string, uuid, required
      - `type` 'file_upload' | 'form_field' | 'signature' | 'confirmation', required
      - `description` string, required
      - `status` 'pending' | 'submitted' | 'fulfilled' | 'rejected', required
      - `sortOrder` integer, required
      - `config` union, required
        - object
          - `type` 'formField', required
          - `fieldType` 'text' | 'number' | 'date' | 'select' | 'multiSelect' | 'address' | 'phone' | 'email' | 'taxId' | 'iban', required
          - `fieldRequired` boolean
          - `fieldPlaceholder` string
          - `fieldOptions` string[]
          - `fieldValidation` object[]
            - `type` 'regex' | 'min' | 'max' | 'minLength' | 'maxLength' | 'custom', required
            - `value` union, required
              - …
            - `message` string
          - `fieldDependsOn` object
            - `collectItemId` string, required
            - `condition` 'equals' | 'notEmpty' | 'notEquals', required
            - `value` string
        - object
          - `type` 'fileUpload', required
          - `acceptedFileTypes` string[]
          - `maxFileSizeMb` number
          - `fileCount` object
            - `min` integer
            - `max` integer
          - `matchingHints` object
        - object
          - `type` 'signature', required
          - `signerName` string, required
          - `signerEmail` string, email
          - `documentRef` string
        - object
          - `type` 'confirmation', required
          - `confirmationText` string, required
          - `requiresExplicitConsent` boolean
      - `groupId` string, uuid, nullable, required
      - `submissions` object[], required
        - `id` string, uuid, required
        - `status` string, required
        - `fileName` string, nullable, required
        - `fileSize` number, nullable, required
        - `rejectionReason` string, nullable, required
    - `submissions` object[]
      - `id` string, uuid, required
      - `status` string, required
      - `fileName` string, nullable, required
      - `fileSize` number, nullable, required
      - `rejectionReason` string, nullable, required
    - `submissionSummary` object
      - `total` integer, required
      - `pending` integer, required
      - `processing` integer, required
      - `matched` integer, required
      - `proposed` integer, required

## Other responses

- `410` — Token has expired
- `422` — The validation error(s)
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.net/steuerboard/apis/steuerboard-api.md) · [All operations](https://skmtc.net/steuerboard/apis/steuerboard-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/steuerboard/steuerboard-api/revisions/9170dd572b31/schema)
