Skip to main content
Documentation
StartOverviewArchitectureAuthenticationSend your first message
TypeScript SDKOverviewTrusted app serverApp-user clientsRealtimeErrors & webhooks
Flutter SDKOverviewInstallationAuthenticationChannels & messagesOffline & syncRealtimeUI componentsPush & lifecycle
ConceptsTenancy & scopeChannels & messagesDelivery & reconciliationSecurity checklist
ProtocolsRealtimeSigned webhooks
ReferenceREST APIErrors, limits & retriesDeploy docs to Coolify
VV ChatDocs API v1
Recommended starting points
Build chat without rebuilding infrastructureV Chat is a multi-tenant messaging backend with typed server, web, and Flutter integration paths.StartArchitecture at a glanceUnderstand the control plane, data plane, realtime path, and SDK boundaries before integrating.StartAuthentication and credentialsSelect the correct credential for dashboard, trusted-server, app-user, realtime, and webhook flows.StartSend your first messageUse the trusted TypeScript server client to create the minimum safe messaging flow.StartTypeScript SDK overviewChoose the correct typed client for trusted servers, app users, dashboard sessions, realtime, and webhooks.TypeScript SDKTrusted app-server clientUse AppServerClient from a protected backend to manage data-plane resources and mint app-user tokens.TypeScript SDKApp-user clientsBuild browser or Node app-user flows with VChatClient or the lower-level AppUserClient.TypeScript SDK
↑↓ Navigate↵ Openesc Close
API reference
StartOverviewArchitectureAuthenticationSend your first message
TypeScript SDKOverviewTrusted app serverApp-user clientsRealtimeErrors & webhooks
Flutter SDKOverviewInstallationAuthenticationChannels & messagesOffline & syncRealtimeUI componentsPush & lifecycle
ConceptsTenancy & scopeChannels & messagesDelivery & reconciliationSecurity checklist
ProtocolsRealtimeSigned webhooks
ReferenceREST APIErrors, limits & retriesDeploy docs to Coolify
Contract sourceOpenAPI JSON
Docs/API/Channel Types
PUT/v1/organizations/{organizationId}/applications/{applicationId}/environments/{environmentKey}/channel-types/{channelTypeKey}

Replace a channel type

operationIdreplaceChannelType

Authentication

dashboardSession

Use only the principal and credential documented for this operation. Visibility in this reference does not grant authority.

Request

NameInRequiredDescription
x-request-idheaderNoOptional caller-supplied request correlation identifier.
organizationIdpathYesNo description declared.
applicationIdpathYesNo description declared.
environmentKeypathYesNo description declared.
channelTypeKeypathYesNo description declared.
x-vchat-csrfheaderYesNo description declared.
OriginheaderYesNo description declared.

Request body Required

Request body.

