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

# Programmer un statut

> Programmez la publication d'un statut en one-shot après un délai

Même règles d'audience que [Publier un statut](/api-reference/status/send) :
précisez `statusJidList` ou `audience: "all_contacts"` à l'intérieur de
`payload`, sinon personne ne verra le statut publié.

Utilisez `sendAt` (date ISO 8601 précise) plutôt que `delayMs` — c'est le
mode recommandé, `sendAt` est prioritaire si les deux sont fournis.

<Warning>
  `sendAt` doit **toujours inclure un fuseau explicite** (`Z` pour UTC, ou un
  offset `+HH:MM`/`-HH:MM`). Sans ça, la date est interprétée dans le fuseau
  du **serveur**, pas le vôtre.

  Exemple concret — Bénin (UTC+1, pas d'heure d'été) : pour publier à **19h
  heure du Bénin**, écrivez soit `2026-05-21T19:00:00+01:00` (offset
  explicite), soit son équivalent UTC `2026-05-21T18:00:00Z`. Les deux
  produisent exactement le même résultat.
</Warning>


## OpenAPI

````yaml api-reference/openapi.json POST /sessions/{sessionId}/status/schedule
openapi: 3.1.0
info:
  title: WaaConnect API
  description: >-
    API WhatsApp multi-sessions de WaaConnect. Toutes les routes de messagerie
    sont préfixées par /sessions/:sessionId/ et nécessitent le header x-api-key.
  version: 1.0.0
servers:
  - url: https://api.waaconnect.com/v1
security:
  - apiKey: []
paths:
  /sessions/{sessionId}/status/schedule:
    post:
      tags:
        - Status
      summary: Programmer un statut (one-shot)
      description: >-
        Programme la publication d'un statut à une date précise (sendAt,
        recommandé) ou après un délai (delayMs). Même règles d'audience que
        /status/send, à l'intérieur de payload.
      parameters:
        - name: sessionId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - payload
              properties:
                payload:
                  type: object
                  description: Même structure que le corps de /status/send
                  required:
                    - type
                  properties:
                    type:
                      type: string
                      enum:
                        - text
                        - image
                        - video
                        - audio
                    text:
                      type: string
                      description: Requis si type=text
                    url:
                      type: string
                      description: URL publique du média, requis si type != text
                    caption:
                      type: string
                      description: Légende (image/vidéo)
                    backgroundColor:
                      type: string
                      description: Couleur de fond hex, statuts texte uniquement
                      example: '#111B21'
                    statusJidList:
                      type: array
                      description: Audience personnalisée. Prioritaire sur audience.
                      items:
                        type: string
                    audience:
                      type: string
                      enum:
                        - all_contacts
                      description: Diffuse à tous les contacts déjà synchronisés
                sendAt:
                  type: string
                  description: >-
                    Date d'envoi précise ISO 8601, prioritaire sur delayMs
                    (recommandé). Toujours avec fuseau explicite (Z ou +HH:MM) —
                    sans offset, la date est interprétée dans le fuseau du
                    serveur, pas le vôtre. Ex: 19h heure du Bénin (UTC+1) =
                    2026-05-21T19:00:00+01:00, équivalent à
                    2026-05-21T18:00:00Z.
                  example: '2026-05-21T18:00:00Z'
                delayMs:
                  type: integer
                  description: >-
                    Délai avant publication en millisecondes, alternatif à
                    sendAt
            examples:
              sendAt:
                summary: Date précise (recommandé)
                value:
                  payload:
                    type: text
                    text: Rappel de rendez-vous
                    audience: all_contacts
                  sendAt: '2026-05-21T18:00:00Z'
              delayMs:
                summary: Délai relatif
                value:
                  payload:
                    type: text
                    text: Status dans 5 minutes
                    audience: all_contacts
                  delayMs: 300000
      responses:
        '200':
          description: Statut programmé
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                  scheduledInMs:
                    type: integer
                  sendAt:
                    type: string
              example:
                ok: true
                scheduledInMs: 300000
                sendAt: '2026-05-21T18:05:00.000Z'
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````