---
title: "Update a funder's submission channel and email configuration"
method: PATCH
path: "/api/funder_integrations/{funder_heron_id}/"
---

# Update a funder's submission channel and email configuration

`PATCH /api/funder_integrations/{funder_heron_id}/`

Saves the funder's submission email address and CC list, and optionally switches its submission channel (integration or email). An omitted or null `channel` keeps the current channel, so email-field saves can never change how deals are routed. Returns the updated funder entry.

## Path parameters

- `funder_heron_id` string, required

## Request body

- UpdateFunderIntegrationRequestSchema
  - `channel` unknown
  - `submission_cc_email_addresses` string[], nullable
  - `submission_email_address` string, nullable

## Response `200`

Funder updated

- FunderIntegrationViewSchema
  - `channel` unknown
  - `channel_type` string, nullable
  - `config` FunderIntegrationConfig
    - `channel_type` string, required
    - `display_name` string, required
    - `form_fields` FormField[], required
      - `field_type` 'text' | 'password', required
      - `label` string, required
      - `name` string, required
      - `required` boolean, required
    - `supports_staging` boolean, required
  - `effective_submission_email_address` string, nullable
  - `funder_email_domains` string[], required
  - `funder_heron_id` string, required
  - `funder_logo_url` string, nullable
  - `funder_name` string, required
  - `production` IntegrationEnvironment
    - `has_credentials` boolean, required
    - `last_test_attempted_at` string, date-time, nullable
    - `last_test_deal_id` string, nullable
    - `last_test_status` 'not_run' | 'in_progress' | 'succeeded' | 'failed', required
    - `last_test_status_message` string, nullable
  - `sender_address` string, required
  - `slug` string, nullable
  - `staging` IntegrationEnvironment
    - `has_credentials` boolean, required
    - `last_test_attempted_at` string, date-time, nullable
    - `last_test_deal_id` string, nullable
    - `last_test_status` 'not_run' | 'in_progress' | 'succeeded' | 'failed', required
    - `last_test_status_message` string, nullable
  - `state` 'not_available' | 'not_configured' | 'staging_configured' | 'staging_live' | 'production_configured' | 'production_live' | 'live', required
  - `submission_cc_email_addresses` string[], nullable
  - `submission_email_address` string, nullable
  - `supports_staging` boolean, required

## Other responses

- `400` — Invalid input (unsupported channel, malformed email)
- `404` — Funder not linked to current broker

---

[API](https://skmtc.net/herondata/apis/heron-data-api.md) · [All operations](https://skmtc.net/herondata/apis/heron-data-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/herondata/heron-data-api/versions/f2e441edece2/schema)
