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

# Get Integration



## OpenAPI

````yaml https://api-qa.interactly.ai/api-docs/integrations/api.json get /integrations/v2/integrations/{integration_id}
openapi: 3.1.0
info:
  title: Interactly API
  description: API for building interactly.ai services
  version: 1.1.0
  contact:
    name: Interactly
    url: https://interactly.ai
    email: developers@interactly.ai
servers:
  - url: https://api-qa.interactly.ai
    description: API Server
security: []
paths:
  /integrations/v2/integrations/{integration_id}:
    get:
      tags:
        - Integrations V2
      summary: Get Integration
      operationId: >-
        integrations_service_get_integration_v2_integrations__integration_id__get
      parameters:
        - name: integration_id
          in: path
          required: true
          schema:
            type: string
            minLength: 24
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
            example: 5eb7cf5a86d9755df3a6c593
            title: Integration Id
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/IntegrationsResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
      security:
        - bearer: []
components:
  schemas:
    IntegrationsResponse:
      properties:
        integration:
          $ref: '#/components/schemas/IntegrationsModel'
          description: Single integration object
      type: object
      required:
        - integration
      title: IntegrationsResponse
      description: |-
        Response model for a single integration.
        Contains a IntegrationsModel object.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    IntegrationsModel:
      properties:
        teamId:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Teamid
          description: ID of the team that owns this record
        createdBy:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Createdby
          description: ID of the user who created this record
        updatedBy:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Updatedby
          description: ID of the user who last updated this record
        createdAt:
          type: string
          format: date-time
          title: Createdat
        updatedAt:
          type: string
          format: date-time
          title: Updatedat
        _id:
          anyOf:
            - type: string
              example: 5eb7cf5a86d9755df3a6c593
            - type: 'null'
          title: Id
          description: MongoDB document ObjectID
        logicalId:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Logical ID
          description: Unique identifier for the integration
        provider:
          anyOf:
            - $ref: '#/components/schemas/IntegrationProviders'
            - type: 'null'
          description: Integration provider type (e.g., microsoft, google, slack).
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
          description: Friendly name for the integration (e.g., 'Google Calendar Sync').
        status:
          anyOf:
            - $ref: '#/components/schemas/IntegrationStatus'
            - type: 'null'
          description: Status of the integration. Defaults to 'active'.
          default: active
        access:
          anyOf:
            - $ref: '#/components/schemas/IntegrationAccess'
            - type: 'null'
          description: Access level for the integration (personal, team, or system).
          default: team
        config:
          anyOf:
            - oneOf:
                - $ref: '#/components/schemas/IntegrationMicrosoftConfig'
                - $ref: '#/components/schemas/IntegrationAthenaConfig-Output'
                - $ref: '#/components/schemas/IntegrationECWConfig-Output'
                - $ref: '#/components/schemas/IntegrationGoogleConfig'
                - $ref: '#/components/schemas/IntegrationSlackConfig'
                - $ref: '#/components/schemas/IntegrationOktaConfig'
              discriminator:
                propertyName: provider
                mapping:
                  athena:
                    $ref: '#/components/schemas/IntegrationAthenaConfig-Output'
                  ecw:
                    $ref: '#/components/schemas/IntegrationECWConfig-Output'
                  google:
                    $ref: '#/components/schemas/IntegrationGoogleConfig'
                  microsoft:
                    $ref: '#/components/schemas/IntegrationMicrosoftConfig'
                  okta:
                    $ref: '#/components/schemas/IntegrationOktaConfig'
                  slack:
                    $ref: '#/components/schemas/IntegrationSlackConfig'
            - type: 'null'
          title: Config
          description: Provider-specific configuration schema determined by 'provider'.
        timezone:
          anyOf:
            - type: string
            - type: 'null'
          title: Timezone
          description: IANA timezone string (e.g., 'America/New_York', 'Asia/Kolkata').
          default: UTC
      type: object
      title: IntegrationsModel
      description: Main integration model holding configuration and audit details.
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
    IntegrationProviders:
      type: string
      enum:
        - microsoft
        - google
        - athena
        - ecw
        - slack
        - okta
      title: IntegrationProviders
      description: Supported integration providers.
    IntegrationStatus:
      type: string
      enum:
        - active
        - inactive
      title: Status
      description: Represents whether the integration is active or inactive.
      x-enumTitles:
        active: Active
        inactive: Inactive
    IntegrationAccess:
      type: string
      enum:
        - personal
        - team
        - system
      title: IntegrationAccess
      description: Indicates who can access this integration.
    IntegrationMicrosoftConfig:
      properties:
        scope:
          anyOf:
            - type: string
            - type: 'null'
          title: Scope
          description: List of permission scopes authorized for the integration.
          input_field_not_visible: true
          input_field_type: password
        accessToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Access Token
          description: Access token issued by the provider.
          input_field_not_visible: true
          input_field_type: password
        refreshToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Refresh Token
          description: Refresh token for obtaining a new access token.
          input_field_not_visible: true
          input_field_type: password
        tokenType:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Type
          description: Type of token, e.g., 'Bearer'.
          input_field_not_visible: true
        expiresAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expires At
          description: >-
            Expiration time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        connectedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Connected At
          description: >-
            Connection time of the OAuth integration in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        renewedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Renewed At
          description: >-
            Last renewal time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        errorMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
          description: Error message if token exchange or renewal failed.
        provider:
          type: string
          const: microsoft
          title: Provider
          description: Integration provider identifier. Always 'microsoft'.
          default: microsoft
          input_field_not_visible: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: Authentication type used for this integration (basic or oauth).
          default: oauth
          input_field_not_visible: true
        authUserEmail:
          anyOf:
            - type: string
            - type: 'null'
          title: Email Address
          description: Email address associated with the connected Microsoft account.
          input_field_not_visible: true
        authUserName:
          anyOf:
            - type: string
            - type: 'null'
          title: Your Name
          description: Display name of the connected Microsoft account user.
      type: object
      title: Microsoft Integration
      description: Microsoft OAuth-based integration configuration.
    IntegrationAthenaConfig-Output:
      properties:
        baseUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Base Url
          description: Base URL path/domain for the Integration Client Requests.
          default: ''
        authKey:
          anyOf:
            - type: string
            - type: 'null'
          title: Authorization Key Name
          description: Key name used for authorization in API requests.
          default: Authorization
        authAddTo:
          anyOf:
            - type: string
              enum:
                - headers
                - query
            - type: 'null'
          title: Authorization Key Location
          description: >-
            Where to include the key-value pair in API requests (headers or
            query).
          default: headers
        clientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Client ID
          description: OAuth2 client identifier issued by the authorization server.
          default: ''
        clientSecret:
          anyOf:
            - type: string
            - type: 'null'
          title: Client Secret
          description: Confidential client secret used together with the client ID.
          input_field_type: password
        audience:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Audience
          description: >-
            OAuth2 audience / API identifier for which the access token is
            requested. 
          default: ''
        grantType:
          type: string
          const: client_credentials
          title: Grant Type
          description: OAuth2 grant type used when requesting the access token.
          default: client_credentials
        scopes:
          anyOf:
            - type: string
            - type: 'null'
          title: Scopes
          description: >-
            Space-separated list of OAuth2 scopes requested for the access
            token.
          default: read:all write:all
        tokenUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Token URL
          description: URL used to obtain the OAuth2 token for the Integration Client.
          default: ''
          input_field_type: external_url_link
        provider:
          type: string
          const: athena
          title: Provider
          description: Integration provider identifier. Always 'athena'.
          default: athena
          input_field_not_visible: true
        isSandbox:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Sandbox
          description: >-
            Indicates if the integration is in sandbox mode. Turn off for
            production use. For Sandbox mode we will sync limited data for easy
            testing.
          default: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: >-
            Authentication type used for this integration (basic or oauth or
            oauth2).
          default: basic
          input_field_not_visible: true
        sourceId:
          anyOf:
            - type: string
            - type: 'null'
          title: Source ID
          description: Unique source identifier for Athena integration.
        connectorId:
          anyOf:
            - type: string
            - type: 'null'
          title: Connector ID
          description: Unique connector identifier for Athena integration.
        dataSynchronizer:
          $ref: '#/components/schemas/IntegrationDataSynchronizerType'
          title: Data Synchronizer
          description: >-
            Identifier for the data synchronizer associated with this Athena
            source.
          default: xcaliber_health
        ehrTenantId:
          anyOf:
            - type: string
            - type: 'null'
          title: EHR Tenant ID
          description: >-
            EHR Tenant identifier sent as the x-tenant-id request header in API
            calls.
        ehrInstance:
          anyOf:
            - type: string
            - type: 'null'
          title: EHR Instance
          description: >-
            EHR instance identifier sent as the X-Ehr-Instance request header in
            API calls.
        apiKey:
          anyOf:
            - type: string
            - type: 'null'
          title: API Key
          description: >-
            API key for authenticating with ECW. This is required if authType is
            set to 'basic'.
        branding:
          anyOf:
            - $ref: '#/components/schemas/IntegrationBranding'
            - type: 'null'
          title: Branding Assets
          description: >-
            Give your brand identity and select theme colors for a personalized
            experience.
        insurance:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsurance'
            - type: 'null'
          title: Insurance Configuration
          description: >-
            Configuration details for the insurance organization associated with
            this integration. This includes the organization's name and NPI,
            which are essential for insurance verification processes.
      type: object
      title: Athena Integration
      description: Athena API key-based integration configuration.
    IntegrationECWConfig-Output:
      properties:
        baseUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Base Url
          description: Base URL path/domain for the Integration Client Requests.
          default: ''
        authKey:
          anyOf:
            - type: string
            - type: 'null'
          title: Authorization Key Name
          description: Key name used for authorization in API requests.
          default: Authorization
        authAddTo:
          anyOf:
            - type: string
              enum:
                - headers
                - query
            - type: 'null'
          title: Authorization Key Location
          description: >-
            Where to include the key-value pair in API requests (headers or
            query).
          default: headers
        clientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Client ID
          description: OAuth2 client identifier issued by the authorization server.
          default: ''
        clientSecret:
          anyOf:
            - type: string
            - type: 'null'
          title: Client Secret
          description: Confidential client secret used together with the client ID.
          input_field_type: password
        audience:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Audience
          description: >-
            OAuth2 audience / API identifier for which the access token is
            requested. 
          default: ''
        grantType:
          type: string
          const: client_credentials
          title: Grant Type
          description: OAuth2 grant type used when requesting the access token.
          default: client_credentials
        scopes:
          anyOf:
            - type: string
            - type: 'null'
          title: Scopes
          description: >-
            Space-separated list of OAuth2 scopes requested for the access
            token.
          default: read:all write:all
        tokenUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Token URL
          description: URL used to obtain the OAuth2 token for the Integration Client.
          default: ''
          input_field_type: external_url_link
        provider:
          type: string
          const: ecw
          title: Provider
          description: Integration provider identifier. Always 'ecw'.
          default: ecw
          input_field_not_visible: true
        isSandbox:
          anyOf:
            - type: boolean
            - type: 'null'
          title: Is Sandbox
          description: >-
            Indicates if the integration is in sandbox mode. Turn off for
            production use. For Sandbox mode we will sync limited data for easy
            testing.
          default: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: Authentication type used for this integration (basic or oauth).
          default: basic
          input_field_not_visible: true
        sourceId:
          anyOf:
            - type: string
            - type: 'null'
          title: Source ID
          description: Unique source identifier for ECW integration.
        connectorId:
          anyOf:
            - type: string
            - type: 'null'
          title: Connector ID
          description: Unique connector identifier for ECW integration.
        dataSynchronizer:
          $ref: '#/components/schemas/IntegrationDataSynchronizerType'
          title: Data Synchronizer
          description: >-
            Identifier for the data synchronizer associated with this ECW
            source.
          default: xcaliber_health
        ehrTenantId:
          anyOf:
            - type: string
            - type: 'null'
          title: EHR Tenant ID
          description: >-
            EHR Tenant identifier sent as the x-tenant-id request header in API
            calls.
        ehrInstance:
          anyOf:
            - type: string
            - type: 'null'
          title: EHR Instance
          description: >-
            EHR instance identifier sent as the X-Ehr-Instance request header in
            API calls.
        apiKey:
          anyOf:
            - type: string
            - type: 'null'
          title: API Key
          description: >-
            API key for authenticating with ECW. This is required if authType is
            set to 'basic'.
        branding:
          anyOf:
            - $ref: '#/components/schemas/IntegrationBranding'
            - type: 'null'
          title: Branding Assets
          description: >-
            Give your brand identity and select theme colors for a personalized
            experience.
        insurance:
          anyOf:
            - $ref: '#/components/schemas/IntegrationInsurance'
            - type: 'null'
          title: Insurance Configuration
          description: >-
            Configuration details for the insurance organization associated with
            this integration. This includes the organization's name and NPI,
            which are essential for insurance verification processes.
        utm:
          anyOf:
            - $ref: '#/components/schemas/IntegrationUTMDetails'
            - type: 'null'
          title: UTM Details
          description: >-
            UTM details associated with this integration. This includes the UTM
            source, medium, and campaign IDs.
      type: object
      title: ECW Integration
      description: ECW API key-based integration configuration.
    IntegrationGoogleConfig:
      properties:
        scope:
          anyOf:
            - type: string
            - type: 'null'
          title: Scope
          description: List of permission scopes authorized for the integration.
          input_field_not_visible: true
          input_field_type: password
        accessToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Access Token
          description: Access token issued by the provider.
          input_field_not_visible: true
          input_field_type: password
        refreshToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Refresh Token
          description: Refresh token for obtaining a new access token.
          input_field_not_visible: true
          input_field_type: password
        tokenType:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Type
          description: Type of token, e.g., 'Bearer'.
          input_field_not_visible: true
        expiresAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expires At
          description: >-
            Expiration time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        connectedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Connected At
          description: >-
            Connection time of the OAuth integration in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        renewedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Renewed At
          description: >-
            Last renewal time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        errorMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
          description: Error message if token exchange or renewal failed.
        provider:
          type: string
          const: google
          title: Provider
          description: Integration provider identifier. Always 'google'.
          default: google
          input_field_not_visible: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: Authentication type used for this integration (basic or oauth).
          default: oauth
          input_field_not_visible: true
        authUserEmail:
          anyOf:
            - type: string
            - type: 'null'
          title: Email Address
          description: Email address associated with the connected Google account.
          input_field_not_visible: true
        authUserName:
          anyOf:
            - type: string
            - type: 'null'
          title: Your Name
          description: Display name of the connected Google account user.
      type: object
      title: Google Integration
      description: Google OAuth-based integration configuration.
    IntegrationSlackConfig:
      properties:
        scope:
          anyOf:
            - type: string
            - type: 'null'
          title: Scope
          description: List of permission scopes authorized for the integration.
          input_field_not_visible: true
          input_field_type: password
        accessToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Access Token
          description: Access token issued by the provider.
          input_field_not_visible: true
          input_field_type: password
        refreshToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Refresh Token
          description: Refresh token for obtaining a new access token.
          input_field_not_visible: true
          input_field_type: password
        tokenType:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Type
          description: Type of token, e.g., 'Bearer'.
          input_field_not_visible: true
        expiresAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Expires At
          description: >-
            Expiration time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        connectedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Connected At
          description: >-
            Connection time of the OAuth integration in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        renewedAt:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Renewed At
          description: >-
            Last renewal time of the access token in ISO 8601 format. Ex:
            2023-10-05T14:48:00.000Z
          input_field_not_visible: true
        errorMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Error Message
          description: Error message if token exchange or renewal failed.
        provider:
          type: string
          const: slack
          title: Provider
          description: Integration provider identifier. Always 'slack'.
          default: slack
          input_field_not_visible: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: Authentication type used for this integration (basic or oauth).
          default: oauth
          input_field_not_visible: true
        botUserId:
          anyOf:
            - type: string
            - type: 'null'
          title: Bot User ID
          description: Slack bot user ID associated with this app.
        appId:
          anyOf:
            - type: string
            - type: 'null'
          title: App ID
          description: Slack app ID of the connected application.
        authedTeam:
          anyOf:
            - $ref: '#/components/schemas/IntegrationSlackTeam'
            - type: 'null'
          title: Authorized Team
          description: Slack team/workspace details.
        authedUser:
          anyOf:
            - $ref: '#/components/schemas/IntegrationSlackUser'
            - type: 'null'
          title: Authorized User
          description: Slack user who authorized the connection.
      type: object
      title: Slack Integration
      description: Slack OAuth-based integration configuration.
    IntegrationOktaConfig:
      properties:
        baseUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Base Url
          description: Base URL path/domain for the Integration Client Requests.
          default: ''
        authKey:
          anyOf:
            - type: string
            - type: 'null'
          title: Authorization Key Name
          description: Key name used for authorization in API requests.
          default: Authorization
        authAddTo:
          anyOf:
            - type: string
              enum:
                - headers
                - query
            - type: 'null'
          title: Authorization Key Location
          description: >-
            Where to include the key-value pair in API requests (headers or
            query).
          default: headers
        clientId:
          anyOf:
            - type: string
            - type: 'null'
          title: Client ID
          description: OAuth2 client identifier issued by the authorization server.
          default: ''
        clientSecret:
          anyOf:
            - type: string
            - type: 'null'
          title: Client Secret
          description: Confidential client secret used together with the client ID.
          input_field_type: password
        audience:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Audience
          description: >-
            OAuth2 audience / API identifier for which the access token is
            requested. 
          default: ''
        grantType:
          type: string
          const: client_credentials
          title: Grant Type
          description: OAuth2 grant type used when requesting the access token.
          default: client_credentials
        scopes:
          anyOf:
            - type: string
            - type: 'null'
          title: Scopes
          description: >-
            Space-separated list of OAuth2 scopes requested for the access
            token.
          default: read:all write:all
        tokenUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Integration Client Token URL
          description: URL used to obtain the OAuth2 token for the Integration Client.
          default: ''
          input_field_type: external_url_link
        provider:
          type: string
          const: okta
          title: Provider
          description: Integration provider identifier. Always 'okta'.
          default: okta
          input_field_not_visible: true
        tokenRequestFormat:
          type: string
          enum:
            - form
            - json
          title: Token Request Format
          description: >-
            Format for the token request payload. 'form' for form-encoded,
            'json' for JSON.
          default: form
          input_field_not_visible: true
        authType:
          $ref: '#/components/schemas/IntegrationAuthType'
          title: Authentication Type
          description: Authentication type used for this integration.
          default: basic
          input_field_not_visible: true
      type: object
      title: Okta Integration
      description: >-
        Okta client-credentials integration configuration for obtaining bearer
        tokens.
    IntegrationAuthType:
      type: string
      enum:
        - basic
        - oauth
        - oauth2
      title: IntegrationAuthType
      description: Defines the authentication type used for the integration.
    IntegrationDataSynchronizerType:
      type: string
      enum:
        - xcaliber_health
        - interactly_ehr_gateway
        - ellkay
        - direct_athena
      title: Data Synchronizer Type
      description: Defines the type of data synchronization.
      x-enumTitles:
        direct_athena: Direct Athena
        ellkay: Ellkay
        interactly_ehr_gateway: Interactly EHR Gateway
        xcaliber_health: Xcaliber Health
    IntegrationBranding:
      properties:
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Brand Name
          description: Name of the integration as it should appear in the UI.
        logoUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Logo URL
          description: >-
            URL to the logo image of the integration. You can provide any static
            image URL.
          input_field_type: external_url_link
        iconUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Icon URL
          description: >-
            URL to the favicon representing the integration. You can provide any
            static image URL.
          input_field_type: external_url_link
        primaryColor:
          anyOf:
            - type: string
            - type: 'null'
          title: Primary Color
          description: >-
            Hex code or color name representing the primary brand color of the
            integration.
          input_field_type: color_section
        supportNumber:
          anyOf:
            - type: string
            - type: 'null'
          title: Support Contact Number
          description: Contact phone number for support related to the integration.
        supportEmail:
          anyOf:
            - type: string
            - type: 'null'
          title: Support Contact Email
          description: Contact email address for support related to the integration.
        receiverEmails:
          items:
            type: string
          type: array
          title: Receiver Emails
          description: >-
            List of email addresses that should receive notifications related to
            the integration.
        subDomain:
          anyOf:
            - type: string
            - type: 'null'
          title: Interactly's Sub Domain
          description: >-
            Sub Domain for this integration, ex: ehr-client. So we create
            https://ehr-client.interactly.ai Route53 CNAME record pointing to
            interactly.ai. It should be unique across all integrations.
        templateId:
          $ref: '#/components/schemas/IntegrationUITemplates'
          title: EHR UI Template
          description: >-
            Select a template for the EHR web session UI to customize the look
            and feel.
          default: scheduling-session-v2
        disclaimerMessage:
          anyOf:
            - type: string
            - type: 'null'
          title: Disclaimer Message
          description: Custom disclaimer message to be displayed during the web session.
        websiteUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Website URL
          description: >-
            Official website URL of the integration or organization. We will use
            this site for redirection links.
          input_field_type: external_url_link
        privacyPolicyUrl:
          anyOf:
            - type: string
            - type: 'null'
          title: Privacy Policy and Terms URL
          description: >-
            Official privacy policy and terms URL of the integration or
            organization. We will use this site for redirection links.
          input_field_type: external_url_link
      type: object
      title: Branding Assets
    IntegrationInsurance:
      properties:
        organizationName:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Organization Name
          description: >-
            Name of the insurance organization associated with this integration.
            Stedi will use this information when processing insurance
            verifications.
        organizationNpi:
          anyOf:
            - type: string
            - type: 'null'
          title: Insurance Organization NPI
          description: >-
            NPI of the insurance organization associated with this integration.
            Stedi will use this information when processing insurance
            verifications.
        stediApiKey:
          anyOf:
            - type: string
            - type: 'null'
          title: Stedi API Key
          description: >-
            Per-integration Stedi API key. Used for eligibility checks. Falls
            back to the platform-wide STEDI_TEST_API_KEY / STEDI_PROD_API_KEY
            env vars (chosen by sandbox flag) when blank.
          input_field_type: password
      type: object
      title: Insurance Configuration
    IntegrationUTMDetails:
      properties:
        utm_source_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Source ID
          description: >-
            UTM source label id for miscellaneous-information-item. This is used
            to track the source of traffic for the integration.
        utm_medium_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Medium ID
          description: >-
            UTM medium label id for miscellaneous-information-item. This is used
            to track the medium of traffic for the integration.
        utm_campaign_id:
          anyOf:
            - type: string
            - type: 'null'
          title: UTM Campaign ID
          description: >-
            UTM campaign label id for miscellaneous-information-item. This is
            used to track the campaign of traffic for the integration.
      type: object
      title: Integration UTM Details
    IntegrationSlackTeam:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: Team ID
          description: Slack workspace/team ID.
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Team Name
          description: Name of the Slack workspace/team.
      type: object
      title: Slack Team
      description: Slack team details.
    IntegrationSlackUser:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          title: User ID
          description: Slack user ID.
        scope:
          anyOf:
            - items:
                type: string
              type: array
            - type: 'null'
          title: User Scopes
          description: Scopes authorized for the user.
        accessToken:
          anyOf:
            - type: string
            - type: 'null'
          title: Access Token
          description: Access token for the authenticated Slack user.
        tokenType:
          anyOf:
            - type: string
            - type: 'null'
          title: Token Type
          description: Type of token, e.g., 'Bearer'.
      type: object
      title: Slack User
      description: Slack user authentication details.
    IntegrationUITemplates:
      type: string
      enum:
        - scheduling-session-v2
      title: IntegrationUITemplates
      description: Defines the UI templates available for integrations.
      x-enumTitles:
        scheduling-session-v2: Scheduling Session V2
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: Bearer
      type: http
      description: >-
        Retrieve your API Key from [Dashboard API Keys
        Section](https://dashboard-qa.interactly.ai/api-keys).

````