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

# Recheck WhatsApp coexistence activation

> Use only for a requested recheck of an existing WhatsApp coexistence channel. Calls the native finalization path, which may update activation and provider state. Read saved waConnectionMode and waActivationStatus first; this is not a generic health read. ready/pending_finalization/failed is activation status, not guest delivery. Reconcile channel state before repeating an uncertain write. Requires `channels:manage:write`.



## OpenAPI

````yaml /openapi.json post /channels/{channelId}/whatsapp/coexistence/recheck
openapi: 3.0.3
info:
  title: Visito M2M API
  version: 1.0.0
  description: >-
    Tenant-scoped server-to-server API for channels, conversations, commerce,
    custom AI tools, and WhatsApp templates. Send operations are asynchronous
    and return queued acknowledgements. Expansion adds conversation controls,
    knowledge, sales opportunities, delivery status, reporting, and signed
    webhooks.
servers:
  - url: https://platform-api.visitoai.com/m2m/v1
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Channels
  - name: Conversations
  - name: Commerce
  - name: Custom tools
  - name: WhatsApp templates
  - name: Properties
  - name: Knowledge
  - name: Sales CRM
  - name: Delivery
  - name: Reporting
  - name: Webhooks
paths:
  /channels/{channelId}/whatsapp/coexistence/recheck:
    post:
      tags:
        - Channels
      summary: Recheck WhatsApp coexistence activation
      description: >-
        Use only for a requested recheck of an existing WhatsApp coexistence
        channel. Calls the native finalization path, which may update activation
        and provider state. Read saved waConnectionMode and waActivationStatus
        first; this is not a generic health read.
        ready/pending_finalization/failed is activation status, not guest
        delivery. Reconcile channel state before repeating an uncertain write.
        Requires `channels:manage:write`.
      operationId: recheck_whatsapp_channel_activation
      parameters:
        - name: channelId
          in: path
          required: true
          description: >-
            Stored channel.id from list_channels or get_channel. Provider page,
            phone, account and WABA IDs are not this ID.
          schema:
            type: string
            pattern: ^[a-fA-F0-9]{24}$
      responses:
        '200':
          description: Recheck WhatsApp coexistence activation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelCoexistenceRecheck'
        default:
          $ref: '#/components/responses/Error'
      security:
        - bearerAuth: []
components:
  schemas:
    ChannelCoexistenceRecheck:
      type: object
      properties:
        ok:
          type: boolean
        status:
          type: string
        channel:
          $ref: '#/components/schemas/Channel'
        reason:
          type: string
      additionalProperties: false
      required:
        - ok
        - status
        - channel
    Channel:
      type: object
      required:
        - id
        - tenantId
        - propertyIds
        - provider
        - type
        - active
        - respondEnabled
        - degraded
        - identifiers
        - createdAt
        - updatedAt
      properties:
        id:
          type: string
        tenantId:
          type: string
        propertyId:
          type: string
        propertyIds:
          type: array
          items:
            type: string
        provider:
          type: string
          enum:
            - meta
            - native
            - tiktok
        type:
          type: string
          enum:
            - whatsapp
            - instagram
            - messenger
            - webchat
            - tiktok
        name:
          type: string
        active:
          type: boolean
        respondEnabled:
          type: boolean
        degraded:
          type: boolean
        identifiers:
          type: object
          properties:
            phoneNumberId:
              type: string
            phoneNumber:
              type: string
            wabaId:
              type: string
            igAccountId:
              type: string
            pageId:
              type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        externalId:
          type: string
        appId:
          type: string
        metaAppKey:
          type: string
        igGraphApi:
          type: string
        waConnectionMode:
          type: string
        waActivationStatus:
          type: string
        tokenStatus:
          type: string
        tokenRefreshErrorCode:
          type: string
        degradedCode:
          type: string
        degradedByService:
          type: string
        expiresAt:
          type: string
          format: date-time
        tokenLastRefreshedAt:
          type: string
          format: date-time
        tokenRefreshErrorAt:
          type: string
          format: date-time
        degradedAt:
          type: string
          format: date-time
        degradedWindowStartedAt:
          type: string
          format: date-time
        degradedLastErrorAt:
          type: string
          format: date-time
        waActivationUpdatedAt:
          type: string
          format: date-time
        degradedSignalCount:
          type: integer
        instagramResponsePolicy:
          type: object
          properties:
            storyMentions:
              type: boolean
            storyReplies:
              type: boolean
          additionalProperties: false
          required:
            - storyMentions
            - storyReplies
      additionalProperties: false
      description: >-
        Saved channel configuration and readiness signals. Active/respondEnabled
        do not prove provider readiness or message delivery. Error codes are
        safe diagnostics; raw provider error text and credentials are omitted.
    ErrorResponse:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              example: M2M_AUTH_INSUFFICIENT_SCOPE
            message:
              type: string
            details:
              type: object
              additionalProperties: true
      example:
        error:
          code: M2M_AUTH_INSUFFICIENT_SCOPE
          message: M2M credential does not have required scope.
          details:
            requiredScopes:
              - conversations:write
            missingScopes:
              - conversations:write
  responses:
    Error:
      description: Structured error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Visito M2M API key
      description: Server-side tenant-scoped credential created from Build > API Keys.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.