> ## 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.

# Approve a device

> Called from the user account. Requires the dejaVu browser session.

## Usage

Approves a pending device authorization request for the signed-in dejaVu user.

This operation requires an authenticated dejaVu session. An API key is not used for this operation.

## Example

```bash theme={null}
curl -X POST -H "Content-Type: application/json" \
  -H "Cookie: <DEJAVU_SESSION>" \
  -d '{"user_code":"USER_CODE"}' \
  "https://dejavu.plus/api/v1/auth/device/approve"
```

## Parameters and response

The request body and responses are defined by the OpenAPI specification displayed on this page.

## Errors

See **Responses** for the operation-specific error codes and formats.

## Notes

The approval is performed in the authenticated dejaVu user session.


## OpenAPI

````yaml POST /auth/device/approve
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/approve:
    post:
      tags:
        - Auth
      summary: Approuver le code utilisateur
      description: >-
        Appelé depuis le compte utilisateur. Requiert la session dejaVu du
        navigateur.
      operationId: approveDeviceCode
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - user_code
              properties:
                user_code:
                  type: string
            example:
              user_code: ABCD-1234
      responses:
        '200':
          description: Appareil autorisé avec succès
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    default: true
        '400':
          description: Code invalide ou expiré.
        '401':
          $ref: '#/components/responses/Unauthorized'
          description: Authentification absente, invalide ou clé API non autorisée.
      security:
        - SessionCookie: []
components:
  responses:
    Unauthorized:
      description: >-
        Authentification requise. Utilisez le header x-api-key ou Authorization:
        Bearer <key>.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: UNAUTHORIZED
            message: API key is missing or invalid.
  schemas:
    Error:
      type: object
      required:
        - error
        - message
      properties:
        error:
          type: string
          description: Code d'erreur machine-readable
        message:
          type: string
          description: Description lisible de l'erreur
  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>.'
    SessionCookie:
      type: apiKey
      in: cookie
      name: better-auth.session_token
      description: >-
        Session utilisateur dejaVu utilisée par l’approbation du Device Flow
        dans le navigateur.

````