application/json
{
  "$ref": "#/components/schemas/ReplaceChannelTypeRequestDto",
  "properties": {
    "description": {
      "maxLength": 512,
      "nullable": true,
      "type": "string"
    },
    "displayName": {
      "maxLength": 80,
      "type": "string"
    },
    "expectedVersion": {
      "maximum": 9007199254740991,
      "minimum": 1,
      "type": "integer"
    },
    "features": {
      "$ref": "#/components/schemas/ChannelTypeFeaturesRequestDto",
      "properties": {
        "attachments": {
          "type": "boolean"
        },
        "presenceEvents": {
          "default": false,
          "type": "boolean"
        },
        "reactions": {
          "type": "boolean"
        },
        "readEvents": {
          "type": "boolean"
        },
        "replies": {
          "type": "boolean"
        },
        "typingEvents": {
          "type": "boolean"
        }
      },
      "required": [
        "replies",
        "reactions",
        "readEvents",
        "typingEvents",
        "attachments"
      ],
      "type": "object"
    },
    "grants": {
      "$ref": "#/components/schemas/ChannelTypeGrantsRequestDto",
      "properties": {
        "authenticated_user": {
          "items": {
            "enum": [
              "channel.create",
              "channel.read",
              "channel.update",
              "channel.member.add",
              "channel.member.read",
              "channel.member.update",
              "channel.member.remove",
              "message.send",
              "message.read",
              "message.update.own",
              "message.delete.own",
              "message.reaction.add",
              "message.reaction.remove.own"
            ],
            "type": "string"
          },
          "maxItems": 13,
          "type": "array"
        },
        "channel_creator": {
          "items": {
            "enum": [
              "channel.create",
              "channel.read",
              "channel.update",
              "channel.member.add",
              "channel.member.read",
              "channel.member.update",
              "channel.member.remove",
              "message.send",
              "message.read",
              "message.update.own",
              "message.delete.own",
              "message.reaction.add",
              "message.reaction.remove.own"
            ],
            "type": "string"
          },
          "maxItems": 13,
          "type": "array"
        },
        "channel_member": {
          "items": {
            "enum": [
              "channel.create",
              "channel.read",
              "channel.update",
              "channel.member.add",
              "channel.member.read",
              "channel.member.update",
              "channel.member.remove",
              "message.send",
              "message.read",
              "message.update.own",
              "message.delete.own",
              "message.reaction.add",
              "message.reaction.remove.own"
            ],
            "type": "string"
          },
          "maxItems": 13,
          "type": "array"
        }
      },
      "required": [
        "authenticated_user",
        "channel_member",
        "channel_creator"
      ],
      "type": "object"
    },
    "limits": {
      "$ref": "#/components/schemas/ChannelTypeLimitsRequestDto",
      "properties": {
        "maxActiveReactionsPerMessage": {
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "maxChannelMembers": {
          "maximum": 1000,
          "minimum": 1,
          "type": "integer"
        },
        "maxMessageLength": {
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        },
        "maxThreadReplies": {
          "maximum": 10000,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "maxChannelMembers",
        "maxMessageLength",
        "maxThreadReplies",
        "maxActiveReactionsPerMessage"
      ],
      "type": "object"
    },
    "reactionTypes": {
      "items": {
        "type": "string"
      },
      "maxItems": 16,
      "type": "array"
    }
  },
  "required": [
    "displayName",
    "description",
    "features",
    "limits",
    "grants",
    "expectedVersion"
  ],
  "type": "object"
}

cURL template

Replace path placeholders, the credential, and request body with values valid for your exact scope.

cURL
curl --request PUT \
+  --url 'https://api.example.com/v1/organizations/{organizationId}/applications/{applicationId}/environments/{environmentKey}/channel-types/{channelTypeKey}' \
+  -H 'Authorization: Bearer <token>' \
+  -H 'Content-Type: application/json' \
+  --data '<request-body>'

Responses

200
application/json
Response schema
{
  "$ref": "#/components/schemas/ChannelTypeResponseDto",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/ChannelTypeDto",
      "properties": {
        "createdAt": {
          "format": "date-time",
          "type": "string"
        },
        "description": {
          "nullable": true,
          "type": "string"
        },
        "displayName": {
          "example": "Support",
          "type": "string"
        },
        "features": {
          "$ref": "#/components/schemas/ChannelTypeFeaturesDto"
        },
        "grants": {
          "$ref": "#/components/schemas/ChannelTypeGrantsDto"
        },
        "key": {
          "example": "support",
          "type": "string"
        },
        "limits": {
          "$ref": "#/components/schemas/ChannelTypeLimitsDto"
        },
        "reactionTypes": {
          "items": {
            "type": "string"
          },
          "maxItems": 16,
          "type": "array"
        },
        "status": {
          "enum": [
            "active",
            "inactive"
          ],
          "type": "string"
        },
        "updatedAt": {
          "format": "date-time",
          "type": "string"
        },
        "version": {
          "maximum": 9007199254740991,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "key",
        "displayName",
        "description",
        "status",
        "features",
        "limits",
        "reactionTypes",
        "grants",
        "version",
        "createdAt",
        "updatedAt"
      ],
      "type": "object"
    },
    "meta": {
      "$ref": "#/components/schemas/ChannelTypeResponseMetaDto",
      "properties": {
        "requestId": {
          "example": "req_01J00000000000000000000000",
          "type": "string"
        }
      },
      "required": [
        "requestId"
      ],
      "type": "object"
    }
  },
  "required": [
    "data",
    "meta"
  ],
  "type": "object"
}
400
application/json
Response schema
{
  "$ref": "#/components/schemas/PublicErrorResponseDto",
  "properties": {
    "error": {
      "$ref": "#/components/schemas/PublicErrorBodyDto",
      "properties": {
        "code": {
          "enum": [
            "validation_failed",
            "authentication_failed",
            "authentication_required",
            "reauthentication_required",
            "permission_denied",
            "resource_not_found",
            "idempotency_conflict",
            "target_account_unavailable",
            "organization_owner_removal_conflict",
            "organization_owner_role_conflict",
            "organization_role_conflict",
            "membership_conflict",
            "invitation_conflict",
            "invitation_expired",
            "application_name_conflict",
            "application_settings_version_conflict",
            "environment_settings_version_conflict",
            "app_user_version_conflict",
            "channel_type_conflict",
            "channel_type_version_conflict",
            "channel_type_limit_reached",
            "channel_conflict",
            "channel_version_conflict",
            "channel_membership_conflict",
            "channel_membership_version_conflict",
            "channel_membership_limit_reached",
            "message_conflict",
            "message_version_conflict",
            "channel_read_state_conflict",
            "thread_reply_limit_reached",
            "message_reaction_type_not_allowed",
            "message_reaction_limit_reached",
            "thread_read_state_conflict",
            "credential_limit_reached",
            "credential_lifecycle_conflict",
            "device_registration_conflict",
            "device_registration_version_conflict",
            "device_registration_limit_reached",
            "attachment_upload_incomplete",
            "attachment_not_ready",
            "attachment_limit_reached",
            "moderation_relationship_limit_reached",
            "moderation_blocklist_limit_reached",
            "moderation_case_resolution_conflict",
            "message_moderation_rejected",
            "retention_policy_version_conflict",
            "data_job_not_cancelable",
            "data_job_not_ready",
            "data_job_limit_exceeded",
            "webhook_endpoint_conflict",
            "webhook_endpoint_version_conflict",
            "webhook_endpoint_limit_reached",
            "webhook_destination_rejected",
            "webhook_secret_rotation_conflict",
            "webhook_delivery_not_replayable",
            "conflict",
            "rate_limit_exceeded",
            "internal_error",
            "service_unavailable"
          ],
          "example": "service_unavailable",
          "type": "string"
        },
        "details": {
          "$ref": "#/components/schemas/PublicErrorDetailsDto"
        },
        "message": {
          "example": "The service is temporarily unavailable.",
          "type": "string"
        },
        "requestId": {
          "example": "req_01J00000000000000000000000",
          "type": "string"
        }
      },
      "required": [
        "code",
        "message",
        "requestId",
        "details"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
401
application/json
Response schema
{
  "$ref": "#/components/schemas/PublicErrorResponseDto",
  "properties": {
    "error": {
      "$ref": "#/components/schemas/PublicErrorBodyDto",
      "properties": {
        "code": {
          "enum": [
            "validation_failed",
            "authentication_failed",
            "authentication_required",
            "reauthentication_required",
            "permission_denied",
            "resource_not_found",
            "idempotency_conflict",
            "target_account_unavailable",
            "organization_owner_removal_conflict",
            "organization_owner_role_conflict",
            "organization_role_conflict",
            "membership_conflict",
            "invitation_conflict",
            "invitation_expired",
            "application_name_conflict",
            "application_settings_version_conflict",
            "environment_settings_version_conflict",
            "app_user_version_conflict",
            "channel_type_conflict",
            "channel_type_version_conflict",
            "channel_type_limit_reached",
            "channel_conflict",
            "channel_version_conflict",
            "channel_membership_conflict",
            "channel_membership_version_conflict",
            "channel_membership_limit_reached",
            "message_conflict",
            "message_version_conflict",
            "channel_read_state_conflict",
            "thread_reply_limit_reached",
            "message_reaction_type_not_allowed",
            "message_reaction_limit_reached",
            "thread_read_state_conflict",
            "credential_limit_reached",
            "credential_lifecycle_conflict",
            "device_registration_conflict",
            "device_registration_version_conflict",
            "device_registration_limit_reached",
            "attachment_upload_incomplete",
            "attachment_not_ready",
            "attachment_limit_reached",
            "moderation_relationship_limit_reached",
            "moderation_blocklist_limit_reached",
            "moderation_case_resolution_conflict",
            "message_moderation_rejected",
            "retention_policy_version_conflict",
            "data_job_not_cancelable",
            "data_job_not_ready",
            "data_job_limit_exceeded",
            "webhook_endpoint_conflict",
            "webhook_endpoint_version_conflict",
            "webhook_endpoint_limit_reached",
            "webhook_destination_rejected",
            "webhook_secret_rotation_conflict",
            "webhook_delivery_not_replayable",
            "conflict",
            "rate_limit_exceeded",
            "internal_error",
            "service_unavailable"
          ],
          "example": "service_unavailable",
          "type": "string"
        },
        "details": {
          "$ref": "#/components/schemas/PublicErrorDetailsDto"
        },
        "message": {
          "example": "The service is temporarily unavailable.",
          "type": "string"
        },
        "requestId": {
          "example": "req_01J00000000000000000000000",
          "type": "string"
        }
      },
      "required": [
        "code",
        "message",
        "requestId",
        "details"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
403
application/json
Response schema
{
  "$ref": "#/components/schemas/PublicErrorResponseDto",
  "properties": {
    "error": {
      "$ref": "#/components/schemas/PublicErrorBodyDto",
      "properties": {
        "code": {
          "enum": [
            "validation_failed",
            "authentication_failed",
            "authentication_required",
            "reauthentication_required",
            "permission_denied",
            "resource_not_found",
            "idempotency_conflict",
            "target_account_unavailable",
            "organization_owner_removal_conflict",
            "organization_owner_role_conflict",
            "organization_role_conflict",
            "membership_conflict",
            "invitation_conflict",
            "invitation_expired",
            "application_name_conflict",
            "application_settings_version_conflict",
            "environment_settings_version_conflict",
            "app_user_version_conflict",
            "channel_type_conflict",
            "channel_type_version_conflict",
            "channel_type_limit_reached",
            "channel_conflict",
            "channel_version_conflict",
            "channel_membership_conflict",
            "channel_membership_version_conflict",
            "channel_membership_limit_reached",
            "message_conflict",
            "message_version_conflict",
            "channel_read_state_conflict",
            "thread_reply_limit_reached",
            "message_reaction_type_not_allowed",
            "message_reaction_limit_reached",
            "thread_read_state_conflict",
            "credential_limit_reached",
            "credential_lifecycle_conflict",
            "device_registration_conflict",
            "device_registration_version_conflict",
            "device_registration_limit_reached",
            "attachment_upload_incomplete",
            "attachment_not_ready",
            "attachment_limit_reached",
            "moderation_relationship_limit_reached",
            "moderation_blocklist_limit_reached",
            "moderation_case_resolution_conflict",
            "message_moderation_rejected",
            "retention_policy_version_conflict",
            "data_job_not_cancelable",
            "data_job_not_ready",
            "data_job_limit_exceeded",
            "webhook_endpoint_conflict",
            "webhook_endpoint_version_conflict",
            "webhook_endpoint_limit_reached",
            "webhook_destination_rejected",
            "webhook_secret_rotation_conflict",
            "webhook_delivery_not_replayable",
            "conflict",
            "rate_limit_exceeded",
            "internal_error",
            "service_unavailable"
          ],
          "example": "service_unavailable",
          "type": "string"
        },
        "details": {
          "$ref": "#/components/schemas/PublicErrorDetailsDto"
        },
        "message": {
          "example": "The service is temporarily unavailable.",
          "type": "string"
        },
        "requestId": {
          "example": "req_01J00000000000000000000000",
          "type": "string"
        }
      },
      "required": [
        "code",
        "message",
        "requestId",
        "details"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
404
application/json
Response schema
{
  "$ref": "#/components/schemas/PublicErrorResponseDto",
  "properties": {
    "error": {
      "$ref": "#/components/schemas/PublicErrorBodyDto",
      "properties": {
        "code": {
          "enum": [
            "validation_failed",
            "authentication_failed",
            "authentication_required",
            "reauthentication_required",
            "permission_denied",
            "resource_not_found",
            "idempotency_conflict",
            "target_account_unavailable",
            "organization_owner_removal_conflict",
            "organization_owner_role_conflict",
            "organization_role_conflict",
            "membership_conflict",
            "invitation_conflict",
            "invitation_expired",
            "application_name_conflict",
            "application_settings_version_conflict",
            "environment_settings_version_conflict",
            "app_user_version_conflict",
            "channel_type_conflict",
            "channel_type_version_conflict",
            "channel_type_limit_reached",
            "channel_conflict",
            "channel_version_conflict",
            "channel_membership_conflict",
            "channel_membership_version_conflict",
            "channel_membership_limit_reached",
            "message_conflict",
            "message_version_conflict",
            "channel_read_state_conflict",
            "thread_reply_limit_reached",
            "message_reaction_type_not_allowed",
            "message_reaction_limit_reached",
            "thread_read_state_conflict",
            "credential_limit_reached",
            "credential_lifecycle_conflict",
            "device_registration_conflict",
            "device_registration_version_conflict",
            "device_registration_limit_reached",
            "attachment_upload_incomplete",
            "attachment_not_ready",
            "attachment_limit_reached",
            "moderation_relationship_limit_reached",
            "moderation_blocklist_limit_reached",
            "moderation_case_resolution_conflict",
            "message_moderation_rejected",
            "retention_policy_version_conflict",
            "data_job_not_cancelable",
            "data_job_not_ready",
            "data_job_limit_exceeded",
            "webhook_endpoint_conflict",
            "webhook_endpoint_version_conflict",
            "webhook_endpoint_limit_reached",
            "webhook_destination_rejected",
            "webhook_secret_rotation_conflict",
            "webhook_delivery_not_replayable",
            "conflict",
            "rate_limit_exceeded",
            "internal_error",
            "service_unavailable"
          ],
          "example": "service_unavailable",
          "type": "string"
        },
        "details": {
          "$ref": "#/components/schemas/PublicErrorDetailsDto"
        },
        "message": {
          "example": "The service is temporarily unavailable.",
          "type": "string"
        },
        "requestId": {
          "example": "req_01J00000000000000000000000",
          "type": "string"
        }
      },
      "required": [
        "code",
        "message",
        "requestId",
        "details"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
409
application/json
Response schema
{
  "$ref": "#/components/schemas/PublicErrorResponseDto",
  "properties": {
    "error": {
      "$ref": "#/components/schemas/PublicErrorBodyDto",
      "properties": {
        "code": {
          "enum": [
            "validation_failed",
            "authentication_failed",
            "authentication_required",
            "reauthentication_required",
            "permission_denied",
            "resource_not_found",
            "idempotency_conflict",
            "target_account_unavailable",
            "organization_owner_removal_conflict",
            "organization_owner_role_conflict",
            "organization_role_conflict",
            "membership_conflict",
            "invitation_conflict",
            "invitation_expired",
            "application_name_conflict",
            "application_settings_version_conflict",
            "environment_settings_version_conflict",
            "app_user_version_conflict",
            "channel_type_conflict",
            "channel_type_version_conflict",
            "channel_type_limit_reached",
            "channel_conflict",
            "channel_version_conflict",
            "channel_membership_conflict",
            "channel_membership_version_conflict",
            "channel_membership_limit_reached",
            "message_conflict",
            "message_version_conflict",
            "channel_read_state_conflict",
            "thread_reply_limit_reached",
            "message_reaction_type_not_allowed",
            "message_reaction_limit_reached",
            "thread_read_state_conflict",
            "credential_limit_reached",
            "credential_lifecycle_conflict",
            "device_registration_conflict",
            "device_registration_version_conflict",
            "device_registration_limit_reached",
            "attachment_upload_incomplete",
            "attachment_not_ready",
            "attachment_limit_reached",
            "moderation_relationship_limit_reached",
            "moderation_blocklist_limit_reached",
            "moderation_case_resolution_conflict",
            "message_moderation_rejected",
            "retention_policy_version_conflict",
            "data_job_not_cancelable",
            "data_job_not_ready",
            "data_job_limit_exceeded",
            "webhook_endpoint_conflict",
            "webhook_endpoint_version_conflict",
            "webhook_endpoint_limit_reached",
            "webhook_destination_rejected",
            "webhook_secret_rotation_conflict",
            "webhook_delivery_not_replayable",
            "conflict",
            "rate_limit_exceeded",
            "internal_error",
            "service_unavailable"
          ],
          "example": "service_unavailable",
          "type": "string"
        },
        "details": {
          "$ref": "#/components/schemas/PublicErrorDetailsDto"
        },
        "message": {
          "example": "The service is temporarily unavailable.",
          "type": "string"
        },
        "requestId": {
          "example": "req_01J00000000000000000000000",
          "type": "string"
        }
      },
      "required": [
        "code",
        "message",
        "requestId",
        "details"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
429
application/json
Response schema
{
  "$ref": "#/components/schemas/PublicErrorResponseDto",
  "properties": {
    "error": {
      "$ref": "#/components/schemas/PublicErrorBodyDto",
      "properties": {
        "code": {
          "enum": [
            "validation_failed",
            "authentication_failed",
            "authentication_required",
            "reauthentication_required",
            "permission_denied",
            "resource_not_found",
            "idempotency_conflict",
            "target_account_unavailable",
            "organization_owner_removal_conflict",
            "organization_owner_role_conflict",
            "organization_role_conflict",
            "membership_conflict",
            "invitation_conflict",
            "invitation_expired",
            "application_name_conflict",
            "application_settings_version_conflict",
            "environment_settings_version_conflict",
            "app_user_version_conflict",
            "channel_type_conflict",
            "channel_type_version_conflict",
            "channel_type_limit_reached",
            "channel_conflict",
            "channel_version_conflict",
            "channel_membership_conflict",
            "channel_membership_version_conflict",
            "channel_membership_limit_reached",
            "message_conflict",
            "message_version_conflict",
            "channel_read_state_conflict",
            "thread_reply_limit_reached",
            "message_reaction_type_not_allowed",
            "message_reaction_limit_reached",
            "thread_read_state_conflict",
            "credential_limit_reached",
            "credential_lifecycle_conflict",
            "device_registration_conflict",
            "device_registration_version_conflict",
            "device_registration_limit_reached",
            "attachment_upload_incomplete",
            "attachment_not_ready",
            "attachment_limit_reached",
            "moderation_relationship_limit_reached",
            "moderation_blocklist_limit_reached",
            "moderation_case_resolution_conflict",
            "message_moderation_rejected",
            "retention_policy_version_conflict",
            "data_job_not_cancelable",
            "data_job_not_ready",
            "data_job_limit_exceeded",
            "webhook_endpoint_conflict",
            "webhook_endpoint_version_conflict",
            "webhook_endpoint_limit_reached",
            "webhook_destination_rejected",
            "webhook_secret_rotation_conflict",
            "webhook_delivery_not_replayable",
            "conflict",
            "rate_limit_exceeded",
            "internal_error",
            "service_unavailable"
          ],
          "example": "service_unavailable",
          "type": "string"
        },
        "details": {
          "$ref": "#/components/schemas/PublicErrorDetailsDto"
        },
        "message": {
          "example": "The service is temporarily unavailable.",
          "type": "string"
        },
        "requestId": {
          "example": "req_01J00000000000000000000000",
          "type": "string"
        }
      },
      "required": [
        "code",
        "message",
        "requestId",
        "details"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
500
application/json
Response schema
{
  "$ref": "#/components/schemas/PublicErrorResponseDto",
  "properties": {
    "error": {
      "$ref": "#/components/schemas/PublicErrorBodyDto",
      "properties": {
        "code": {
          "enum": [
            "validation_failed",
            "authentication_failed",
            "authentication_required",
            "reauthentication_required",
            "permission_denied",
            "resource_not_found",
            "idempotency_conflict",
            "target_account_unavailable",
            "organization_owner_removal_conflict",
            "organization_owner_role_conflict",
            "organization_role_conflict",
            "membership_conflict",
            "invitation_conflict",
            "invitation_expired",
            "application_name_conflict",
            "application_settings_version_conflict",
            "environment_settings_version_conflict",
            "app_user_version_conflict",
            "channel_type_conflict",
            "channel_type_version_conflict",
            "channel_type_limit_reached",
            "channel_conflict",
            "channel_version_conflict",
            "channel_membership_conflict",
            "channel_membership_version_conflict",
            "channel_membership_limit_reached",
            "message_conflict",
            "message_version_conflict",
            "channel_read_state_conflict",
            "thread_reply_limit_reached",
            "message_reaction_type_not_allowed",
            "message_reaction_limit_reached",
            "thread_read_state_conflict",
            "credential_limit_reached",
            "credential_lifecycle_conflict",
            "device_registration_conflict",
            "device_registration_version_conflict",
            "device_registration_limit_reached",
            "attachment_upload_incomplete",
            "attachment_not_ready",
            "attachment_limit_reached",
            "moderation_relationship_limit_reached",
            "moderation_blocklist_limit_reached",
            "moderation_case_resolution_conflict",
            "message_moderation_rejected",
            "retention_policy_version_conflict",
            "data_job_not_cancelable",
            "data_job_not_ready",
            "data_job_limit_exceeded",
            "webhook_endpoint_conflict",
            "webhook_endpoint_version_conflict",
            "webhook_endpoint_limit_reached",
            "webhook_destination_rejected",
            "webhook_secret_rotation_conflict",
            "webhook_delivery_not_replayable",
            "conflict",
            "rate_limit_exceeded",
            "internal_error",
            "service_unavailable"
          ],
          "example": "service_unavailable",
          "type": "string"
        },
        "details": {
          "$ref": "#/components/schemas/PublicErrorDetailsDto"
        },
        "message": {
          "example": "The service is temporarily unavailable.",
          "type": "string"
        },
        "requestId": {
          "example": "req_01J00000000000000000000000",
          "type": "string"
        }
      },
      "required": [
        "code",
        "message",
        "requestId",
        "details"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}
503
application/json
Response schema
{
  "$ref": "#/components/schemas/PublicErrorResponseDto",
  "properties": {
    "error": {
      "$ref": "#/components/schemas/PublicErrorBodyDto",
      "properties": {
        "code": {
          "enum": [
            "validation_failed",
            "authentication_failed",
            "authentication_required",
            "reauthentication_required",
            "permission_denied",
            "resource_not_found",
            "idempotency_conflict",
            "target_account_unavailable",
            "organization_owner_removal_conflict",
            "organization_owner_role_conflict",
            "organization_role_conflict",
            "membership_conflict",
            "invitation_conflict",
            "invitation_expired",
            "application_name_conflict",
            "application_settings_version_conflict",
            "environment_settings_version_conflict",
            "app_user_version_conflict",
            "channel_type_conflict",
            "channel_type_version_conflict",
            "channel_type_limit_reached",
            "channel_conflict",
            "channel_version_conflict",
            "channel_membership_conflict",
            "channel_membership_version_conflict",
            "channel_membership_limit_reached",
            "message_conflict",
            "message_version_conflict",
            "channel_read_state_conflict",
            "thread_reply_limit_reached",
            "message_reaction_type_not_allowed",
            "message_reaction_limit_reached",
            "thread_read_state_conflict",
            "credential_limit_reached",
            "credential_lifecycle_conflict",
            "device_registration_conflict",
            "device_registration_version_conflict",
            "device_registration_limit_reached",
            "attachment_upload_incomplete",
            "attachment_not_ready",
            "attachment_limit_reached",
            "moderation_relationship_limit_reached",
            "moderation_blocklist_limit_reached",
            "moderation_case_resolution_conflict",
            "message_moderation_rejected",
            "retention_policy_version_conflict",
            "data_job_not_cancelable",
            "data_job_not_ready",
            "data_job_limit_exceeded",
            "webhook_endpoint_conflict",
            "webhook_endpoint_version_conflict",
            "webhook_endpoint_limit_reached",
            "webhook_destination_rejected",
            "webhook_secret_rotation_conflict",
            "webhook_delivery_not_replayable",
            "conflict",
            "rate_limit_exceeded",
            "internal_error",
            "service_unavailable"
          ],
          "example": "service_unavailable",
          "type": "string"
        },
        "details": {
          "$ref": "#/components/schemas/PublicErrorDetailsDto"
        },
        "message": {
          "example": "The service is temporarily unavailable.",
          "type": "string"
        },
        "requestId": {
          "example": "req_01J00000000000000000000000",
          "type": "string"
        }
      },
      "required": [
        "code",
        "message",
        "requestId",
        "details"
      ],
      "type": "object"
    }
  },
  "required": [
    "error"
  ],
  "type": "object"
}

Contract source

This page is generated from artifacts/openapi/openapi.json. The dedicated endpoint folder documents authorization, validation, errors, consistency, idempotency, events, retries, and client reconciliation.

View docs/api/v1/channel-types/replaceChannelType/endpoint.json
On this pageAuthenticationRequestResponsesContract source
All operations