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

# Envoyer un code OTP

> Envoie un code OTP via SMS ou email



## OpenAPI

````yaml https://api.notiline.net/docs post /otp/send
openapi: 3.0.0
info:
  title: Notiline API Documentation
  description: >-
    Documentation complète de l'API Notiline. Fournit des informations sur les
    endpoints, les paramètres, et les réponses.
  contact:
    name: Support Notiline
    email: support@notiline.net
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
  version: 1.0.0
servers: []
security:
  - BearerAuth: []
tags:
  - name: Solde
    description: Opérations de solde
  - name: Contact
    description: Gestion des contacts
  - name: Groupe
    description: Gestion des groupes
  - name: HLR Lookup
    description: Service de recherche HLR
  - name: Métrique
    description: Opérations de métriques
  - name: Campagne
    description: Campagne SMS
  - name: Account
    description: Account
  - name: Otp
    description: Otp
  - name: Expéditeur
    description: Expéditeur
  - name: SMS
    description: SMS
paths:
  /otp/send:
    post:
      tags:
        - Otp
      summary: Envoyer un code OTP
      description: Envoie un code OTP via SMS ou email
      operationId: 6f521cacf3743ef966a9a07ed4a68e9f
      requestBody:
        required: true
        content:
          application/json:
            schema:
              properties:
                channel:
                  description: Canal d'envoi (SMS ou EMAIL)
                  type: string
                  enum:
                    - SMS
                    - EMAIL
                  example: SMS
                sender:
                  description: Nom de l'expéditeur
                  type: string
                  example: NOTILINE
                  nullable: true
                to:
                  description: Destinataire
                  type: string
                  example: '+2250709538217'
                  nullable: false
                message:
                  description: Message
                  type: string
                  example: 'Bonjour, votre code de vérification est ##OTP##'
                  nullable: true
                otp_type:
                  description: Type de code OTP (numérique ou alphanumérique)
                  type: string
                  enum:
                    - numeric
                    - alphanumeric
                  example: numeric
                  nullable: true
                otp_length:
                  description: Longueur du code OTP
                  type: integer
                  maximum: 6
                  minimum: 4
                  example: 4
                  nullable: true
                otp_expiry:
                  description: Durée de vie du code OTP
                  type: integer
                  maximum: 3600
                  minimum: 60
                  example: 300
                  nullable: true
                use_local_number:
                  description: Utiliser un numéro local
                  type: boolean
                  example: false
                  nullable: true
                application_name:
                  description: Nom de l'application
                  type: string
                  example: Mon application
                  nullable: true
                language:
                  description: Langue du message
                  type: string
                  enum:
                    - fr
                    - en
                    - es
                    - pt
                  example: fr
                  nullable: true
              type: object
      responses:
        '200':
          description: Code OTP envoyé avec succès
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: integer
                    example: 200
                  message:
                    type: string
                    example: succès
                  data:
                    properties:
                      uniq_id:
                        description: Identifiant unique du code OTP
                        type: string
                        example: A1B2C3D4E5F6
                      code:
                        description: Code OTP envoyé
                        type: string
                        example: '1234'
                      expires_at:
                        description: Date d'expiration du code OTP
                        type: integer
                        example: 1643723400
                    type: object
                type: object
        '400':
          description: Erreur de validation
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: integer
                    example: 400
                  message:
                    type: string
                    example: erreur_de_validation
                  errors:
                    type: array
                    items:
                      type: string
                      example: Le champ to doit être une adresse e-mail valide.
                type: object
        '401':
          description: Erreur d'authentification
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: integer
                    example: 401
                  message:
                    type: string
                    example: Non autorisé
                type: object
        '402':
          description: Solde insuffisant
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: integer
                    example: 402
                  message:
                    type: string
                    example: solde_insuffisant
                  data:
                    properties:
                      costs:
                        description: Coût de l'envoi
                        type: number
                        format: float
                        example: 0.5
                      balance:
                        description: Solde actuel
                        type: number
                        format: float
                        example: 0
                    type: object
                type: object
        '500':
          description: Erreur serveur
          content:
            application/json:
              schema:
                properties:
                  status:
                    type: integer
                    example: 500
                  message:
                    type: string
                    example: erreur_application
                type: object
      security:
        - bearerAuth: []
components:
  securitySchemes:
    BearerAuth:
      type: apiKey
      in: header
      name: Authorization
      description: API Key passed in the Authorization Bearer Token
    bearerAuth:
      type: http
      bearerFormat: JWT
      scheme: bearer

````