API : requests
5 opérations REST du groupe requests.
GET /requests#
Lister les requêtes (hors corbeille)
Scopes d'app : requests:read. Les autres droits, périmètres et contrôles métier restent applicables.
Paramètres
| Nom | Emplacement | Requis | Schéma |
|---|---|---|---|
cursor | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Curseur opaque de la page précédente","type":"string"} |
limit | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Taille de page - défaut 50, max 200 (clampé)","type":"integer","minimum":1,"maximum":9007199254740991} |
updatedSince | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","description":"ISO 8601 - objets modifiés depuis (inclusif), le filtre des syncs incrémentales","type":"string"} |
since | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Jours (1 à 365) - objets dans leur statut courant depuis plus de N jours (status_changed_at), combinable avec status (T-1407)","type":"integer","minimum":1,"maximum":365} |
status | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","enum":["new","in_progress","waiting_client","resolved","closed"]} |
priority | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string","enum":["low","normal","high"]} |
companyId | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string"} |
contactId | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string"} |
ownerId | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Id d'un commercial, ou `none` = non attribuées","type":"string"} |
quoteId | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","type":"string"} |
Aucun corps de requête déclaré dans ce contrat.
Réponses
200 : Page de requêtes
Contenu de la réponse 200
{
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"number": {
"type": "string"
},
"title": {
"type": "string"
},
"companyId": {
"type": [
"string",
"null"
]
},
"contactId": {
"type": [
"string",
"null"
]
},
"quoteId": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"status": {
"type": "string",
"enum": [
"new",
"in_progress",
"waiting_client",
"resolved",
"closed"
]
},
"ownerId": {
"type": [
"string",
"null"
]
},
"createdBy": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"statusChangedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"description": "Entrée dans le statut courant (T-1407)"
},
"mergedIntoId": {
"description": "#1058 : fermée par fusion dans cette requête (irréversible)",
"type": [
"string",
"null"
]
},
"possibleDuplicateOfId": {
"description": "#1058 : doublon possible d'une requête ouverte du même sujet et motif (moins de sept jours), marqué à la création, jamais fusionné d'office",
"type": [
"string",
"null"
]
},
"firstResponseDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de première réponse, en heures ouvrées depuis la création (null sans règle de délai)"
},
"resolutionDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de résolution, temps gelé en attente client ajouté"
},
"firstRespondedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : première réponse publique de l'équipe"
},
"slaPausedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : début du gel en attente client, null hors gel"
},
"slaBreached": {
"type": "boolean",
"description": "#1056 : une échéance est passée sans être tenue (dérivé à la lecture)"
}
},
"required": [
"id",
"number",
"title",
"companyId",
"contactId",
"quoteId",
"reason",
"priority",
"status",
"ownerId",
"createdBy",
"description",
"customFields",
"createdAt",
"updatedAt",
"statusChangedAt",
"mergedIntoId",
"possibleDuplicateOfId",
"firstResponseDueAt",
"resolutionDueAt",
"firstRespondedAt",
"slaPausedAt",
"slaBreached"
],
"additionalProperties": false
}
},
"nextCursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"data",
"nextCursor"
],
"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": "Lister les requêtes (hors corbeille)",
"tags": [
"Requêtes"
],
"parameters": [
{
"name": "cursor",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Curseur opaque de la page précédente",
"type": "string"
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Taille de page - défaut 50, max 200 (clampé)",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
{
"name": "updatedSince",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "ISO 8601 - objets modifiés depuis (inclusif), le filtre des syncs incrémentales",
"type": "string"
}
},
{
"name": "since",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Jours (1 à 365) - objets dans leur statut courant depuis plus de N jours (status_changed_at), combinable avec status (T-1407)",
"type": "integer",
"minimum": 1,
"maximum": 365
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "string",
"enum": [
"new",
"in_progress",
"waiting_client",
"resolved",
"closed"
]
}
},
{
"name": "priority",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "string",
"enum": [
"low",
"normal",
"high"
]
}
},
{
"name": "companyId",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "string"
}
},
{
"name": "contactId",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "string"
}
},
{
"name": "ownerId",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Id d'un commercial, ou `none` = non attribuées",
"type": "string"
}
},
{
"name": "quoteId",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "string"
}
}
],
"security": [
{
"oauth2": [
"requests:read"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Page de requêtes",
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"number": {
"type": "string"
},
"title": {
"type": "string"
},
"companyId": {
"type": [
"string",
"null"
]
},
"contactId": {
"type": [
"string",
"null"
]
},
"quoteId": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"status": {
"type": "string",
"enum": [
"new",
"in_progress",
"waiting_client",
"resolved",
"closed"
]
},
"ownerId": {
"type": [
"string",
"null"
]
},
"createdBy": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"statusChangedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"description": "Entrée dans le statut courant (T-1407)"
},
"mergedIntoId": {
"description": "#1058 : fermée par fusion dans cette requête (irréversible)",
"type": [
"string",
"null"
]
},
"possibleDuplicateOfId": {
"description": "#1058 : doublon possible d'une requête ouverte du même sujet et motif (moins de sept jours), marqué à la création, jamais fusionné d'office",
"type": [
"string",
"null"
]
},
"firstResponseDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de première réponse, en heures ouvrées depuis la création (null sans règle de délai)"
},
"resolutionDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de résolution, temps gelé en attente client ajouté"
},
"firstRespondedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : première réponse publique de l'équipe"
},
"slaPausedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : début du gel en attente client, null hors gel"
},
"slaBreached": {
"type": "boolean",
"description": "#1056 : une échéance est passée sans être tenue (dérivé à la lecture)"
}
},
"required": [
"id",
"number",
"title",
"companyId",
"contactId",
"quoteId",
"reason",
"priority",
"status",
"ownerId",
"createdBy",
"description",
"customFields",
"createdAt",
"updatedAt",
"statusChangedAt",
"mergedIntoId",
"possibleDuplicateOfId",
"firstResponseDueAt",
"resolutionDueAt",
"firstRespondedAt",
"slaPausedAt",
"slaBreached"
],
"additionalProperties": false
}
},
"nextCursor": {
"type": [
"string",
"null"
]
}
},
"required": [
"data",
"nextCursor"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /requests#
Créer une requête - numéro RQ- calculé serveur
Le sujet (société ou contact) doit être vivant ; le devis lié, s'il est fourni, doit cibler le même sujet. Sans ownerId : non attribuée (file commune).
Scopes d'app : requests:write. Les autres droits, périmètres et contrôles métier restent applicables.
Corps de requête
application/json
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
title | string | Non | Requis sans `emailMessageId` |
companyId | union | Non | |
contactId | union | Non | |
quoteId | union | Non | |
reason | string | Oui | |
priority | string | Non | Valeurs : low, normal, high |
ownerId | union | Non | |
description | union | Non | |
customFields | object | Non | |
emailMessageId | string | Non | #1060 : identifiant d'un email synchronisé (module Messagerie) : la requête naît de l'email (objet, corps, pièces jointes, sujet) ; un email déjà lié est refusé (409) |
Schéma complet du corps
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"description": "Requis sans `emailMessageId`",
"type": "string",
"minLength": 2,
"maxLength": 200
},
"companyId": {
"anyOf": [
{
"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)$"
},
{
"type": "null"
}
]
},
"contactId": {
"anyOf": [
{
"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)$"
},
{
"type": "null"
}
]
},
"quoteId": {
"anyOf": [
{
"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)$"
},
{
"type": "null"
}
]
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"ownerId": {
"anyOf": [
{
"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)$"
},
{
"type": "null"
}
]
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "null"
}
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 80
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"emailMessageId": {
"description": "#1060 : identifiant d'un email synchronisé (module Messagerie) : la requête naît de l'email (objet, corps, pièces jointes, sujet) ; un email déjà lié est refusé (409)",
"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)$"
}
},
"required": [
"reason"
],
"additionalProperties": false
}Réponses
201 : Requête créée
Contenu de la réponse 201
{
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"number": {
"type": "string"
},
"title": {
"type": "string"
},
"companyId": {
"type": [
"string",
"null"
]
},
"contactId": {
"type": [
"string",
"null"
]
},
"quoteId": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"status": {
"type": "string",
"enum": [
"new",
"in_progress",
"waiting_client",
"resolved",
"closed"
]
},
"ownerId": {
"type": [
"string",
"null"
]
},
"createdBy": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"statusChangedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"description": "Entrée dans le statut courant (T-1407)"
},
"mergedIntoId": {
"description": "#1058 : fermée par fusion dans cette requête (irréversible)",
"type": [
"string",
"null"
]
},
"possibleDuplicateOfId": {
"description": "#1058 : doublon possible d'une requête ouverte du même sujet et motif (moins de sept jours), marqué à la création, jamais fusionné d'office",
"type": [
"string",
"null"
]
},
"firstResponseDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de première réponse, en heures ouvrées depuis la création (null sans règle de délai)"
},
"resolutionDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de résolution, temps gelé en attente client ajouté"
},
"firstRespondedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : première réponse publique de l'équipe"
},
"slaPausedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : début du gel en attente client, null hors gel"
},
"slaBreached": {
"type": "boolean",
"description": "#1056 : une échéance est passée sans être tenue (dérivé à la lecture)"
}
},
"required": [
"id",
"number",
"title",
"companyId",
"contactId",
"quoteId",
"reason",
"priority",
"status",
"ownerId",
"createdBy",
"description",
"customFields",
"createdAt",
"updatedAt",
"statusChangedAt",
"mergedIntoId",
"possibleDuplicateOfId",
"firstResponseDueAt",
"resolutionDueAt",
"firstRespondedAt",
"slaPausedAt",
"slaBreached"
],
"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": "Créer une requête - numéro RQ- calculé serveur",
"description": "Le sujet (société ou contact) doit être vivant ; le devis lié, s'il est fourni, doit cibler le même sujet. Sans ownerId : non attribuée (file commune).",
"tags": [
"Requêtes"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"description": "Requis sans `emailMessageId`",
"type": "string",
"minLength": 2,
"maxLength": 200
},
"companyId": {
"anyOf": [
{
"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)$"
},
{
"type": "null"
}
]
},
"contactId": {
"anyOf": [
{
"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)$"
},
{
"type": "null"
}
]
},
"quoteId": {
"anyOf": [
{
"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)$"
},
{
"type": "null"
}
]
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"ownerId": {
"anyOf": [
{
"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)$"
},
{
"type": "null"
}
]
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "null"
}
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 80
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"emailMessageId": {
"description": "#1060 : identifiant d'un email synchronisé (module Messagerie) : la requête naît de l'email (objet, corps, pièces jointes, sujet) ; un email déjà lié est refusé (409)",
"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)$"
}
},
"required": [
"reason"
],
"additionalProperties": false
}
}
}
},
"security": [
{
"oauth2": [
"requests:write"
]
},
{
"userSession": []
}
],
"responses": {
"201": {
"description": "Requête créée",
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"number": {
"type": "string"
},
"title": {
"type": "string"
},
"companyId": {
"type": [
"string",
"null"
]
},
"contactId": {
"type": [
"string",
"null"
]
},
"quoteId": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"status": {
"type": "string",
"enum": [
"new",
"in_progress",
"waiting_client",
"resolved",
"closed"
]
},
"ownerId": {
"type": [
"string",
"null"
]
},
"createdBy": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"statusChangedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"description": "Entrée dans le statut courant (T-1407)"
},
"mergedIntoId": {
"description": "#1058 : fermée par fusion dans cette requête (irréversible)",
"type": [
"string",
"null"
]
},
"possibleDuplicateOfId": {
"description": "#1058 : doublon possible d'une requête ouverte du même sujet et motif (moins de sept jours), marqué à la création, jamais fusionné d'office",
"type": [
"string",
"null"
]
},
"firstResponseDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de première réponse, en heures ouvrées depuis la création (null sans règle de délai)"
},
"resolutionDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de résolution, temps gelé en attente client ajouté"
},
"firstRespondedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : première réponse publique de l'équipe"
},
"slaPausedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : début du gel en attente client, null hors gel"
},
"slaBreached": {
"type": "boolean",
"description": "#1056 : une échéance est passée sans être tenue (dérivé à la lecture)"
}
},
"required": [
"id",
"number",
"title",
"companyId",
"contactId",
"quoteId",
"reason",
"priority",
"status",
"ownerId",
"createdBy",
"description",
"customFields",
"createdAt",
"updatedAt",
"statusChangedAt",
"mergedIntoId",
"possibleDuplicateOfId",
"firstResponseDueAt",
"resolutionDueAt",
"firstRespondedAt",
"slaPausedAt",
"slaBreached"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /requests/{id}#
Détail d'une requête
Scopes d'app : requests:read. Les autres droits, périmètres et contrôles métier restent applicables.
Remplacez chaque paramètre de chemin entre accolades par l’identifiant demandé.
Aucun corps de requête déclaré dans ce contrat.
Réponses
200 : Requête
Contenu de la réponse 200
{
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"number": {
"type": "string"
},
"title": {
"type": "string"
},
"companyId": {
"type": [
"string",
"null"
]
},
"contactId": {
"type": [
"string",
"null"
]
},
"quoteId": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"status": {
"type": "string",
"enum": [
"new",
"in_progress",
"waiting_client",
"resolved",
"closed"
]
},
"ownerId": {
"type": [
"string",
"null"
]
},
"createdBy": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"statusChangedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"description": "Entrée dans le statut courant (T-1407)"
},
"mergedIntoId": {
"description": "#1058 : fermée par fusion dans cette requête (irréversible)",
"type": [
"string",
"null"
]
},
"possibleDuplicateOfId": {
"description": "#1058 : doublon possible d'une requête ouverte du même sujet et motif (moins de sept jours), marqué à la création, jamais fusionné d'office",
"type": [
"string",
"null"
]
},
"firstResponseDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de première réponse, en heures ouvrées depuis la création (null sans règle de délai)"
},
"resolutionDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de résolution, temps gelé en attente client ajouté"
},
"firstRespondedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : première réponse publique de l'équipe"
},
"slaPausedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : début du gel en attente client, null hors gel"
},
"slaBreached": {
"type": "boolean",
"description": "#1056 : une échéance est passée sans être tenue (dérivé à la lecture)"
}
},
"required": [
"id",
"number",
"title",
"companyId",
"contactId",
"quoteId",
"reason",
"priority",
"status",
"ownerId",
"createdBy",
"description",
"customFields",
"createdAt",
"updatedAt",
"statusChangedAt",
"mergedIntoId",
"possibleDuplicateOfId",
"firstResponseDueAt",
"resolutionDueAt",
"firstRespondedAt",
"slaPausedAt",
"slaBreached"
],
"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": "Détail d'une requête",
"tags": [
"Requêtes"
],
"security": [
{
"oauth2": [
"requests:read"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Requête",
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"number": {
"type": "string"
},
"title": {
"type": "string"
},
"companyId": {
"type": [
"string",
"null"
]
},
"contactId": {
"type": [
"string",
"null"
]
},
"quoteId": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"status": {
"type": "string",
"enum": [
"new",
"in_progress",
"waiting_client",
"resolved",
"closed"
]
},
"ownerId": {
"type": [
"string",
"null"
]
},
"createdBy": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"statusChangedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"description": "Entrée dans le statut courant (T-1407)"
},
"mergedIntoId": {
"description": "#1058 : fermée par fusion dans cette requête (irréversible)",
"type": [
"string",
"null"
]
},
"possibleDuplicateOfId": {
"description": "#1058 : doublon possible d'une requête ouverte du même sujet et motif (moins de sept jours), marqué à la création, jamais fusionné d'office",
"type": [
"string",
"null"
]
},
"firstResponseDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de première réponse, en heures ouvrées depuis la création (null sans règle de délai)"
},
"resolutionDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de résolution, temps gelé en attente client ajouté"
},
"firstRespondedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : première réponse publique de l'équipe"
},
"slaPausedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : début du gel en attente client, null hors gel"
},
"slaBreached": {
"type": "boolean",
"description": "#1056 : une échéance est passée sans être tenue (dérivé à la lecture)"
}
},
"required": [
"id",
"number",
"title",
"companyId",
"contactId",
"quoteId",
"reason",
"priority",
"status",
"ownerId",
"createdBy",
"description",
"customFields",
"createdAt",
"updatedAt",
"statusChangedAt",
"mergedIntoId",
"possibleDuplicateOfId",
"firstResponseDueAt",
"resolutionDueAt",
"firstRespondedAt",
"slaPausedAt",
"slaBreached"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}PATCH /requests/{id}#
Modifier une requête (champs de fiche - le statut passe par /transition)
Scopes d'app : requests:write. Les autres droits, périmètres et contrôles métier restent applicables.
Remplacez chaque paramètre de chemin entre accolades par l’identifiant demandé.
Corps de requête
application/json
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
title | string | Non | |
reason | string | Non | |
priority | string | Non | Valeurs : low, normal, high |
ownerId | union | Non | |
description | union | Non | |
customFields | object | Non |
Schéma complet du corps
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 2,
"maxLength": 200
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"ownerId": {
"anyOf": [
{
"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)$"
},
{
"type": "null"
}
]
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "null"
}
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 80
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
]
}
}
},
"additionalProperties": false
}Réponses
200 : Requête modifiée
Contenu de la réponse 200
{
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"number": {
"type": "string"
},
"title": {
"type": "string"
},
"companyId": {
"type": [
"string",
"null"
]
},
"contactId": {
"type": [
"string",
"null"
]
},
"quoteId": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"status": {
"type": "string",
"enum": [
"new",
"in_progress",
"waiting_client",
"resolved",
"closed"
]
},
"ownerId": {
"type": [
"string",
"null"
]
},
"createdBy": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"statusChangedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"description": "Entrée dans le statut courant (T-1407)"
},
"mergedIntoId": {
"description": "#1058 : fermée par fusion dans cette requête (irréversible)",
"type": [
"string",
"null"
]
},
"possibleDuplicateOfId": {
"description": "#1058 : doublon possible d'une requête ouverte du même sujet et motif (moins de sept jours), marqué à la création, jamais fusionné d'office",
"type": [
"string",
"null"
]
},
"firstResponseDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de première réponse, en heures ouvrées depuis la création (null sans règle de délai)"
},
"resolutionDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de résolution, temps gelé en attente client ajouté"
},
"firstRespondedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : première réponse publique de l'équipe"
},
"slaPausedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : début du gel en attente client, null hors gel"
},
"slaBreached": {
"type": "boolean",
"description": "#1056 : une échéance est passée sans être tenue (dérivé à la lecture)"
}
},
"required": [
"id",
"number",
"title",
"companyId",
"contactId",
"quoteId",
"reason",
"priority",
"status",
"ownerId",
"createdBy",
"description",
"customFields",
"createdAt",
"updatedAt",
"statusChangedAt",
"mergedIntoId",
"possibleDuplicateOfId",
"firstResponseDueAt",
"resolutionDueAt",
"firstRespondedAt",
"slaPausedAt",
"slaBreached"
],
"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": "Modifier une requête (champs de fiche - le statut passe par /transition)",
"tags": [
"Requêtes"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"title": {
"type": "string",
"minLength": 2,
"maxLength": 200
},
"reason": {
"type": "string",
"minLength": 1,
"maxLength": 80
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"ownerId": {
"anyOf": [
{
"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)$"
},
{
"type": "null"
}
]
},
"description": {
"anyOf": [
{
"type": "string",
"maxLength": 5000
},
{
"type": "null"
}
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 80
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 2000
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
]
}
}
},
"additionalProperties": false
}
}
}
},
"security": [
{
"oauth2": [
"requests:write"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Requête modifiée",
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"number": {
"type": "string"
},
"title": {
"type": "string"
},
"companyId": {
"type": [
"string",
"null"
]
},
"contactId": {
"type": [
"string",
"null"
]
},
"quoteId": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"status": {
"type": "string",
"enum": [
"new",
"in_progress",
"waiting_client",
"resolved",
"closed"
]
},
"ownerId": {
"type": [
"string",
"null"
]
},
"createdBy": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"statusChangedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"description": "Entrée dans le statut courant (T-1407)"
},
"mergedIntoId": {
"description": "#1058 : fermée par fusion dans cette requête (irréversible)",
"type": [
"string",
"null"
]
},
"possibleDuplicateOfId": {
"description": "#1058 : doublon possible d'une requête ouverte du même sujet et motif (moins de sept jours), marqué à la création, jamais fusionné d'office",
"type": [
"string",
"null"
]
},
"firstResponseDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de première réponse, en heures ouvrées depuis la création (null sans règle de délai)"
},
"resolutionDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de résolution, temps gelé en attente client ajouté"
},
"firstRespondedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : première réponse publique de l'équipe"
},
"slaPausedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : début du gel en attente client, null hors gel"
},
"slaBreached": {
"type": "boolean",
"description": "#1056 : une échéance est passée sans être tenue (dérivé à la lecture)"
}
},
"required": [
"id",
"number",
"title",
"companyId",
"contactId",
"quoteId",
"reason",
"priority",
"status",
"ownerId",
"createdBy",
"description",
"customFields",
"createdAt",
"updatedAt",
"statusChangedAt",
"mergedIntoId",
"possibleDuplicateOfId",
"firstResponseDueAt",
"resolutionDueAt",
"firstRespondedAt",
"slaPausedAt",
"slaBreached"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /requests/{id}/transition#
Changer le statut - matrice fermée (422 avec transitions permises sinon)
Scopes d'app : requests:write. Les autres droits, périmètres et contrôles métier restent applicables.
Remplacez chaque paramètre de chemin entre accolades par l’identifiant demandé.
Corps de requête
application/json
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
to | string | Oui | Valeurs : in_progress, waiting_client, resolved, closed |
Schéma complet du corps
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"to": {
"type": "string",
"enum": [
"in_progress",
"waiting_client",
"resolved",
"closed"
]
}
},
"required": [
"to"
],
"additionalProperties": false
}Réponses
200 : Requête transitionnée
Contenu de la réponse 200
{
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"number": {
"type": "string"
},
"title": {
"type": "string"
},
"companyId": {
"type": [
"string",
"null"
]
},
"contactId": {
"type": [
"string",
"null"
]
},
"quoteId": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"status": {
"type": "string",
"enum": [
"new",
"in_progress",
"waiting_client",
"resolved",
"closed"
]
},
"ownerId": {
"type": [
"string",
"null"
]
},
"createdBy": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"statusChangedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"description": "Entrée dans le statut courant (T-1407)"
},
"mergedIntoId": {
"description": "#1058 : fermée par fusion dans cette requête (irréversible)",
"type": [
"string",
"null"
]
},
"possibleDuplicateOfId": {
"description": "#1058 : doublon possible d'une requête ouverte du même sujet et motif (moins de sept jours), marqué à la création, jamais fusionné d'office",
"type": [
"string",
"null"
]
},
"firstResponseDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de première réponse, en heures ouvrées depuis la création (null sans règle de délai)"
},
"resolutionDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de résolution, temps gelé en attente client ajouté"
},
"firstRespondedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : première réponse publique de l'équipe"
},
"slaPausedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : début du gel en attente client, null hors gel"
},
"slaBreached": {
"type": "boolean",
"description": "#1056 : une échéance est passée sans être tenue (dérivé à la lecture)"
}
},
"required": [
"id",
"number",
"title",
"companyId",
"contactId",
"quoteId",
"reason",
"priority",
"status",
"ownerId",
"createdBy",
"description",
"customFields",
"createdAt",
"updatedAt",
"statusChangedAt",
"mergedIntoId",
"possibleDuplicateOfId",
"firstResponseDueAt",
"resolutionDueAt",
"firstRespondedAt",
"slaPausedAt",
"slaBreached"
],
"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": "Changer le statut - matrice fermée (422 avec transitions permises sinon)",
"tags": [
"Requêtes"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"to": {
"type": "string",
"enum": [
"in_progress",
"waiting_client",
"resolved",
"closed"
]
}
},
"required": [
"to"
],
"additionalProperties": false
}
}
}
},
"security": [
{
"oauth2": [
"requests:write"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Requête transitionnée",
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"id": {
"type": "string"
},
"number": {
"type": "string"
},
"title": {
"type": "string"
},
"companyId": {
"type": [
"string",
"null"
]
},
"contactId": {
"type": [
"string",
"null"
]
},
"quoteId": {
"type": [
"string",
"null"
]
},
"reason": {
"type": "string"
},
"priority": {
"type": "string",
"enum": [
"low",
"normal",
"high"
]
},
"status": {
"type": "string",
"enum": [
"new",
"in_progress",
"waiting_client",
"resolved",
"closed"
]
},
"ownerId": {
"type": [
"string",
"null"
]
},
"createdBy": {
"type": "string"
},
"description": {
"type": [
"string",
"null"
]
},
"customFields": {
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": [
"string",
"number",
"boolean"
]
}
},
"createdAt": {
"type": "string"
},
"updatedAt": {
"type": "string"
},
"statusChangedAt": {
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$",
"description": "Entrée dans le statut courant (T-1407)"
},
"mergedIntoId": {
"description": "#1058 : fermée par fusion dans cette requête (irréversible)",
"type": [
"string",
"null"
]
},
"possibleDuplicateOfId": {
"description": "#1058 : doublon possible d'une requête ouverte du même sujet et motif (moins de sept jours), marqué à la création, jamais fusionné d'office",
"type": [
"string",
"null"
]
},
"firstResponseDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de première réponse, en heures ouvrées depuis la création (null sans règle de délai)"
},
"resolutionDueAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : échéance de résolution, temps gelé en attente client ajouté"
},
"firstRespondedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : première réponse publique de l'équipe"
},
"slaPausedAt": {
"anyOf": [
{
"type": "string",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z))$"
},
{
"type": "null"
}
],
"description": "#1056 : début du gel en attente client, null hors gel"
},
"slaBreached": {
"type": "boolean",
"description": "#1056 : une échéance est passée sans être tenue (dérivé à la lecture)"
}
},
"required": [
"id",
"number",
"title",
"companyId",
"contactId",
"quoteId",
"reason",
"priority",
"status",
"ownerId",
"createdBy",
"description",
"customFields",
"createdAt",
"updatedAt",
"statusChangedAt",
"mergedIntoId",
"possibleDuplicateOfId",
"firstResponseDueAt",
"resolutionDueAt",
"firstRespondedAt",
"slaPausedAt",
"slaBreached"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}