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

# Demander un code d'appareil

> First authentication step for devices without a keyboard (TV, etc.).

## Utilisation

Démarre un flux d’authentification par appareil. Cette opération est publique.

Aucune clé API n’est requise pour cette opération.

## Exemple

```bash theme={null}
curl -X POST -H "Content-Type: application/json" "https://dejavu.plus/api/v1/auth/device/code"
```

## Paramètres et réponse

Les paramètres, schémas de requête et réponses sont définis par la spécification OpenAPI affichée sur cette page.

## Erreurs

Consultez **Responses** pour les codes et formats d’erreur propres à l’opération.

## Notes

Le device code est destiné aux clients comme les extensions ou applications de salon.


## OpenAPI

````yaml POST /auth/device/code
openapi: 3.1.0
info:
  title: dejaVu API V1
  description: >-
    API publique dejaVu V1 pour intégrer la collection, l’historique, les
    favoris, les notes, la watchlist, le scrobble, les listes, les chaînes, les
    connecteurs et les fonctions d’intégration.
  version: 1.0.0
servers:
  - url: https://dejavu.plus/api/v1
    description: Production
security:
  - ApiKeyHeader: []
  - BearerAuth: []
tags:
  - name: Collection
    description: Gérez votre collection personnelle de films et séries vus ou possédés.
  - name: History
    description: Consultez et gérez votre historique de visionnage.
  - name: Favorites
    description: Ajoutez et retirez des films et séries de vos favoris.
  - name: Ratings
    description: Notez et rédigez des avis sur vos films, séries, saisons et épisodes.
  - name: Watchlist
    description: Gérez votre liste de contenus à regarder.
  - name: Scrobble
    description: Suivez la progression de lecture en temps réel.
  - name: Up Next
    description: Obtenez les prochains épisodes à regarder pour les séries que vous suivez.
  - name: Lists
    description: Créez et gérez des listes personnalisées de films et séries.
  - name: Dashboard
    description: Expose la configuration du tableau de bord et le contenu des widgets.
  - name: User
    description: Informations de compte et statistiques.
  - name: Auth
    description: Authentification des appareils et gestion des jetons.
  - name: Channels
    description: Chaînes et univers accessibles à l’utilisateur.
  - name: Connectors
    description: Connecteurs utilisés par l’extension navigateur.
  - name: Kodi
    description: Import de bibliothèques Kodi.
  - name: Media
    description: Résolution et statut de médias.
paths:
  /auth/device/code:
    post:
      tags:
        - Auth
      summary: Demander un code d'appareil (Device Flow)
      description: >-
        Première étape de l'authentification pour les appareils sans clavier
        (TV, etc.).
      operationId: requestDeviceCode
      requestBody:
        required: false
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceCodeRequest'
            example:
              client_id: kodi
              client_name: dejaVu Kodi
      responses:
        '200':
          description: Codes générés
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceCodeResponse'
        '429':
          description: Trop de demandes depuis cette adresse IP.
        '500':
          description: Erreur serveur
      security: []
components:
  schemas:
    DeviceCodeRequest:
      type: object
      properties:
        client_id:
          type: string
          maxLength: 64
        client_name:
          type: string
          maxLength: 64
    DeviceCodeResponse:
      type: object
      required:
        - device_code
        - user_code
        - verification_uri
        - verification_uri_complete
        - expires_in
        - interval
      properties:
        device_code:
          type: string
        user_code:
          type: string
        verification_uri:
          type: string
          format: uri
        verification_uri_complete:
          type: string
          format: uri
        expires_in:
          type: integer
          example: 300
        interval:
          type: integer
          example: 5
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: x-api-key
      description: Clé API dejaVu. pk_* = lecture seule ; sk_* = lecture et écriture.
    BearerAuth:
      type: http
      scheme: bearer
      description: 'Clé API dejaVu envoyée dans Authorization: Bearer <key>.'

````