---
title: "Save Collexus Exchange Settings"
method: PUT
path: "/integrations/collexus/settings"
tags: ["integrations", "collexus"]
---

# Save Collexus Exchange Settings

`PUT /integrations/collexus/settings`

## Request

- Base URL: `https://dev.whispa.net` (the document declares no server; this is the origin it was published from)
- URL: `https://dev.whispa.net/integrations/collexus/settings`
- Auth: one of:
  - OAuth 2
    - Password
    - Token URL: `auth/bearer/login`
  - API key in cookie `access_token`

Save which scenarios the return file covers and which directions run on
a schedule, and return the card's status as it now stands.

From the first save these choices replace the deployment's configured
defaults. A scenario must be one of this deployment's AI scenarios, and the
daily return file cannot be switched on with none chosen. The connection
and the account-file freshness gate are not settable here: pausing the
scheduled import leaves that gate counting.

## Request body

- CollexusExchangeSettingsUpdate: An admin's choices for the exchange, saved together.
  - `return_file_scenarios` string[]
  - `ingest_scheduled` boolean
  - `return_file_scheduled` boolean

## Response `200`

Successful Response

- CollexusExchangeStatusResponse: What the Integrations card shows. Read from settings and the two ledgers only: it opens no connection, so it is cheap to poll.
  - `available` boolean, required
  - `configured` boolean
  - `missing_settings` string[]
  - `mode` 'pinned' | 'discovery', nullable
  - `host` string, nullable
  - `port` integer, nullable
  - `username` string, nullable
  - `inbound_path` string, nullable
  - `outbound_path` string, nullable
  - `settings_saved` boolean
  - `ingest_scheduled` boolean
  - `return_file_scheduled` boolean
  - `return_file_scenarios` string[]
  - `scenario_options` CollexusScenarioOption[]
    - `name` string, required
    - `display_name` string, required
  - `return_file_timezone` string, nullable
  - `return_file_deliver_after_hour` integer, nullable
  - `freshness_gate_minutes` integer, nullable
  - `last_file` CollexusIngestedFileRead
    - `filename` string, required
    - `status` string, required
    - `detail` string, nullable
    - `accounts_imported` integer
    - `remote_modified_at` string, date-time, nullable
    - `consumed_at` string, date-time, required
  - `last_import` CollexusIngestedFileRead
    - `filename` string, required
    - `status` string, required
    - `detail` string, nullable
    - `accounts_imported` integer
    - `remote_modified_at` string, date-time, nullable
    - `consumed_at` string, date-time, required
  - `ingest_run` CollexusIngestRunRead: One import an admin asked for, as it stands now.
    - `id` string, uuid, required
    - `status` 'running' | 'imported' | 'nothing_new' | 'failed' | 'busy', required
    - `detail` string, nullable
    - `listed` integer
    - `imported` integer
    - `superseded` integer
    - `failed` integer
    - `accounts` integer
    - `unrecognised_statuses` CollexusUnrecognisedStatus[]
      - `status` string, required
      - `count` integer, required
    - `started_at` string, date-time, required
    - `finished_at` string, date-time, nullable
  - `last_delivery` CollexusDeliveredFileRead
    - `business_date` string, date, required
    - `filename` string, required
    - `row_count` integer, required
    - `adopted` boolean, required
    - `delivered_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/whispa/apis/whispa-api.md) - [All operations](https://skmtc.dev/whispa/apis/whispa-api/llms.txt) - [OpenAPI document](https://skmtc.dev/whispa/apis/whispa-api/revisions/12c2e4aca43c?raw)
