{"name":"Run a KYB check when a French business client signs up (Sirenic)","nodes":[{"parameters":{"content":"## Run a KYB check when a French business client signs up\n\nOne call returns the onboarding file: legal identity, officers, BODACC legal notices (insolvency, deregistration), filed accounts, sanctions screening of the company AND of every officer against six official lists, plus a completeness score. Route to auto-approve, human review or hard stop.\n\n### Who's it for\n\nCompliance and onboarding teams opening a business relationship with a French company.\n\n### How it works\n\n- **Get the KYB file**: `/v1/kyb/{siren}` ($0.15)\n\n### How to set up\n\n1. Create an API key at https://api.sirenic.eu/compte (e-mail + magic link).\n2. Add a **Header Auth** credential in n8n: name `X-Api-Key`, value `srn_live_…`.\n3. Select it on every HTTP Request node, then replace the placeholder nodes with your own app.\n\n### Requirements\n\n- A Sirenic API key. Native n8n nodes only, so this runs on n8n Cloud: no community node, no wallet, no crypto.\n- Cost: **$0.15 per file**. 150 calls a month are free on routes at $0.05 or less. An error is never billed.\n\n### How to customize\n\nAdjust the routing rules, and archive the file where your auditors expect to find it.\n\n_Official sources: INSEE Sirene, INPI RNE, BODACC, DECP and the official sanctions lists._\n_Sirenic is not an accredited e-invoicing platform, and a sanctions match is never an automated decision._","height":720,"width":420},"id":"overview","name":"Overview","type":"n8n-nodes-base.stickyNote","typeVersion":1,"position":[-500,-260]},{"parameters":{"httpMethod":"GET","path":"sirenic-kyb","responseMode":"lastNode","options":{}},"id":"receive-a-new-client-from-the-onboar","name":"Receive a new client from the onboarding form","type":"n8n-nodes-base.webhook","typeVersion":2,"position":[0,0],"webhookId":"acbacc8d-c9cc-410a-abaa-8c02f1787066"},{"parameters":{"url":"=https://api.sirenic.eu/v1/kyb/{{ $('Receive a new client from the onboarding form').item.json.query.siren }}","authentication":"genericCredentialType","genericAuthType":"httpHeaderAuth","options":{}},"id":"get-the-kyb-file","name":"Get the KYB file","type":"n8n-nodes-base.httpRequest","typeVersion":4.2,"position":[260,0]},{"parameters":{"conditions":{"options":{"caseSensitive":true,"leftValue":"","typeValidation":"loose","version":2},"conditions":[{"id":"c1","leftValue":"={{ $json.criblage_sanctions.cibles.some((c) => c.nombre_correspondances > 0) }}","rightValue":"","operator":{"type":"boolean","operation":"true","singleValue":true}}],"combinator":"and"},"looseTypeValidation":true,"options":{}},"id":"any-sanctions-match-","name":"Any sanctions match?","type":"n8n-nodes-base.if","typeVersion":2.2,"position":[520,0]},{"parameters":{},"id":"send-to-compliance-for-human-review","name":"Send to compliance for human review","type":"n8n-nodes-base.noOp","typeVersion":1,"position":[780,-140]},{"parameters":{},"id":"approve-and-store-the-file","name":"Approve and store the file","type":"n8n-nodes-base.noOp","typeVersion":1,"position":[780,140]},{"parameters":{"content":"**$0.15**: If sanctions screening is unavailable, the route fails with a 503 that is NOT billed: treat that 503 as \"retry later\", never as \"clean company\".","height":180,"width":240,"color":7},"id":"note-get-the-kyb-file","name":"Note Get the KYB file","type":"n8n-nodes-base.stickyNote","typeVersion":1,"position":[250,-260]}],"connections":{"Receive a new client from the onboarding form":{"main":[[{"node":"Get the KYB file","type":"main","index":0}]]},"Get the KYB file":{"main":[[{"node":"Any sanctions match?","type":"main","index":0}]]},"Any sanctions match?":{"main":[[{"node":"Send to compliance for human review","type":"main","index":0}],[{"node":"Approve and store the file","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"pinData":{}}