---
title: "Update Cosigner External Route"
method: PATCH
path: "/v0/platform/cosigners/{id}"
tags: ["cosigner"]
---

# Update Cosigner External Route

`PATCH /v0/platform/cosigners/{id}`

Update a cosigner by ID; the fields you send replace the existing ones.

## Path parameters

- `id` string, required

## Request body

- UpdateCosignerExternalRequest
  - `name` string, nullable
  - `fallback_behavior` 'reject' | 'approve' | 'manual_review' — The outcome when a transaction passes the Blockaid detection engine but no configured policy matches. - `reject` - Rejects the transaction. Default. - `approve` - Approves the transaction. - `manual_review` - Sends the transaction to the Pending Transactions queue for manual review.
  - `tags` string[], nullable — Tags assigned to the Cosigner.
  - `proposal_actions` union[], nullable — Actions to trigger when a transaction proposal is submitted.
    - union
      - TelegramExternalAction
        - `type` 'telegram', required
        - `chats` TelegramExternalChannel[], required
          - `chat_id` string, required — Telegram channel ID.
          - `topic_ids` integer[], required — Optional topic IDs within the channel where the message should be posted.
        - `message_format` string, nullable
      - SlackExternalAction
        - `type` 'slack', required
        - `message_format` string, nullable — Customization of the message to send in the Slack notification.
        - `channels` string[], required
      - EmailExternalAction
        - `type` 'email', required
        - `to` string[], required
        - `cc` string[], nullable — Optional CC email addresses.
        - `bcc` string[], nullable — Optional BCC email addresses.
        - `body` string, nullable
  - `rejection_actions` union[], nullable — Actions to trigger when a transaction proposal is rejected.
    - union
      - TelegramExternalAction
        - `type` 'telegram', required
        - `chats` TelegramExternalChannel[], required
          - `chat_id` string, required — Telegram channel ID.
          - `topic_ids` integer[], required — Optional topic IDs within the channel where the message should be posted.
        - `message_format` string, nullable
      - SlackExternalAction
        - `type` 'slack', required
        - `message_format` string, nullable — Customization of the message to send in the Slack notification.
        - `channels` string[], required
      - EmailExternalAction
        - `type` 'email', required
        - `to` string[], required
        - `cc` string[], nullable — Optional CC email addresses.
        - `bcc` string[], nullable — Optional BCC email addresses.
        - `body` string, nullable
  - `approval_actions` union[], nullable — Actions to trigger when a transaction proposal is approved.
    - union
      - TelegramExternalAction
        - `type` 'telegram', required
        - `chats` TelegramExternalChannel[], required
          - `chat_id` string, required — Telegram channel ID.
          - `topic_ids` integer[], required — Optional topic IDs within the channel where the message should be posted.
        - `message_format` string, nullable
      - SlackExternalAction
        - `type` 'slack', required
        - `message_format` string, nullable — Customization of the message to send in the Slack notification.
        - `channels` string[], required
      - EmailExternalAction
        - `type` 'email', required
        - `to` string[], required
        - `cc` string[], nullable — Optional CC email addresses.
        - `bcc` string[], nullable — Optional BCC email addresses.
        - `body` string, nullable
  - `malicious_actions` union[], nullable
    - union
      - TelegramExternalAction
        - `type` 'telegram', required
        - `chats` TelegramExternalChannel[], required
          - `chat_id` string, required — Telegram channel ID.
          - `topic_ids` integer[], required — Optional topic IDs within the channel where the message should be posted.
        - `message_format` string, nullable
      - SlackExternalAction
        - `type` 'slack', required
        - `message_format` string, nullable — Customization of the message to send in the Slack notification.
        - `channels` string[], required
      - EmailExternalAction
        - `type` 'email', required
        - `to` string[], required
        - `cc` string[], nullable — Optional CC email addresses.
        - `bcc` string[], nullable — Optional BCC email addresses.
        - `body` string, nullable
  - `data` union, required
    - FireblocksCosignerUpdateExternal
      - `type` 'fireblocks', required
      - `vault_ids` string[], nullable
      - `chains` string[], nullable
      - `involvement_level` 'active_approval' | 'reporting_only' — This Cosigner's participation level in transaction approval: - `active_approval` - Cosigner actively approves or rejects transactions. - `reporting_only` - Cosigner approves all transactions.
      - `security_policy` 'blockaid_ootb_policy' | 'advanced_control_policy' — [DEPRECATED] External API representation of policy options. OOTB mode has been removed, so the only accepted value is `advanced_control_policy`; `blockaid_ootb_policy` is rejected. Configure fallback behavior via the top-level `fallback_behavior` field instead.
      - `unsupported_chain_behavior` 'approve' | 'reject' | 'pending'
    - FordefiCosignerUpdateExternal
      - `type` 'fordefi', required
      - `vault_ids` string[], nullable
      - `chains` string[], nullable
      - `involvement_level` 'active_approval' | 'reporting_only' — This Cosigner's participation level in transaction approval: - `active_approval` - Cosigner actively approves or rejects transactions. - `reporting_only` - Cosigner reviews transactions without approving or signing.
      - `security_policy` 'blockaid_ootb_policy' | 'advanced_control_policy' — [DEPRECATED] External API representation of policy options. OOTB mode has been removed, so the only accepted value is `advanced_control_policy`; `blockaid_ootb_policy` is rejected. Configure fallback behavior via the top-level `fallback_behavior` field instead.
      - `unsupported_chain_behavior` 'approve' | 'reject' | 'pending'
    - UtilaCosignerUpdateExternal
      - `chains` string[], nullable
      - `involvement_level` 'active_approval' | 'reporting_only' — This Cosigner's participation level in transaction approval: - `active_approval` - Cosigner actively approves or rejects transactions. - `reporting_only` - Cosigner reviews transactions without approving or signing.
      - `security_policy` 'blockaid_ootb_policy' | 'advanced_control_policy' — [DEPRECATED] External API representation of policy options. OOTB mode has been removed, so the only accepted value is `advanced_control_policy`; `blockaid_ootb_policy` is rejected. Configure fallback behavior via the top-level `fallback_behavior` field instead.
      - `type` 'utila', required
      - `unsupported_chain_behavior` 'approve' | 'reject' | 'pending'
    - CosignerSafeUpdateDataExternal
      - `type` 'safe', required
      - `override_address` string, nullable
      - `involvement_level` 'active_approval' | 'reporting_only' — This Cosigner's participation level in transaction approval: - `active_approval` - Cosigner actively approves or rejects transactions. - `reporting_only` - Cosigner reviews transactions without approving or signing.
      - `security_policy` 'blockaid_ootb_policy' | 'advanced_control_policy' — [DEPRECATED] External API representation of policy options. OOTB mode has been removed, so the only accepted value is `advanced_control_policy`; `blockaid_ootb_policy` is rejected. Configure fallback behavior via the top-level `fallback_behavior` field instead.
      - `wallet_address` string, nullable
    - CosignerSquadsUpdateDataExternal
      - `type` 'squads', required
      - `involvement_level` 'active_approval' | 'reporting_only' — This Cosigner's participation level in transaction approval: - `active_approval` - Cosigner actively approves or rejects transactions. - `reporting_only` - Cosigner reviews transactions without approving or signing.
      - `security_policy` 'blockaid_ootb_policy' | 'advanced_control_policy' — [DEPRECATED] External API representation of policy options. OOTB mode has been removed, so the only accepted value is `advanced_control_policy`; `blockaid_ootb_policy` is rejected. Configure fallback behavior via the top-level `fallback_behavior` field instead.
      - `wallet_address` string, nullable

