Référence API
API : devices
2 opérations REST du groupe devices.
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
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
platform | string | Oui | Valeurs : ios, android |
pushToken | string | Oui |
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
| Nom | Emplacement | Requis | Schéma |
|---|---|---|---|
pushToken | query | Oui | {"$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"
}
}
}
}
}
}