API : abysign
11 opérations REST du groupe abysign.
GET /abysign/envelopes#
Lister les enveloppes (curseur), filtres statut, externalId, sentSince
Scopes d'app : signatures: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","type":"string","minLength":1} |
limit | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","type":"integer","minimum":1,"maximum":9007199254740991} |
status | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Filtre par statut","type":"string","enum":["draft","pending","signed","refused","cancelled","expired","superseded"]} |
externalId | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Votre identifiant (ex. Quote.Id Salesforce)","type":"string","minLength":1,"maxLength":120} |
sentSince | query | Non | {"$schema":"https://json-schema.org/draft/2020-12/schema","description":"Envoyées depuis cette date (ISO 8601)","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":"string","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(?:Z))$"}]} |
Aucun corps de requête déclaré dans ce contrat.
Réponses
200 : Page d'enveloppes (sans lien de signature : il se lit enveloppe par enveloppe)
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",
"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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"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 enveloppes (curseur), filtres statut, externalId, sentSince",
"tags": [
"Signature électronique (AbySign)"
],
"parameters": [
{
"name": "cursor",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "string",
"minLength": 1
}
},
{
"name": "limit",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
}
},
{
"name": "status",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Filtre par statut",
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
}
},
{
"name": "externalId",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Votre identifiant (ex. Quote.Id Salesforce)",
"type": "string",
"minLength": 1,
"maxLength": 120
}
},
{
"name": "sentSince",
"in": "query",
"required": false,
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"description": "Envoyées depuis cette date (ISO 8601)",
"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": "string",
"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(?:Z))$"
}
]
}
}
],
"security": [
{
"oauth2": [
"signatures:read"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Page d'enveloppes (sans lien de signature : il se lit enveloppe par enveloppe)",
"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",
"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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"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 /abysign/envelopes#
Créer une enveloppe : un PDF, un ou plusieurs destinataires, en brouillon ou envoyée
Deux formes : application/json (document en base64, décrit ici) ou multipart/form-data (partie document = fichier PDF, champs signer[name], signer[email], message, validityDays, initialsEveryPage, externalId, title, fields en JSON). Le document est figé tel quel, jamais re-rendu. Un signataire via signer, ou plusieurs destinataires via recipients ; sequential ordonne les signatures, draft prépare sans envoyer. Idempotence par Idempotency-Key.
Scopes d'app : signatures:write. Les autres droits, périmètres et contrôles métier restent applicables.
Corps de requête
application/json
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
signer | object | Non | Signataire unique (forme courte) - ou `recipients` |
recipients | array | Non | Destinataires (T-939) : au moins un rôle signer ou in_person |
sequential | boolean | Non | Ordre séquentiel : chaque rang reçoit son invitation quand le précédent a signé |
draft | boolean | Non | Brouillon (T-941) : rien n'est envoyé ; placez les champs (PUT …/fields) puis envoyez (POST …/send) |
message | string | Non | Mot de l'émetteur repris dans l'email |
validityDays | integer | Non | Défaut : réglage de l'organisation |
initialsEveryPage | boolean | Non | Paraphe de chaque page (défaut : réglage de l'organisation) |
accessCode | string | Non | Code d'accès à transmettre au signataire par un autre canal (téléphone) ; le document reste invisible sans lui |
externalId | string | Non | Votre identifiant (ex. Quote.Id Salesforce), repris dans les webhooks |
title | string | Non | Libellé montré au signataire (défaut : nom du fichier) |
fields | array | Non | Champs positionnés ; absent : tags textuels du document, sinon champ signature en bas de la dernière page |
document | object | Oui |
Schéma complet du corps
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"signer": {
"description": "Signataire unique (forme courte) - ou `recipients`",
"type": "object",
"properties": {
"name": {
"description": "Nom du signataire (défaut : l'email)",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"email": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
}
},
"required": [
"email"
],
"additionalProperties": false
},
"recipients": {
"description": "Destinataires (T-939) : au moins un rôle signer ou in_person",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"description": "Nom (défaut : l'email)",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"email": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"role": {
"default": "signer",
"description": "signer : doit signer ; viewer : doit consulter ; cc : reçoit le document final ; in_person : signe sur l'appareil de l'émetteur (aucun email)",
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"rank": {
"description": "Rang de signature (ordre séquentiel) - défaut : ordre de la liste",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"accessCode": {
"type": "string",
"minLength": 4,
"maxLength": 12,
"pattern": "^[A-Za-z0-9-]+$"
},
"privateMessage": {
"description": "Note personnelle à ce destinataire",
"type": "string",
"maxLength": 1000
},
"verification": {
"default": "none",
"description": "#1054 : `sms` = code à six chiffres envoyé au mobile `phone` avant d'ouvrir le document (second canal) ; exige un adaptateur SMS configuré, sinon 422",
"type": "string",
"enum": [
"none",
"sms"
]
},
"phone": {
"description": "Mobile du destinataire (E.164 ou format français) ; requis avec `verification: sms`",
"type": "string",
"maxLength": 32
}
},
"required": [
"email"
],
"additionalProperties": false
}
},
"sequential": {
"description": "Ordre séquentiel : chaque rang reçoit son invitation quand le précédent a signé",
"type": "boolean"
},
"draft": {
"description": "Brouillon (T-941) : rien n'est envoyé ; placez les champs (PUT …/fields) puis envoyez (POST …/send)",
"type": "boolean"
},
"message": {
"description": "Mot de l'émetteur repris dans l'email",
"type": "string",
"maxLength": 500
},
"validityDays": {
"description": "Défaut : réglage de l'organisation",
"type": "integer",
"minimum": 1,
"maximum": 90
},
"initialsEveryPage": {
"description": "Paraphe de chaque page (défaut : réglage de l'organisation)",
"type": "boolean"
},
"accessCode": {
"description": "Code d'accès à transmettre au signataire par un autre canal (téléphone) ; le document reste invisible sans lui",
"type": "string",
"minLength": 4,
"maxLength": 12,
"pattern": "^[A-Za-z0-9-]+$"
},
"externalId": {
"description": "Votre identifiant (ex. Quote.Id Salesforce), repris dans les webhooks",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"title": {
"description": "Libellé montré au signataire (défaut : nom du fichier)",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"fields": {
"description": "Champs positionnés ; absent : tags textuels du document, sinon champ signature en bas de la dernière page",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Page (1 = première)"
},
"x": {
"type": "number",
"minimum": 0,
"description": "Abscisse en points PDF, origine bas-gauche"
},
"y": {
"type": "number",
"minimum": 0,
"description": "Ordonnée en points PDF, origine bas-gauche"
},
"width": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2000
},
"height": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2000
},
"required": {
"default": true,
"type": "boolean"
},
"label": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
]
},
"recipientIndex": {
"description": "Index du destinataire signataire dans `recipients` (défaut 0 : le premier signataire)",
"type": "integer",
"minimum": 0,
"maximum": 49
},
"options": {
"description": "Options d'une liste (dropdown) ou d'un choix (radio)",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
}
},
"required": [
"type",
"page",
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"document": {
"type": "object",
"properties": {
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"contentBase64": {
"type": "string",
"minLength": 1,
"description": "Le PDF en base64 (≤ 20 Mo décodés)"
}
},
"required": [
"filename",
"contentBase64"
],
"additionalProperties": false
}
},
"required": [
"document"
],
"additionalProperties": false
}Réponses
201 : Enveloppe en attente, avec `signer.signUrl`
Contenu de la réponse 201
{
"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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"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 enveloppe : un PDF, un ou plusieurs destinataires, en brouillon ou envoyée",
"description": "Deux formes : `application/json` (document en base64, décrit ici) ou `multipart/form-data` (partie `document` = fichier PDF, champs `signer[name]`, `signer[email]`, `message`, `validityDays`, `initialsEveryPage`, `externalId`, `title`, `fields` en JSON). Le document est figé tel quel, jamais re-rendu. Un signataire via `signer`, ou plusieurs destinataires via `recipients` ; `sequential` ordonne les signatures, `draft` prépare sans envoyer. Idempotence par `Idempotency-Key`.",
"tags": [
"Signature électronique (AbySign)"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"signer": {
"description": "Signataire unique (forme courte) - ou `recipients`",
"type": "object",
"properties": {
"name": {
"description": "Nom du signataire (défaut : l'email)",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"email": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
}
},
"required": [
"email"
],
"additionalProperties": false
},
"recipients": {
"description": "Destinataires (T-939) : au moins un rôle signer ou in_person",
"minItems": 1,
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"description": "Nom (défaut : l'email)",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"email": {
"type": "string",
"maxLength": 254,
"format": "email",
"pattern": "^(?:[A-Za-z0-9_'+\\-]+\\.)*[A-Za-z0-9_'+\\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
},
"role": {
"default": "signer",
"description": "signer : doit signer ; viewer : doit consulter ; cc : reçoit le document final ; in_person : signe sur l'appareil de l'émetteur (aucun email)",
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"rank": {
"description": "Rang de signature (ordre séquentiel) - défaut : ordre de la liste",
"type": "integer",
"minimum": 1,
"maximum": 50
},
"accessCode": {
"type": "string",
"minLength": 4,
"maxLength": 12,
"pattern": "^[A-Za-z0-9-]+$"
},
"privateMessage": {
"description": "Note personnelle à ce destinataire",
"type": "string",
"maxLength": 1000
},
"verification": {
"default": "none",
"description": "#1054 : `sms` = code à six chiffres envoyé au mobile `phone` avant d'ouvrir le document (second canal) ; exige un adaptateur SMS configuré, sinon 422",
"type": "string",
"enum": [
"none",
"sms"
]
},
"phone": {
"description": "Mobile du destinataire (E.164 ou format français) ; requis avec `verification: sms`",
"type": "string",
"maxLength": 32
}
},
"required": [
"email"
],
"additionalProperties": false
}
},
"sequential": {
"description": "Ordre séquentiel : chaque rang reçoit son invitation quand le précédent a signé",
"type": "boolean"
},
"draft": {
"description": "Brouillon (T-941) : rien n'est envoyé ; placez les champs (PUT …/fields) puis envoyez (POST …/send)",
"type": "boolean"
},
"message": {
"description": "Mot de l'émetteur repris dans l'email",
"type": "string",
"maxLength": 500
},
"validityDays": {
"description": "Défaut : réglage de l'organisation",
"type": "integer",
"minimum": 1,
"maximum": 90
},
"initialsEveryPage": {
"description": "Paraphe de chaque page (défaut : réglage de l'organisation)",
"type": "boolean"
},
"accessCode": {
"description": "Code d'accès à transmettre au signataire par un autre canal (téléphone) ; le document reste invisible sans lui",
"type": "string",
"minLength": 4,
"maxLength": 12,
"pattern": "^[A-Za-z0-9-]+$"
},
"externalId": {
"description": "Votre identifiant (ex. Quote.Id Salesforce), repris dans les webhooks",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"title": {
"description": "Libellé montré au signataire (défaut : nom du fichier)",
"type": "string",
"minLength": 1,
"maxLength": 120
},
"fields": {
"description": "Champs positionnés ; absent : tags textuels du document, sinon champ signature en bas de la dernière page",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Page (1 = première)"
},
"x": {
"type": "number",
"minimum": 0,
"description": "Abscisse en points PDF, origine bas-gauche"
},
"y": {
"type": "number",
"minimum": 0,
"description": "Ordonnée en points PDF, origine bas-gauche"
},
"width": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2000
},
"height": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2000
},
"required": {
"default": true,
"type": "boolean"
},
"label": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
]
},
"recipientIndex": {
"description": "Index du destinataire signataire dans `recipients` (défaut 0 : le premier signataire)",
"type": "integer",
"minimum": 0,
"maximum": 49
},
"options": {
"description": "Options d'une liste (dropdown) ou d'un choix (radio)",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
}
},
"required": [
"type",
"page",
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
},
"document": {
"type": "object",
"properties": {
"filename": {
"type": "string",
"minLength": 1,
"maxLength": 200
},
"contentBase64": {
"type": "string",
"minLength": 1,
"description": "Le PDF en base64 (≤ 20 Mo décodés)"
}
},
"required": [
"filename",
"contentBase64"
],
"additionalProperties": false
}
},
"required": [
"document"
],
"additionalProperties": false
}
}
}
},
"security": [
{
"oauth2": [
"signatures:write"
]
},
{
"userSession": []
}
],
"responses": {
"201": {
"description": "Enveloppe en attente, avec `signer.signUrl`",
"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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /abysign/envelopes/{id}#
Statut, champs, événements et liens d'une enveloppe
Scopes d'app : signatures: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 : Enveloppe
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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"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": "Statut, champs, événements et liens d'une enveloppe",
"tags": [
"Signature électronique (AbySign)"
],
"security": [
{
"oauth2": [
"signatures:read"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Enveloppe",
"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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /abysign/envelopes/{id}/remind#
Relancer le signataire (une relance par heure et par enveloppe)
409 si l'enveloppe n'est plus en attente, 429 avec Retry-After si une relance date de moins d'une heure.
Scopes d'app : signatures: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é.
Aucun corps de requête déclaré dans ce contrat.
Réponses
200 : Enveloppe après relance
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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"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": "Relancer le signataire (une relance par heure et par enveloppe)",
"description": "409 si l'enveloppe n'est plus en attente, 429 avec `Retry-After` si une relance date de moins d'une heure.",
"tags": [
"Signature électronique (AbySign)"
],
"security": [
{
"oauth2": [
"signatures:write"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Enveloppe après relance",
"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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /abysign/envelopes/{id}/cancel#
Annuler une enveloppe en attente (le lien affiche « annulée »)
Idempotent sur une enveloppe déjà annulée ; 409 si elle est signée, refusée ou expirée.
Scopes d'app : signatures: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é.
Aucun corps de requête déclaré dans ce contrat.
Réponses
200 : Enveloppe annulé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",
"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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"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": "Annuler une enveloppe en attente (le lien affiche « annulée »)",
"description": "Idempotent sur une enveloppe déjà annulée ; 409 si elle est signée, refusée ou expirée.",
"tags": [
"Signature électronique (AbySign)"
],
"security": [
{
"oauth2": [
"signatures:write"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Enveloppe annulée",
"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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}PUT /abysign/envelopes/{id}/fields#
Remplacer les champs d'un brouillon (positions en points PDF, origine bas-gauche)
Brouillon seulement (409 sinon). Au moins un champ signature. recipientId désigne le signataire ; absent : le premier.
Scopes d'app : signatures: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 |
|---|---|---|---|
fields | array | Oui |
Schéma complet du corps
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"fields": {
"minItems": 1,
"maxItems": 200,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Page (1 = première)"
},
"x": {
"type": "number",
"minimum": 0,
"description": "Abscisse en points PDF, origine bas-gauche"
},
"y": {
"type": "number",
"minimum": 0,
"description": "Ordonnée en points PDF, origine bas-gauche"
},
"width": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2000
},
"height": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2000
},
"required": {
"default": true,
"type": "boolean"
},
"label": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
]
},
"recipientIndex": {
"description": "Index du destinataire signataire dans `recipients` (défaut 0 : le premier signataire)",
"type": "integer",
"minimum": 0,
"maximum": 49
},
"options": {
"description": "Options d'une liste (dropdown) ou d'un choix (radio)",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"key": {
"type": "string",
"maxLength": 60
},
"recipientId": {
"description": "Signataire du champ (id de destinataire) - défaut : le premier",
"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"
}
]
}
},
"required": [
"type",
"page",
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
}
},
"required": [
"fields"
],
"additionalProperties": false
}Réponses
200 : Enveloppe avec ses champs
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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"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": "Remplacer les champs d'un brouillon (positions en points PDF, origine bas-gauche)",
"description": "Brouillon seulement (409 sinon). Au moins un champ `signature`. `recipientId` désigne le signataire ; absent : le premier.",
"tags": [
"Signature électronique (AbySign)"
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"fields": {
"minItems": 1,
"maxItems": 200,
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991,
"description": "Page (1 = première)"
},
"x": {
"type": "number",
"minimum": 0,
"description": "Abscisse en points PDF, origine bas-gauche"
},
"y": {
"type": "number",
"minimum": 0,
"description": "Ordonnée en points PDF, origine bas-gauche"
},
"width": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2000
},
"height": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2000
},
"required": {
"default": true,
"type": "boolean"
},
"label": {
"anyOf": [
{
"type": "string",
"maxLength": 80
},
{
"type": "null"
}
]
},
"recipientIndex": {
"description": "Index du destinataire signataire dans `recipients` (défaut 0 : le premier signataire)",
"type": "integer",
"minimum": 0,
"maximum": 49
},
"options": {
"description": "Options d'une liste (dropdown) ou d'un choix (radio)",
"maxItems": 20,
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"maxLength": 80
}
},
"key": {
"type": "string",
"maxLength": 60
},
"recipientId": {
"description": "Signataire du champ (id de destinataire) - défaut : le premier",
"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"
}
]
}
},
"required": [
"type",
"page",
"x",
"y",
"width",
"height"
],
"additionalProperties": false
}
}
},
"required": [
"fields"
],
"additionalProperties": false
}
}
}
},
"security": [
{
"oauth2": [
"signatures:write"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Enveloppe avec ses champs",
"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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}POST /abysign/envelopes/{id}/send#
Envoyer un brouillon : invitations, rappels, statut en attente
409 si l'enveloppe n'est plus un brouillon ; 422 sans champ signature.
Scopes d'app : signatures: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é.
Aucun corps de requête déclaré dans ce contrat.
Réponses
200 : Enveloppe en attente
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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"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": "Envoyer un brouillon : invitations, rappels, statut en attente",
"description": "409 si l'enveloppe n'est plus un brouillon ; 422 sans champ signature.",
"tags": [
"Signature électronique (AbySign)"
],
"security": [
{
"oauth2": [
"signatures:write"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Enveloppe en attente",
"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)$"
},
"status": {
"type": "string",
"enum": [
"draft",
"pending",
"signed",
"refused",
"cancelled",
"expired",
"superseded"
]
},
"sequential": {
"type": "boolean"
},
"recipients": {
"type": "array",
"items": {
"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)$"
},
"rank": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"role": {
"type": "string",
"enum": [
"signer",
"viewer",
"cc",
"in_person"
]
},
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"pending",
"viewed",
"signed",
"declined"
]
},
"accessCodeRequired": {
"type": "boolean"
},
"sentAt": {
"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"
}
]
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"signUrl": {
"type": [
"string",
"null"
]
}
},
"required": [
"id",
"rank",
"role",
"name",
"email",
"status",
"accessCodeRequired",
"sentAt",
"openedAt",
"decidedAt",
"signUrl"
],
"additionalProperties": false
}
},
"source": {
"type": "string",
"enum": [
"quote",
"api"
]
},
"externalId": {
"type": [
"string",
"null"
]
},
"title": {
"type": [
"string",
"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"
}
],
"description": "Devis Cercla rattaché - null pour une enveloppe API"
},
"accessCodeRequired": {
"type": "boolean",
"description": "Un code d'accès de l'émetteur protège le document"
},
"signer": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"email": {
"type": "string"
},
"signUrl": {
"description": "Lien de signature - publié tant que l'enveloppe est en attente, au principal porteur du scope signatures:write, hors réponses de liste ; jamais dans un webhook",
"type": [
"string",
"null"
]
}
},
"required": [
"name",
"email",
"signUrl"
],
"additionalProperties": false
},
"message": {
"type": [
"string",
"null"
]
},
"sentAt": {
"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))$"
},
"expiresAt": {
"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))$"
},
"openedAt": {
"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"
}
]
},
"decidedAt": {
"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"
}
]
},
"refusalReason": {
"type": [
"string",
"null"
]
},
"sha256": {
"type": "object",
"properties": {
"source": {
"type": [
"string",
"null"
]
},
"signed": {
"type": [
"string",
"null"
]
}
},
"required": [
"source",
"signed"
],
"additionalProperties": false
},
"timestamp": {
"anyOf": [
{
"type": "object",
"properties": {
"mode": {
"type": [
"string",
"null"
]
},
"authority": {
"type": [
"string",
"null"
]
}
},
"required": [
"mode",
"authority"
],
"additionalProperties": false
},
{
"type": "null"
}
]
},
"fields": {
"type": "array",
"items": {
"type": "object",
"properties": {
"key": {
"type": "string"
},
"recipientId": {
"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"
}
]
},
"type": {
"type": "string",
"enum": [
"signature",
"initials",
"date",
"text",
"checkbox",
"name",
"email",
"company",
"title",
"number",
"dropdown",
"radio"
]
},
"page": {
"type": "integer",
"minimum": -9007199254740991,
"maximum": 9007199254740991
},
"x": {
"type": "number"
},
"y": {
"type": "number"
},
"width": {
"type": "number"
},
"height": {
"type": "number"
},
"required": {
"type": "boolean"
},
"label": {
"type": [
"string",
"null"
]
},
"filled": {
"type": "boolean"
},
"value": {
"description": "Valeur texte (date, texte, case) - jamais l'image",
"type": [
"string",
"null"
]
}
},
"required": [
"key",
"recipientId",
"type",
"page",
"x",
"y",
"width",
"height",
"required",
"label",
"filled",
"value"
],
"additionalProperties": false
}
},
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"at": {
"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": {
"type": "string"
},
"detail": {
"type": "string"
}
},
"required": [
"at",
"type"
],
"additionalProperties": false
}
},
"links": {
"type": "object",
"properties": {
"signed": {
"type": [
"string",
"null"
]
},
"certificate": {
"type": [
"string",
"null"
]
},
"proof": {
"type": [
"string",
"null"
]
},
"timestamp": {
"type": [
"string",
"null"
]
}
},
"required": [
"signed",
"certificate",
"proof",
"timestamp"
],
"additionalProperties": false
}
},
"required": [
"id",
"status",
"sequential",
"recipients",
"source",
"externalId",
"title",
"quoteId",
"accessCodeRequired",
"signer",
"message",
"sentAt",
"expiresAt",
"openedAt",
"decidedAt",
"refusalReason",
"sha256",
"timestamp",
"fields",
"events",
"links"
],
"additionalProperties": false
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /abysign/envelopes/{id}/signed.pdf#
PDF signé (certificat de signature en dernières pages)
Réponse application/pdf en pièce jointe. 404 tant que l'enveloppe n'est pas signée ou si l'artefact n'existe pas.
Scopes d'app : signatures: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 : PDF signé (certificat de signature en dernières pages)
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": "PDF signé (certificat de signature en dernières pages)",
"description": "Réponse `application/pdf` en pièce jointe. 404 tant que l'enveloppe n'est pas signée ou si l'artefact n'existe pas.",
"tags": [
"Signature électronique (AbySign)"
],
"security": [
{
"oauth2": [
"signatures:read"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "PDF signé (certificat de signature en dernières pages)"
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /abysign/envelopes/{id}/certificate.pdf#
Certificat de signature seul
Réponse application/pdf en pièce jointe. 404 tant que l'enveloppe n'est pas signée ou si l'artefact n'existe pas.
Scopes d'app : signatures: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 : Certificat de signature seul
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": "Certificat de signature seul",
"description": "Réponse `application/pdf` en pièce jointe. 404 tant que l'enveloppe n'est pas signée ou si l'artefact n'existe pas.",
"tags": [
"Signature électronique (AbySign)"
],
"security": [
{
"oauth2": [
"signatures:read"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Certificat de signature seul"
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /abysign/envelopes/{id}/proof.json#
Journal de preuve scellé (Ed25519, clé publique incluse)
Réponse application/json en pièce jointe. 404 tant que l'enveloppe n'est pas signée ou si l'artefact n'existe pas.
Scopes d'app : signatures: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 : Journal de preuve scellé (Ed25519, clé publique incluse)
Contenu de la réponse 200
{
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Voir docs/08-API §16 et la page /verifier"
}
}
}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": "Journal de preuve scellé (Ed25519, clé publique incluse)",
"description": "Réponse `application/json` en pièce jointe. 404 tant que l'enveloppe n'est pas signée ou si l'artefact n'existe pas.",
"tags": [
"Signature électronique (AbySign)"
],
"security": [
{
"oauth2": [
"signatures:read"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Journal de preuve scellé (Ed25519, clé publique incluse)",
"content": {
"application/json": {
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {},
"description": "Voir docs/08-API §16 et la page /verifier"
}
}
}
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}GET /abysign/envelopes/{id}/timestamp.tsr#
Jeton d'horodatage RFC 3161 (404 sans autorité configurée)
Réponse application/timestamp-reply en pièce jointe. 404 tant que l'enveloppe n'est pas signée ou si l'artefact n'existe pas.
Scopes d'app : signatures: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 : Jeton d'horodatage RFC 3161 (404 sans autorité configurée)
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": "Jeton d'horodatage RFC 3161 (404 sans autorité configurée)",
"description": "Réponse `application/timestamp-reply` en pièce jointe. 404 tant que l'enveloppe n'est pas signée ou si l'artefact n'existe pas.",
"tags": [
"Signature électronique (AbySign)"
],
"security": [
{
"oauth2": [
"signatures:read"
]
},
{
"userSession": []
}
],
"responses": {
"200": {
"description": "Jeton d'horodatage RFC 3161 (404 sans autorité configurée)"
},
"default": {
"description": "Erreur - enveloppe problem+json (RFC 9457)",
"content": {
"application/problem+json": {
"schema": {
"$ref": "#/components/schemas/Problem"
}
}
}
}
}
}