{"openapi":"3.1.0","info":{"title":"Zenipact API","version":"1.0.0","description":"API REST Zenipact : identit\u00e9 v\u00e9rifi\u00e9e, signature \u00e9lectronique et paiement. Authentification par cl\u00e9 d'API (Bearer). Les cl\u00e9s `zs_test_` fonctionnent en bac \u00e0 sable (filigrane, sans valeur juridique). En-t\u00eate `Idempotency-Key` support\u00e9 sur les cr\u00e9ations. Limite : 600 requ\u00eates\/minute par cl\u00e9.\n\nWebhooks sortants : chaque \u00e9v\u00e9nement est sign\u00e9 HMAC-SHA256, publi\u00e9 sous deux en-t\u00eates de m\u00eame valeur \u2014 `X-Zenipact-Signature: v1=<hex>` et l'historique `X-Zenisign-Signature: v1=<hex>` \u2014 calcul\u00e9 sur `<timestamp>.<body>` avec le secret du webhook (horodatage dans `X-Zenipact-Timestamp`, alias `X-Zenisign-Timestamp`). Les \u00e9v\u00e9nements `pact.*` portent `data.pact` en plus de `data.envelope`.\n\nZenipact : un *pact* relie une identit\u00e9 v\u00e9rifi\u00e9e (CheckID), une signature et un paiement (Wallet). Cycle : created -> identity_pending -> identity_verified -> signing -> signed -> payment_pending -> active -> released ; branches rejected | disputed | cancelled | expired. Un `identity_level` kyc_* bloque la signature jusqu'\u00e0 l'approbation de l'identit\u00e9 ; un `payment_mode` diff\u00e9rent de none bloque l'activation jusqu'\u00e0 la confirmation de paiement.\n\nIdentit\u00e9 : le niveau se r\u00e8gle par signataire (`recipients[].identity_level`). Pour un niveau kyc_*, la v\u00e9rification CheckID s'ouvre quand le signataire ouvre son lien, une seule \u00e0 la fois, trois tentatives au maximum ; la lecture et la signature restent bloqu\u00e9es jusqu'\u00e0 l'approbation. Le dossier de preuve ne conserve que l'empreinte SHA-256 du rapport (aucune image, aucun num\u00e9ro de pi\u00e8ce).\n\nPaiement : `payment_mode` diff\u00e9rent de `none` ajoute une \u00e9tape au parcours \u2014 le payeur (`recipients[].payment_role = payer`) est envoy\u00e9 chez Wallet apr\u00e8s sa signature, et le pact ne devient `active` qu'\u00e0 la confirmation re\u00e7ue par webhook. Un s\u00e9questre (`escrow`, ou `hold` au-del\u00e0 du seuil de caution) est ouvert d\u00e8s la cr\u00e9ation du pact : si le compte n'a pas de connecteur de s\u00e9questre, la cr\u00e9ation r\u00e9pond 422 `escrow_connector_required` et rien n'est cr\u00e9\u00e9. Les jalons sont lib\u00e9r\u00e9s un \u00e0 un ; le pact passe `released` quand tous le sont. \u00c9v\u00e9nements Wallet trait\u00e9s : payment.created|succeeded|failed|refunded|chargeback, escrow.created|funded|refunded|disputed|resolved, milestone.released.\n\nPreuve de lecture (toute signature) : ouverture horodat\u00e9e, parcours int\u00e9gral des pages obligatoire, case \u00ab j'ai lu et compris \u00bb horodat\u00e9e et dur\u00e9e de lecture, tous journalis\u00e9s dans la cha\u00eene de preuve et repris sur le certificat. Le code de signature est engag\u00e9 cryptographiquement (SHA-256 du code, d'un sel secret, de l'identifiant de transaction et de l'horodatage) et ancr\u00e9 avant son envoi.\n\nWebhooks entrants (c\u00f4t\u00e9 Zenipact) : `POST \/webhooks\/checkid` (en-t\u00eate `X-CheckID-Signature: sha256=<hex>`) et `POST \/webhooks\/wallet` (en-t\u00eate `X-Wallet-Signature: sha256=<hex>`), hex = HMAC-SHA256 du corps brut avec le secret partag\u00e9 ; `reference` = identifiant public du pact. Rejeu refus\u00e9, signature invalide = 401."},"servers":[{"url":"https:\/\/www.zenipact.com\/api\/v1"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"Pacts"},{"name":"Envelopes"},{"name":"Templates"},{"name":"Contacts"},{"name":"Webhooks"},{"name":"Verification"}],"paths":{"\/me":{"get":{"summary":"Organisation et cl\u00e9 courante","responses":{"200":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"object"}}}}}}}}},"\/envelopes":{"get":{"tags":["Envelopes"],"summary":"Lister les enveloppes","parameters":[{"name":"status","in":"query","schema":{"type":"string","enum":["draft","scheduled","sent","in_progress","completed","declined","expired","cancelled"]}},{"name":"per_page","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/Envelope"}}}}}}}}},"post":{"tags":["Envelopes"],"summary":"Cr\u00e9er une enveloppe (brouillon)","requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/EnvelopeInput"}}}},"responses":{"201":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Envelope"}}}}}}}}},"\/envelopes\/{id}":{"get":{"tags":["Envelopes"],"summary":"D\u00e9tail d'une enveloppe","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Envelope"}}}}}}}},"patch":{"tags":["Envelopes"],"summary":"Modifier un brouillon","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/EnvelopeInput"}}}},"responses":{"200":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Envelope"}}}}}}}},"delete":{"tags":["Envelopes"],"summary":"Supprimer un brouillon","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"204":{"description":"Supprim\u00e9"}}}},"\/envelopes\/{id}\/documents":{"post":{"tags":["Envelopes"],"summary":"Ajouter un document PDF (multipart `file` ou JSON `content_base64`)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"multipart\/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary"},"name":{"type":"string"}}}},"application\/json":{"schema":{"type":"object","properties":{"content_base64":{"type":"string"},"name":{"type":"string"}}}}}},"responses":{"201":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Document"}}}}}}}}},"\/envelopes\/{id}\/recipients":{"post":{"tags":["Envelopes"],"summary":"Ajouter un destinataire","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/RecipientInput"}}}},"responses":{"201":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Recipient"}}}}}}}}},"\/envelopes\/{id}\/fields":{"post":{"tags":["Envelopes"],"summary":"Ajouter des champs (positions relatives 0-1)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"fields":{"type":"array","items":{"$ref":"#\/components\/schemas\/FieldInput"}}}}}}},"responses":{"201":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/FieldInput"}}}}}}}}}},"\/envelopes\/{id}\/send":{"post":{"tags":["Envelopes"],"summary":"Envoyer l'enveloppe","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Envelope"}}}}}},"422":{"description":"Enveloppe incompl\u00e8te"}}}},"\/envelopes\/{id}\/remind":{"post":{"tags":["Envelopes"],"summary":"Relancer les destinataires en attente","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"\/envelopes\/{id}\/cancel":{"post":{"tags":["Envelopes"],"summary":"Annuler","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"reason":{"type":"string"}}}}}},"responses":{"200":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Envelope"}}}}}}}}},"\/envelopes\/{id}\/events":{"get":{"tags":["Envelopes"],"summary":"Journal des \u00e9v\u00e9nements (cha\u00een\u00e9)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"\/envelopes\/{id}\/evidence":{"get":{"tags":["Envelopes"],"summary":"Dossier de preuve","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"\/envelopes\/{id}\/download\/{what}":{"get":{"tags":["Envelopes"],"summary":"T\u00e9l\u00e9charger signed | certificate | proof","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}},{"name":"what","in":"path","required":true,"schema":{"type":"string","enum":["signed","certificate","proof"]}}],"responses":{"200":{"description":"Fichier"}}}},"\/pacts":{"get":{"tags":["Pacts"],"summary":"Lister les pacts","parameters":[{"name":"status","in":"query","schema":{"type":"string","enum":["created","identity_pending","identity_verified","signing","signed","payment_pending","active","released","rejected","disputed","cancelled","expired"]}},{"name":"updated_since","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"per_page","in":"query","schema":{"type":"integer"}}],"responses":{"200":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#\/components\/schemas\/Pact"}}}}}}}}},"post":{"tags":["Pacts"],"summary":"Cr\u00e9er un pact et son enveloppe en un appel","description":"Cr\u00e9e l'enveloppe (brouillon) et le pact. Si identity_level est kyc_basic ou kyc_full, la v\u00e9rification d'identit\u00e9 est ouverte imm\u00e9diatement et la signature reste bloqu\u00e9e jusqu'\u00e0 son approbation. Ajoutez ensuite les documents et les champs par \/envelopes\/{id}\/documents et \/envelopes\/{id}\/fields, puis envoyez par \/envelopes\/{id}\/send.","requestBody":{"content":{"application\/json":{"schema":{"$ref":"#\/components\/schemas\/PactInput"}}}},"responses":{"201":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Pact"}}}}}},"422":{"description":"Payload invalide"}}}},"\/pacts\/{id}":{"get":{"tags":["Pacts"],"summary":"D\u00e9tail d'un pact (identit\u00e9, paiement, enveloppe)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Pact"}}}}}}}}},"\/pacts\/{id}\/cancel":{"post":{"tags":["Pacts"],"summary":"Annuler un pact (et son enveloppe si elle peut l'\u00eatre)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"reason":{"type":"string"}}}}}},"responses":{"200":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Pact"}}}}}},"409":{"description":"Pact d\u00e9j\u00e0 cl\u00f4tur\u00e9"}}}},"\/templates":{"get":{"tags":["Templates"],"summary":"Lister les mod\u00e8les","responses":{"200":{"description":"OK"}}}},"\/templates\/{id}":{"get":{"tags":["Templates"],"summary":"D\u00e9tail d'un mod\u00e8le (r\u00f4les, champs)","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"}}}},"\/templates\/{id}\/envelopes":{"post":{"tags":["Templates"],"summary":"Cr\u00e9er (et \u00e9ventuellement envoyer) une enveloppe depuis un mod\u00e8le","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application\/json":{"schema":{"type":"object","required":["recipients"],"properties":{"recipients":{"type":"array","items":{"type":"object","properties":{"role_key":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string"},"locale":{"type":"string"}}}},"prefill":{"type":"object","description":"label du champ => valeur"},"send":{"type":"boolean"},"title":{"type":"string"},"metadata":{"type":"object"}}}}}},"responses":{"201":{"description":"OK","content":{"application\/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#\/components\/schemas\/Envelope"}}}}}}}}},"\/contacts":{"get":{"tags":["Contacts"],"summary":"Lister","responses":{"200":{"description":"OK"}}},"post":{"tags":["Contacts"],"summary":"Cr\u00e9er \/ mettre \u00e0 jour par email","responses":{"201":{"description":"OK"}}}},"\/webhooks":{"get":{"tags":["Webhooks"],"summary":"Lister","responses":{"200":{"description":"OK"}}},"post":{"tags":["Webhooks"],"summary":"Cr\u00e9er (le secret est renvoy\u00e9 une seule fois)","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"events":{"type":"array","items":{"type":"string","enum":["envelope.sent","envelope.completed","envelope.declined","envelope.expired","envelope.cancelled","recipient.viewed","recipient.signed","recipient.declined","anchor.confirmed","pact.created","pact.identity_pending","pact.identity_verified","pact.signing","pact.signed","pact.payment_pending","pact.active","pact.released","pact.rejected","pact.disputed","pact.cancelled","pact.expired"]}}}}}}},"responses":{"201":{"description":"OK"}}}},"\/webhooks\/{id}":{"delete":{"tags":["Webhooks"],"summary":"Supprimer","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"204":{"description":"OK"}}}},"\/webhooks\/{id}\/deliveries":{"get":{"tags":["Webhooks"],"summary":"Journal des livraisons","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"integer"}}],"responses":{"200":{"description":"OK"}}}},"\/verify":{"post":{"tags":["Verification"],"summary":"V\u00e9rifier une empreinte SHA-256 (sans authentification)","security":[],"requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"hash":{"type":"string"}}}}}},"responses":{"200":{"description":"OK"}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer"}},"schemas":{"EnvelopeInput":{"type":"object","required":["title"],"properties":{"title":{"type":"string"},"message":{"type":"string"},"signing_order":{"type":"string","enum":["sequential","parallel"]},"default_level":{"type":"string","enum":["simple","advanced"]},"expires_at":{"type":"string","format":"date-time"},"reminder_days":{"type":"array","items":{"type":"integer"}},"tags":{"type":"array","items":{"type":"string"}},"metadata":{"type":"object"},"recipients":{"type":"array","items":{"$ref":"#\/components\/schemas\/RecipientInput"}}}},"RecipientInput":{"type":"object","required":["name","email"],"properties":{"name":{"type":"string"},"email":{"type":"string"},"phone":{"type":"string","description":"E.164, requis pour OTP SMS"},"role":{"type":"string","enum":["signer","approver","filler","cc"]},"order":{"type":"integer"},"locale":{"type":"string","enum":["fr","en","nl","de"]},"level":{"type":"string","enum":["simple","advanced"]}}},"FieldInput":{"type":"object","required":["document_id","recipient_id","type","page","x","y","w","h"],"properties":{"document_id":{"type":"string"},"recipient_id":{"type":"string"},"type":{"type":"string","enum":["signature","initials","date","name","email","company","title","text","number","checkbox","radio","select","mention"]},"page":{"type":"integer"},"x":{"type":"number"},"y":{"type":"number"},"w":{"type":"number"},"h":{"type":"number"},"required":{"type":"boolean"},"label":{"type":"string"},"default_value":{"type":"string"},"validation":{"type":"string","description":"email | iban | vat | number | regex:..."}}},"Envelope":{"type":"object","properties":{"id":{"type":"string"},"title":{"type":"string"},"status":{"type":"string","enum":["draft","scheduled","sent","in_progress","completed","declined","expired","cancelled"]},"documents":{"type":"array","items":{"$ref":"#\/components\/schemas\/Document"}},"recipients":{"type":"array","items":{"$ref":"#\/components\/schemas\/Recipient"}},"final_hash":{"type":"string"},"links":{"type":"object"}}},"PactInput":{"type":"object","required":["title","recipients"],"properties":{"title":{"type":"string"},"message":{"type":"string"},"signing_order":{"type":"string","enum":["sequential","parallel"]},"expires_at":{"type":"string","format":"date-time"},"metadata":{"type":"object"},"identity_level":{"type":"string","enum":["none","sms","kyc_basic","kyc_full"],"description":"none = lien e-mail ; sms = code SMS (t\u00e9l\u00e9phone obligatoire) ; kyc_basic \/ kyc_full = v\u00e9rification CheckID bloquante"},"payment_mode":{"type":"string","enum":["none","deposit","full","hold","escrow"],"description":"none | deposit | full | hold | escrow ; une caution au-del\u00e0 du seuil configur\u00e9 passe automatiquement en s\u00e9questre"},"amount":{"type":"integer","description":"Montant en centimes, requis d\u00e8s que payment_mode != none"},"currency":{"type":"string","example":"EUR"},"milestones":{"type":"array","items":{"type":"object","required":["label"],"properties":{"label":{"type":"string"},"amount":{"type":"integer"},"status":{"type":"string"}}}},"recipients":{"type":"array","items":{"allOf":[{"$ref":"#\/components\/schemas\/RecipientInput"},{"type":"object","properties":{"identity_level":{"type":"string","enum":["none","sms","kyc_basic","kyc_full"],"description":"Niveau d'identit\u00e9 de CE signataire ; \u00e0 d\u00e9faut, celui du pact s'applique"},"payment_role":{"type":"string","enum":["payer","payee"],"description":"payer = celui qui paie (redirige vers Wallet apres signature), payee = beneficiaire"},"expected_identity":{"type":"object","description":"Identit\u00e9 attendue pour le rapprochement CheckID","properties":{"first_name":{"type":"string"},"last_name":{"type":"string"},"birth_date":{"type":"string","format":"date","example":"1985-04-12"}}}}}]}}}},"Pact":{"type":"object","properties":{"id":{"type":"string","description":"Identifiant public : r\u00e9f\u00e9rence transmise \u00e0 CheckID et Wallet"},"object":{"type":"string","example":"pact"},"status":{"type":"string","enum":["created","identity_pending","identity_verified","signing","signed","payment_pending","active","released","rejected","disputed","cancelled","expired"]},"status_reason":{"type":"string"},"envelope_id":{"type":"string"},"identity":{"type":"object","properties":{"level":{"type":"string"},"status":{"type":"string","enum":["pending","review","approved","rejected"]},"check_id":{"type":"string"},"report_hash":{"type":"string"}}},"payment":{"type":"object","properties":{"mode":{"type":"string"},"status":{"type":"string","enum":["pending","paid","failed","refunded","released"]},"amount":{"type":"integer"},"amount_decimal":{"type":"number"},"currency":{"type":"string"},"wallet_payment_id":{"type":"string"},"wallet_escrow_id":{"type":"string"},"wallet_mode":{"type":"string"},"proof_hash":{"type":"string"},"paid_at":{"type":"string"},"milestones":{"type":"array","items":{"type":"object","properties":{"label":{"type":"string"},"amount":{"type":"integer"},"status":{"type":"string"},"wallet_id":{"type":"string"}}}}}},"activated_at":{"type":"string"},"released_at":{"type":"string"},"disputed_at":{"type":"string"},"envelope":{"$ref":"#\/components\/schemas\/Envelope"}}},"Document":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"pages":{"type":"integer"},"original_hash":{"type":"string"},"final_hash":{"type":"string"}}},"Recipient":{"type":"object","properties":{"id":{"type":"string"},"name":{"type":"string"},"email":{"type":"string"},"role":{"type":"string"},"order":{"type":"integer"},"status":{"type":"string"},"signed_at":{"type":"string"}}}}},"webhooks":{"envelope.sent":{"post":{"summary":"envelope.sent","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"envelope.completed":{"post":{"summary":"envelope.completed","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"envelope.declined":{"post":{"summary":"envelope.declined","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"envelope.expired":{"post":{"summary":"envelope.expired","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"envelope.cancelled":{"post":{"summary":"envelope.cancelled","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"recipient.viewed":{"post":{"summary":"recipient.viewed","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"recipient.signed":{"post":{"summary":"recipient.signed","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"recipient.declined":{"post":{"summary":"recipient.declined","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"anchor.confirmed":{"post":{"summary":"anchor.confirmed","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.created":{"post":{"summary":"pact.created","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.identity_pending":{"post":{"summary":"pact.identity_pending","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.identity_verified":{"post":{"summary":"pact.identity_verified","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.signing":{"post":{"summary":"pact.signing","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.signed":{"post":{"summary":"pact.signed","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.payment_pending":{"post":{"summary":"pact.payment_pending","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.active":{"post":{"summary":"pact.active","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.released":{"post":{"summary":"pact.released","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.rejected":{"post":{"summary":"pact.rejected","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.disputed":{"post":{"summary":"pact.disputed","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.cancelled":{"post":{"summary":"pact.cancelled","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}},"pact.expired":{"post":{"summary":"pact.expired","requestBody":{"content":{"application\/json":{"schema":{"type":"object","properties":{"id":{"type":"string"},"event":{"type":"string"},"created_at":{"type":"string"},"data":{"type":"object"}}}}}}}}}}