Rechercher dans la documentation

Saisissez au moins deux caractères.

↑ ↓ naviguer↵ ouvriresc fermer
Référence API

API : devices

2 opérations REST du groupe devices.

Référence générée depuis le contrat versionné · Version Markdown

POST /devices#

Enregistrer l'appareil pour le push (idempotent par token)

Contexte utilisateur uniquement. Sans adaptateur push configuré sur l'instance, l'enregistrement reste accepté mais aucun envoi n'a lieu (ADR-108).

Scopes d'app : voir sécurité de l’opération. Les autres droits, périmètres et contrôles métier restent applicables.

Corps de requête

application/json

ChampTypeObligatoireDescription
platformstringOui Valeurs : ios, android
pushTokenstringOui
Schéma complet du corps
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "platform": {
      "type": "string",
      "enum": [
        "ios",
        "android"
      ]
    },
    "pushToken": {
      "type": "string"
    }
  },
  "required": [
    "platform",
    "pushToken"
  ]
}

Réponses

200 : Appareil enregistré

Contenu de la réponse 200
{
  "application/json": {
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
        },
        "registered": {
          "type": "boolean",
          "const": true
        }
      },
      "required": [
        "id",
        "registered"
      ],
      "additionalProperties": false
    }
  }
}

default : Erreur - enveloppe problem+json (RFC 9457)

Contenu de la réponse default
{
  "application/problem+json": {
    "schema": {
      "$ref": "#/components/schemas/Problem"
    }
  }
}
Opération OpenAPI complète
{
  "summary": "Enregistrer l'appareil pour le push (idempotent par token)",
  "description": "Contexte utilisateur uniquement. Sans adaptateur push configuré sur l'instance, l'enregistrement reste accepté mais aucun envoi n'a lieu (ADR-108).",
  "tags": [
    "mobile"
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "type": "object",
          "properties": {
            "platform": {
              "type": "string",
              "enum": [
                "ios",
                "android"
              ]
            },
            "pushToken": {
              "type": "string"
            }
          },
          "required": [
            "platform",
            "pushToken"
          ]
        }
      }
    }
  },
  "security": [
    {
      "oauth2": []
    },
    {
      "userSession": []
    }
  ],
  "responses": {
    "200": {
      "description": "Appareil enregistré",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "format": "uuid",
                "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$"
              },
              "registered": {
                "type": "boolean",
                "const": true
              }
            },
            "required": [
              "id",
              "registered"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "default": {
      "description": "Erreur - enveloppe problem+json (RFC 9457)",
      "content": {
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  }
}

DELETE /devices#

Révoquer un token d'appareil (logout) - no-op si inconnu

Scopes d'app : voir sécurité de l’opération. Les autres droits, périmètres et contrôles métier restent applicables.

Paramètres

NomEmplacementRequisSchéma
pushTokenqueryOui{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string"}

Aucun corps de requête déclaré dans ce contrat.

Réponses

200 : Token révoqué

Contenu de la réponse 200
{
  "application/json": {
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "type": "object",
      "properties": {
        "revoked": {
          "type": "boolean",
          "const": true
        }
      },
      "required": [
        "revoked"
      ],
      "additionalProperties": false
    }
  }
}

default : Erreur - enveloppe problem+json (RFC 9457)

Contenu de la réponse default
{
  "application/problem+json": {
    "schema": {
      "$ref": "#/components/schemas/Problem"
    }
  }
}
Opération OpenAPI complète
{
  "summary": "Révoquer un token d'appareil (logout) - no-op si inconnu",
  "tags": [
    "mobile"
  ],
  "parameters": [
    {
      "name": "pushToken",
      "in": "query",
      "required": true,
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "type": "string"
      }
    }
  ],
  "security": [
    {
      "oauth2": []
    },
    {
      "userSession": []
    }
  ],
  "responses": {
    "200": {
      "description": "Token révoqué",
      "content": {
        "application/json": {
          "schema": {
            "$schema": "https://json-schema.org/draft/2020-12/schema",
            "type": "object",
            "properties": {
              "revoked": {
                "type": "boolean",
                "const": true
              }
            },
            "required": [
              "revoked"
            ],
            "additionalProperties": false
          }
        }
      }
    },
    "default": {
      "description": "Erreur - enveloppe problem+json (RFC 9457)",
      "content": {
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/Problem"
          }
        }
      }
    }
  }
}