> ## Documentation Index
> Fetch the complete documentation index at: https://docs.embedreach.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Channel Integration

> Create a new channel integration



## OpenAPI

````yaml POST /partner/channel/integrations
openapi: 3.0.0
info:
  title: Reach API
  version: 1.0.0
  description: API documentation for Reach platform
servers:
  - url: https://api.embedreach.com
    description: Production server
security: []
paths:
  /partner/channel/integrations:
    post:
      tags:
        - Channel Integrations
      summary: Create Channel Integration
      description: Create a new channel integration
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                channel_provider:
                  type: string
                  enum:
                    - reach-managed
                    - reach-managed-ses
                    - reach-managed-sms
                    - twilio
                  description: The provider of the channel integration
                channel_integration_type:
                  type: string
                  enum:
                    - email
                    - sms
                  description: The type of the channel integration
                channel_integration_metadata:
                  oneOf:
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - reach-managed
                        customDomainEnabled:
                          type: boolean
                          description: Whether the custom domain is enabled
                        awsCustomDomainInfo:
                          type: object
                          properties:
                            awsAccountId:
                              type: string
                              description: The AWS Account ID for the Route53 account
                            roleArn:
                              type: string
                              description: The Role ARN to assume
                            hostedZoneId:
                              type: string
                              description: The hostedZoneId for the Route53 account
                            baseDomain:
                              type: string
                              description: The baseDomain for the Route53 custom domain
                          required:
                            - awsAccountId
                            - roleArn
                            - hostedZoneId
                            - baseDomain
                          description: The awsCustomDomainInfo for the Route53 account
                      required:
                        - type
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - reach-managed-ses
                        customDomainEnabled:
                          type: boolean
                          description: Whether the custom domain is enabled
                        awsCustomDomainInfo:
                          type: object
                          properties:
                            awsAccountId:
                              type: string
                              description: The AWS Account ID for the Route53 account
                            roleArn:
                              type: string
                              description: The Role ARN to assume
                            hostedZoneId:
                              type: string
                              description: The hostedZoneId for the Route53 account
                            baseDomain:
                              type: string
                              description: The baseDomain for the Route53 custom domain
                          required:
                            - awsAccountId
                            - roleArn
                            - hostedZoneId
                            - baseDomain
                          description: The awsCustomDomainInfo for the Route53 account
                      required:
                        - type
                    - type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - twilio
                        accountSid:
                          type: string
                          description: The accountSid for the Twilio account
                        apiKeySid:
                          type: string
                          description: The apiKeySid for the Twilio account
                        apiKeySecret:
                          type: string
                          description: The apiKeySecret for the Twilio account
                        accountAuthToken:
                          type: string
                          description: >-
                            The account auth token for webhook signature
                            validation (optional)
                      required:
                        - type
                        - accountSid
                        - apiKeySid
                        - apiKeySecret
                  description: The metadata for the channel integration
              required:
                - channel_provider
                - channel_integration_type
                - channel_integration_metadata
      responses:
        '200':
          description: Status 200 response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  data:
                    type: object
                    properties:
                      id:
                        type: string
                        description: The id of the channel integration
                      channel_integration_metadata:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                              - reach-managed
                              - reach-managed-ses
                              - reach-managed-sms
                              - twilio
                        required:
                          - type
                        description: The metadata for the channel integration
                    required:
                      - id
                      - channel_integration_metadata
                required:
                  - success
        '400':
          description: Bad Request - Validation or request error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    enum:
                      - false
                    default: false
                  message:
                    type: string
                    description: Error message describing what went wrong
                  errors:
                    type: array
                    items:
                      type: string
                    description: Optional array of specific validation errors
                required:
                  - message

````