## Response `200`

Successful Response

- CosignerExternalResponse
  - `tags` string[], required
  - `proposal_actions` union[], required
    - union
      - TelegramExternalAction
        - `type` 'telegram', required
        - `chats` TelegramExternalChannel[], required
          - `chat_id` string, required — Telegram channel ID.
          - `topic_ids` integer[], required — Optional topic IDs within the channel where the message should be posted.
        - `message_format` string, nullable
      - SlackExternalAction
        - `type` 'slack', required
        - `message_format` string, nullable — Customization of the message to send in the Slack notification.
        - `channels` string[], required
      - EmailExternalAction
        - `type` 'email', required
        - `to` string[], required
        - `cc` string[], nullable — Optional CC email addresses.
        - `bcc` string[], nullable — Optional BCC email addresses.
        - `body` string, nullable
  - `rejection_actions` union[], required
    - union
      - TelegramExternalAction
        - `type` 'telegram', required
        - `chats` TelegramExternalChannel[], required
          - `chat_id` string, required — Telegram channel ID.
          - `topic_ids` integer[], required — Optional topic IDs within the channel where the message should be posted.
        - `message_format` string, nullable
      - SlackExternalAction
        - `type` 'slack', required
        - `message_format` string, nullable — Customization of the message to send in the Slack notification.
        - `channels` string[], required
      - EmailExternalAction
        - `type` 'email', required
        - `to` string[], required
        - `cc` string[], nullable — Optional CC email addresses.
        - `bcc` string[], nullable — Optional BCC email addresses.
        - `body` string, nullable
  - `approval_actions` union[], required
    - union
      - TelegramExternalAction
        - `type` 'telegram', required
        - `chats` TelegramExternalChannel[], required
          - `chat_id` string, required — Telegram channel ID.
          - `topic_ids` integer[], required — Optional topic IDs within the channel where the message should be posted.
        - `message_format` string, nullable
      - SlackExternalAction
        - `type` 'slack', required
        - `message_format` string, nullable — Customization of the message to send in the Slack notification.
        - `channels` string[], required
      - EmailExternalAction
        - `type` 'email', required
        - `to` string[], required
        - `cc` string[], nullable — Optional CC email addresses.
        - `bcc` string[], nullable — Optional BCC email addresses.
        - `body` string, nullable
  - `malicious_actions` union[], nullable
    - union
      - TelegramExternalAction
        - `type` 'telegram', required
        - `chats` TelegramExternalChannel[], required
          - `chat_id` string, required — Telegram channel ID.
          - `topic_ids` integer[], required — Optional topic IDs within the channel where the message should be posted.
        - `message_format` string, nullable
      - SlackExternalAction
        - `type` 'slack', required
        - `message_format` string, nullable — Customization of the message to send in the Slack notification.
        - `channels` string[], required
      - EmailExternalAction
        - `type` 'email', required
        - `to` string[], required
        - `cc` string[], nullable — Optional CC email addresses.
        - `bcc` string[], nullable — Optional BCC email addresses.
        - `body` string, nullable
  - `id` string, required — The Cosigner's assigned unique ID.
  - `name` string, nullable, required — The Cosigner name as defined upon creation.
  - `status` 'pending' | 'ok' | 'error', required — The current status of the Cosigner. - `ok` - The Cosigner is active. - `pending` - The Cosigner is waiting for the final activation steps in the multisig wallet to be completed. - `error` - Something went wrong and the Cosigner is not working properly.
  - `fallback_behavior` 'reject' | 'approve' | 'manual_review', required — The outcome when a transaction passes the Blockaid detection engine but no configured policy matches. - `reject` - Rejects the transaction. Default. - `approve` - Approves the transaction. - `manual_review` - Sends the transaction to the Pending Transactions queue for manual review.
  - `error` string, nullable — If the Cosigner status is `error`, this field will show more information about the error.
  - `created_at` string, date-time, required — The timestamp the Cosigner was created.
  - `updated_at` string, date-time, required
  - `updated_by` string, nullable, required — The user who last updated the Cosigner.
  - `data` union, required
    - FireblocksCosignerResponseExternal
      - `type` 'fireblocks', required
      - `integration_instance_id` string, required — The ID of the integration instance used to connect to the Fireblocks workspace. Acquired using the Search Integrations endpoint.
      - `scope` 'specific_vaults'
      - `vaults` union[], required
        - union
          - VaultDetails
            - `vault_id` string, required
            - `name` string, required
            - `addresses` AddressDetails[], required
              - …
          - VaultError
            - `vault_id` string, required
            - `error` string, required
      - `chains` string[], nullable
      - `involvement_level` 'active_approval' | 'reporting_only', required — This Cosigner's participation level in transaction approval: - `active_approval` - Cosigner actively approves or rejects transactions. - `reporting_only` - Cosigner approves all transactions.
      - `security_policy` 'blockaid_ootb_policy' | 'advanced_control_policy' — [DEPRECATED] External API representation of policy options. OOTB mode has been removed, so the only accepted value is `advanced_control_policy`; `blockaid_ootb_policy` is rejected. Configure fallback behavior via the top-level `fallback_behavior` field instead.
      - `unsupported_chain_behavior` 'approve' | 'reject' | 'pending', required
    - FordefiCosignerResponseExternal
      - `type` 'fordefi', required
      - `integration_instance_id` string, required
      - `scope` 'all_vaults' | 'specific_vaults', required
      - `vaults` union[], required
        - union
          - VaultDetails
            - `vault_id` string, required
            - `name` string, required
            - `addresses` AddressDetails[], required
              - …
          - VaultError
            - `vault_id` string, required
            - `error` string, required
      - `chains` string[], nullable
      - `involvement_level` 'active_approval' | 'reporting_only', required — This Cosigner's participation level in transaction approval: - `active_approval` - Cosigner actively approves or rejects transactions. - `reporting_only` - Cosigner reviews transactions without approving or signing.
      - `security_policy` 'blockaid_ootb_policy' | 'advanced_control_policy' — [DEPRECATED] External API representation of policy options. OOTB mode has been removed, so the only accepted value is `advanced_control_policy`; `blockaid_ootb_policy` is rejected. Configure fallback behavior via the top-level `fallback_behavior` field instead.
      - `unsupported_chain_behavior` 'approve' | 'reject' | 'pending', required
    - CosignerSafeResponseExternal
      - `chain` string, required
      - `type` 'safe', required
      - `override_address` string, nullable, required
      - `cosigner_address` string, required
      - `involvement_level` 'active_approval' | 'reporting_only', required — This Cosigner's participation level in transaction approval: - `active_approval` - Cosigner actively approves or rejects transactions. - `reporting_only` - Cosigner reviews transactions without approving or signing.
      - `security_policy` 'blockaid_ootb_policy' | 'advanced_control_policy' — [DEPRECATED] External API representation of policy options. OOTB mode has been removed, so the only accepted value is `advanced_control_policy`; `blockaid_ootb_policy` is rejected. Configure fallback behavior via the top-level `fallback_behavior` field instead.
      - `wallet_address` string, required
    - CosignerSquadsResponseExternal
      - `chain` 'solana-mainnet', required
      - `type` 'squads', required
      - `cosigner_address` string, required
      - `involvement_level` 'active_approval' | 'reporting_only', required — This Cosigner's participation level in transaction approval: - `active_approval` - Cosigner actively approves or rejects transactions. - `reporting_only` - Cosigner reviews transactions without approving or signing.
      - `security_policy` 'blockaid_ootb_policy' | 'advanced_control_policy' — [DEPRECATED] External API representation of policy options. OOTB mode has been removed, so the only accepted value is `advanced_control_policy`; `blockaid_ootb_policy` is rejected. Configure fallback behavior via the top-level `fallback_behavior` field instead.
      - `wallet_address` string, required
    - UtilaCosignerResponseExternal
      - `type` 'utila', required
      - `integration_instance_id` string, required
      - `addresses` AddressDetails[], required
        - `address` string, required
        - `chain` string, required
      - `chains` string[], nullable
      - `involvement_level` 'active_approval' | 'reporting_only', required — This Cosigner's participation level in transaction approval: - `active_approval` - Cosigner actively approves or rejects transactions. - `reporting_only` - Cosigner reviews transactions without approving or signing.
      - `security_policy` 'blockaid_ootb_policy' | 'advanced_control_policy' — [DEPRECATED] External API representation of policy options. OOTB mode has been removed, so the only accepted value is `advanced_control_policy`; `blockaid_ootb_policy` is rejected. Configure fallback behavior via the top-level `fallback_behavior` field instead.
      - `unsupported_chain_behavior` 'approve' | 'reject' | 'pending', required
  - `created_by` string, required
  - `selected_chains` string[], nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/blockaid-official/apis/blockaid-api.md) · [All operations](https://skmtc.net/blockaid-official/apis/blockaid-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/blockaid-official/blockaid-api/versions/17c41f337b2e/schema)
