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

# Programme la campagne

> Programme la campagne ; la date doit être à venir



## OpenAPI

````yaml /api-reference/openapi.json post /api/v1/campaigns/{campaignId}/schedule
openapi: 3.1.0
info:
  title: API DexNotify
  version: '1'
  description: >-
    SMS, e-mail, WhatsApp, notifications push, contacts et campagnes, par une
    seule API. Authentification par clé API dans l’en-tête `x-api-key`.
servers:
  - url: https://api.dexnotify.com
    description: Production et staging
security:
  - api-key: []
tags:
  - name: SMS
  - name: E-mail
  - name: WhatsApp
  - name: Contacts
  - name: Listes de contacts
  - name: Campagnes
  - name: Modèles e-mail
  - name: Automatisations
  - name: Notifications push
  - name: Campagnes push
  - name: Journal des messages
  - name: In-app
  - name: Live Activities
  - name: Utilisateurs et appareils
  - name: Segments
  - name: Modèles push
  - name: Événements
  - name: Statistiques
paths:
  /api/v1/campaigns/{campaignId}/schedule:
    post:
      tags:
        - Campagnes push
      summary: Programme la campagne ; la date doit être à venir
      operationId: CampaignsController_schedule_v1
      parameters:
        - name: campaignId
          required: true
          in: path
          schema:
            type: string
        - name: idempotency-key
          in: header
          description: >-
            Clé de rejeu propre à une intention. Tant que l’action qu’elle porte
            est la dernière appliquée, un appel qui la répète rend la campagne
            telle que le premier l’a laissée, sans refranchir la transition ni
            republier — y compris si les deux appels arrivent en même temps.
            Au-delà, la clé n’est plus reconnue : une reprise qui suit une autre
            action est jugée comme une intention neuve par la machine à états,
            et refusée par 409 si l’état atteint ne la permet plus.
          required: false
          schema:
            type: string
            minLength: 8
            maxLength: 255
      requestBody:
        required: true
        content:
          application/json:
            schema:
              default: {}
              type: object
              properties:
                scheduledAt:
                  type: string
                  format: date-time
                  pattern: >-
                    ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:\.\d+)?(?:Z))$
      responses:
        '409':
          description: Transition interdite par la machine à états de la campagne
      security:
        - api-key: []
components:
  securitySchemes:
    api-key:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Clé API du projet, créée dans le dashboard (Développeurs › Clés API et
        SDK). Une clé `dxn_prod_` vise la production, une clé `dxn_stag_` le
        staging.

````

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