Récupère une ressource Message.
const url = 'https://api.facteur.local/messages/example';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.facteur.local/messages/example \ --header 'Authorization: Bearer <token>'Récupère une ressource Message.
Authorizations
Section intitulée « Authorizations »Parameters
Section intitulée « Parameters »Path Parameters
Section intitulée « Path Parameters »Identifiant Message
Responses
Section intitulée « Responses »Ressource Message
Un message qu’une inbox a reçu, ou la trace de celui qu’elle a refusé.
object
Les vraies pièces jointes du message, gardées ou non, par nom puis par identifiant ; une image intégrée n’en est pas une (voir inlines). Absent sur un message refusé. Téléchargez une pièce gardée avec downloadAttachment, par son identifiant : la réponse ne dit jamais où sont les octets.
object
sha256: puis le sha256 des octets décodés, en hexadécimal.
Le type que l’expéditeur a déclaré, que rien n’a vérifié sur les octets.
Tel que l’expéditeur l’a écrit : une donnée, jamais un chemin.
Pourquoi les octets n’ont pas été gardés ; seulement sur une pièce qui ne l’a pas été.
Des octets décodés.
Si les octets ont été gardés, donc s’il y a quelque chose à télécharger. Vaut vrai exactement quand reason est absent.
Tous les codes que l’ingesteur a trouvés, le meilleur candidat d’abord. Absent sur un message refusé.
Ce que la connexion savait, dans la lecture d’un message et dans une recherche de l’API publique : nul quand l’ingesteur ne savait rien, et chaque fait nul quand il ne le savait pas, jamais une chaîne vide. Un message refusé le garde.
object
Nommé, comme TLS 1.3, jamais un nombre.
Le temps que l’ingesteur a mis à l’accepter, en millisecondes.
Pourquoi le message a été refusé ; seulement sur un message quota_exceeded, qui ne porte rien de dérivé. L’un de PLAN_QUOTA_EXCEEDED, INBOX_QUOTA_EXCEEDED, WORKSPACE_QUOTA_EXCEEDED, OVERAGE_CAP_REACHED, DAILY_SPIKE_CAP, SUBSCRIPTION_SUSPENDED ; un code qu’une version ultérieure de l’ingesteur écrit est dit tel quel.
Quand la conservation du plan supprime le message, ou null s’il n’expire pas.
Les valeurs que les extracteurs de l’inbox ont trouvées, par clé. Absent sur un message refusé.
object
Le nom d’affichage de l’expéditeur, quand le message en donnait un. Absent sur un message refusé.
Les en-têtes du message, noms en minuscules ; dans la lecture d’un message et dans une recherche de l’API publique. Absents d’un message refusé.
object
Dans la lecture d’un message et dans une recherche de l’API publique ; absent de la liste d’une inbox et de la recherche de app. Absent d’un message refusé.
L’inbox qui l’a reçu.
Les images intégrées au corps, comme le logo d’une signature : les parties que le message a déclarées inline. Ce ne sont pas des pièces jointes (jamais comptées parmi elles, jamais trouvées par une recherche) et elles n’ont pas de lien. Absent sur un message refusé.
object
Ce que le cid: du corps HTML désigne.
Les liens du message, dans l’ordre d’apparition, la partie HTML d’abord. Absent sur un message refusé.
Le code à usage unique que l’ingesteur a extrait, null s’il n’y en a pas. Absent sur un message refusé.
La taille du message tel qu’il a été reçu, en octets ; 0 pour un message refusé, dont le contenu n’a pas été gardé.
L’état du message. Lisez-le avant tout ce qui dérive du corps.
Absent sur un message refusé ; null s’il n’y en a pas.
Dans la lecture d’un message et dans une recherche de l’API publique ; absent de la liste d’une inbox et de la recherche de app. Absent d’un message refusé.
Le canal qui l’a transporté.
Example
{ "attachments": [ { "reason": "PERFORMANCE_MODE" } ], "status": "received", "type": "email"}Aucune clé, ou une clé refusée. WWW-Authenticate dit où lire comment en présenter une.
Un refus, en application/problem+json (RFC 9457) avec le code du registre. Un code ajoute les membres que sa règle demande (retryAfter, permission…), donc d’autres membres que ceux-ci peuvent arriver.
object
Le code stable du refus. Il ne change jamais une fois publié.
Du texte en anglais pour la personne qui lit la réponse. Il peut être reformulé : branchez-vous sur code.
Le statut HTTP.
Le nom du statut HTTP.
L’adresse du problème : /errors/<code>.
Sur un corps qui échoue à la validation, une entrée par champ.
object
Example
{ "code": "BAD_REQUEST", "status": 404, "title": "Not Found", "type": "/errors/INBOX_NOT_FOUND", "violations": [ { "code": "BAD_REQUEST" } ]}La clé n’a pas la permission de l’opération, ou l’opération refuse toutes les clés.
Un refus, en application/problem+json (RFC 9457) avec le code du registre. Un code ajoute les membres que sa règle demande (retryAfter, permission…), donc d’autres membres que ceux-ci peuvent arriver.
object
Le code stable du refus. Il ne change jamais une fois publié.
Du texte en anglais pour la personne qui lit la réponse. Il peut être reformulé : branchez-vous sur code.
Le statut HTTP.
Le nom du statut HTTP.
L’adresse du problème : /errors/<code>.
Sur un corps qui échoue à la validation, une entrée par champ.
object
Example
{ "code": "BAD_REQUEST", "status": 404, "title": "Not Found", "type": "/errors/INBOX_NOT_FOUND", "violations": [ { "code": "BAD_REQUEST" } ]}Il n’y a rien avec cet identifiant à la portée de la clé. La réponse est la même pour une autre organisation ou un espace de travail que la clé ne nomme pas.
Un refus, en application/problem+json (RFC 9457) avec le code du registre. Un code ajoute les membres que sa règle demande (retryAfter, permission…), donc d’autres membres que ceux-ci peuvent arriver.
object
Le code stable du refus. Il ne change jamais une fois publié.
Du texte en anglais pour la personne qui lit la réponse. Il peut être reformulé : branchez-vous sur code.
Le statut HTTP.
Le nom du statut HTTP.
L’adresse du problème : /errors/<code>.
Sur un corps qui échoue à la validation, une entrée par champ.
object
Example
{ "code": "BAD_REQUEST", "status": 404, "title": "Not Found", "type": "/errors/INBOX_NOT_FOUND", "violations": [ { "code": "BAD_REQUEST" } ]}Plus d’appels que la clé n’en peut faire en une minute. Retry-After dit quand réessayer.
Un refus, en application/problem+json (RFC 9457) avec le code du registre. Un code ajoute les membres que sa règle demande (retryAfter, permission…), donc d’autres membres que ceux-ci peuvent arriver.
object
Le code stable du refus. Il ne change jamais une fois publié.
Du texte en anglais pour la personne qui lit la réponse. Il peut être reformulé : branchez-vous sur code.
Le statut HTTP.
Le nom du statut HTTP.
L’adresse du problème : /errors/<code>.
Sur un corps qui échoue à la validation, une entrée par champ.
object
Example
{ "code": "BAD_REQUEST", "status": 404, "title": "Not Found", "type": "/errors/INBOX_NOT_FOUND", "violations": [ { "code": "BAD_REQUEST" } ]}Any refusal: an application/problem+json body whose code says which.
Un refus, en application/problem+json (RFC 9457) avec le code du registre. Un code ajoute les membres que sa règle demande (retryAfter, permission…), donc d’autres membres que ceux-ci peuvent arriver.
object
Le code stable du refus. Il ne change jamais une fois publié.
Du texte en anglais pour la personne qui lit la réponse. Il peut être reformulé : branchez-vous sur code.
Le statut HTTP.
Le nom du statut HTTP.
L’adresse du problème : /errors/<code>.
Sur un corps qui échoue à la validation, une entrée par champ.
object
Example
{ "code": "BAD_REQUEST", "status": 404, "title": "Not Found", "type": "/errors/INBOX_NOT_FOUND", "violations": [ { "code": "BAD_REQUEST" } ]}