{"info":{"_postman_id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","name":"InvoiceCraftly Developer Document API — Official","description":"<html><head></head><body><p>Official Postman collection for the InvoiceCraftly Developer Document API (Beta).</p>\n<p>Generate invoice PDFs, check EN16931-core e-invoice readiness, and generate EN16931-core UBL/XML.</p>\n<p>Authentication: Bearer API key (<code>dk_live_…</code>). Keep API keys secret and server-side.</p>\n<p>Docs: <a href=\"https://invoicecraftly.com/developers/\">https://invoicecraftly.com/developers/</a>\nTypeScript SDK: <a href=\"https://www.npmjs.com/package/@invoicecraftly/client\">https://www.npmjs.com/package/@invoicecraftly/client</a>\nPython SDK: <a href=\"https://pypi.org/project/invoicecraftly/\">https://pypi.org/project/invoicecraftly/</a>\nTypeScript source: <a href=\"https://github.com/abaidurrehman/invoicecraftly-js\">https://github.com/abaidurrehman/invoicecraftly-js</a>\nPython source: <a href=\"https://github.com/abaidurrehman/invoicecraftly-python\">https://github.com/abaidurrehman/invoicecraftly-python</a></p>\n<p>Scope note: structured output targets EN16931-core only. It is not a Peppol BIS artifact, does not transmit through an Access Point, and is not an official conformance claim.</p>\n<p>All example companies and invoice data in this collection are fictional.</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"2986090","collectionId":"d12fdce7-a2d7-4685-9b08-008adc3671f0","publishedId":"2sBYB1PoQR","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2026-09-20T16:41:45.000Z"},"item":[{"name":"Core API","item":[{"name":"Generate invoice PDF","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 200', function () { pm.response.to.have.status(200); });","pm.test('Response is a PDF', function () { pm.expect(pm.response.headers.get('Content-Type')).to.include('application/pdf'); });"],"id":"4338d708-8e7c-4d03-a722-a57d41827a1c"}}],"id":"804f0a67-8f17-4a55-9cdb-bf31e088513c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"type\": \"invoice\",\n  \"number\": \"INV-1042\",\n  \"issueDate\": \"2026-09-05\",\n  \"dueDate\": \"2026-09-19\",\n  \"currency\": \"USD\",\n  \"seller\": {\n    \"name\": \"Fixture Seller Studio\",\n    \"addressLines\": [\n      \"12 Render Way\",\n      \"Austin, TX 73301\",\n      \"United States\"\n    ]\n  },\n  \"buyer\": {\n    \"name\": \"Fixture Buyer Co\",\n    \"addressLines\": [\n      \"400 Client Ave\",\n      \"Denver, CO 80202\",\n      \"United States\"\n    ]\n  },\n  \"items\": [\n    {\n      \"description\": \"Brand design retainer\",\n      \"quantity\": 2,\n      \"unitPrice\": 150,\n      \"taxRate\": 8.25,\n      \"taxLabel\": \"Sales Tax\"\n    }\n  ],\n  \"payment\": {\n    \"iban\": \"DE89370400440532013000\",\n    \"reference\": \"INV-1042\",\n    \"terms\": \"Net 14\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://invoicecraftly.com/api/v1/documents/pdf","description":"<p>Generate a print-ready invoice PDF using the released Ledger template. Successful responses are <code>application/pdf</code>. The beta currently supports invoices only and includes 100 PDF renders per API key per month.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{api_key}}"}]},"isInherited":true,"source":{"_postman_id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","name":"InvoiceCraftly Developer Document API — Official","type":"collection"}},"urlObject":{"path":["api","v1","documents","pdf"],"host":["https://invoicecraftly.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"804f0a67-8f17-4a55-9cdb-bf31e088513c"},{"name":"Check EN16931-core readiness","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 200', function () { pm.response.to.have.status(200); });","const body = pm.response.json();","pm.test('Uses the v1 EN16931-core profile', function () {","  pm.expect(body.apiVersion).to.eql('v1');","  pm.expect(body.profileId).to.eql('en16931-core');","  pm.expect(body.specificationIdentifier).to.eql('urn:cen.eu:en16931:2017');","  pm.expect(body).to.have.property('ready');","  pm.expect(body).to.not.have.property('artifact');","});"],"id":"f4e10f31-aef1-4ded-a89d-c0b5e8c9fc72"}}],"id":"b269bd97-f4e5-43ca-a410-a743955ae0ea","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"document\": {\n    \"type\": \"invoice\",\n    \"issueDate\": \"2026-08-23\",\n    \"currency\": \"NOK\",\n    \"locale\": \"nb-NO\",\n    \"seller\": {\n      \"name\": \"Eksempel AS\",\n      \"addressLines\": [\n        \"Karl Johans gate 1\",\n        \"0154 Oslo\"\n      ]\n    },\n    \"buyer\": {\n      \"name\": \"Kunde AS\",\n      \"addressLines\": [\n        \"Storgata 2\",\n        \"0184 Oslo\"\n      ]\n    },\n    \"items\": [\n      {\n        \"description\": \"Consulting\",\n        \"quantity\": 2,\n        \"unitPrice\": 1000,\n        \"taxRate\": 25,\n        \"taxLabel\": \"MVA\"\n      }\n    ]\n  },\n  \"supplement\": {\n    \"version\": 1,\n    \"seller\": {\n      \"postalAddress\": {\n        \"countryCode\": \"NO\",\n        \"city\": \"Oslo\",\n        \"postalCode\": \"0154\"\n      },\n      \"taxId\": {\n        \"role\": \"legal-registration\",\n        \"schemeId\": \"0192\"\n      },\n      \"vatIdentifier\": \"NO123456785MVA\"\n    },\n    \"buyer\": {\n      \"postalAddress\": {\n        \"countryCode\": \"NO\",\n        \"city\": \"Oslo\",\n        \"postalCode\": \"0184\"\n      }\n    },\n    \"lines\": [\n      {\n        \"sourceIndex\": 0,\n        \"unitCode\": \"HUR\",\n        \"vatCategoryCode\": \"S\"\n      }\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://invoicecraftly.com/api/v1/invoices/readiness","description":"<p>Return EN16931-core readiness diagnostics without generating XML. The request wraps the invoice as <code>document</code> and may include an EN16931-core <code>supplement</code>.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{api_key}}"}]},"isInherited":true,"source":{"_postman_id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","name":"InvoiceCraftly Developer Document API — Official","type":"collection"}},"urlObject":{"path":["api","v1","invoices","readiness"],"host":["https://invoicecraftly.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b269bd97-f4e5-43ca-a410-a743955ae0ea"},{"name":"Generate EN16931-core structured XML","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 200', function () { pm.response.to.have.status(200); });","const body = pm.response.json();","pm.test('Uses the v1 EN16931-core profile', function () {","  pm.expect(body.apiVersion).to.eql('v1');","  pm.expect(body.profileId).to.eql('en16931-core');","  pm.expect(body.specificationIdentifier).to.eql('urn:cen.eu:en16931:2017');","});","if (body.ready) {","  pm.test('Ready response includes XML artifact', function () {","    pm.expect(body.artifact.mediaType).to.eql('application/xml');","    pm.expect(body.artifact.content).to.include('<Invoice');","  });","}"],"id":"e66fda89-f34f-4cb5-a0af-8a12dc3da6b1"}}],"id":"e3973606-8917-40b8-b89a-fcc962705f02","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"document\": {\n    \"type\": \"invoice\",\n    \"issueDate\": \"2026-08-23\",\n    \"currency\": \"NOK\",\n    \"locale\": \"nb-NO\",\n    \"seller\": {\n      \"name\": \"Eksempel AS\",\n      \"addressLines\": [\n        \"Karl Johans gate 1\",\n        \"0154 Oslo\"\n      ]\n    },\n    \"buyer\": {\n      \"name\": \"Kunde AS\",\n      \"addressLines\": [\n        \"Storgata 2\",\n        \"0184 Oslo\"\n      ]\n    },\n    \"items\": [\n      {\n        \"description\": \"Consulting\",\n        \"quantity\": 2,\n        \"unitPrice\": 1000,\n        \"taxRate\": 25,\n        \"taxLabel\": \"MVA\"\n      }\n    ]\n  },\n  \"supplement\": {\n    \"version\": 1,\n    \"seller\": {\n      \"postalAddress\": {\n        \"countryCode\": \"NO\",\n        \"city\": \"Oslo\",\n        \"postalCode\": \"0154\"\n      },\n      \"taxId\": {\n        \"role\": \"legal-registration\",\n        \"schemeId\": \"0192\"\n      },\n      \"vatIdentifier\": \"NO123456785MVA\"\n    },\n    \"buyer\": {\n      \"postalAddress\": {\n        \"countryCode\": \"NO\",\n        \"city\": \"Oslo\",\n        \"postalCode\": \"0184\"\n      }\n    },\n    \"lines\": [\n      {\n        \"sourceIndex\": 0,\n        \"unitCode\": \"HUR\",\n        \"vatCategoryCode\": \"S\"\n      }\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://invoicecraftly.com/api/v1/documents/structured","description":"<p>Return readiness diagnostics plus an EN16931-core UBL/XML artifact when the invoice is ready. This is not a Peppol BIS artifact and does not perform network delivery.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{api_key}}"}]},"isInherited":true,"source":{"_postman_id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","name":"InvoiceCraftly Developer Document API — Official","type":"collection"}},"urlObject":{"path":["api","v1","documents","structured"],"host":["https://invoicecraftly.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"e3973606-8917-40b8-b89a-fcc962705f02"}],"id":"67fb8d77-a126-47cc-81e2-5807d0864128","description":"<p>The three released v1 Developer Document API endpoints.</p>\n","_postman_id":"67fb8d77-a126-47cc-81e2-5807d0864128","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{api_key}}"}]},"isInherited":true,"source":{"_postman_id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","name":"InvoiceCraftly Developer Document API — Official","type":"collection"}}},{"name":"Error examples","item":[{"name":"401 — Missing authentication","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 401', function () { pm.response.to.have.status(401); });","pm.test('Error code is AUTHENTICATION_FAILED', function () { pm.expect(pm.response.json().error.code).to.eql('AUTHENTICATION_FAILED'); });"],"id":"1997b73a-33b1-412c-8df6-8eae526d103e"}}],"id":"fea58b68-b512-47e2-9d2e-42d2c48686cf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"document\": {\n    \"type\": \"invoice\",\n    \"issueDate\": \"2026-08-23\",\n    \"currency\": \"NOK\",\n    \"locale\": \"nb-NO\",\n    \"seller\": {\n      \"name\": \"Eksempel AS\",\n      \"addressLines\": [\n        \"Karl Johans gate 1\",\n        \"0154 Oslo\"\n      ]\n    },\n    \"buyer\": {\n      \"name\": \"Kunde AS\",\n      \"addressLines\": [\n        \"Storgata 2\",\n        \"0184 Oslo\"\n      ]\n    },\n    \"items\": [\n      {\n        \"description\": \"Consulting\",\n        \"quantity\": 2,\n        \"unitPrice\": 1000,\n        \"taxRate\": 25,\n        \"taxLabel\": \"MVA\"\n      }\n    ]\n  },\n  \"supplement\": {\n    \"version\": 1,\n    \"seller\": {\n      \"postalAddress\": {\n        \"countryCode\": \"NO\",\n        \"city\": \"Oslo\",\n        \"postalCode\": \"0154\"\n      },\n      \"taxId\": {\n        \"role\": \"legal-registration\",\n        \"schemeId\": \"0192\"\n      },\n      \"vatIdentifier\": \"NO123456785MVA\"\n    },\n    \"buyer\": {\n      \"postalAddress\": {\n        \"countryCode\": \"NO\",\n        \"city\": \"Oslo\",\n        \"postalCode\": \"0184\"\n      }\n    },\n    \"lines\": [\n      {\n        \"sourceIndex\": 0,\n        \"unitCode\": \"HUR\",\n        \"vatCategoryCode\": \"S\"\n      }\n    ]\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://invoicecraftly.com/api/v1/invoices/readiness","description":"<p>Demonstrates the stable AUTHENTICATION_FAILED envelope returned when the Authorization header is missing.</p>\n","urlObject":{"path":["api","v1","invoices","readiness"],"host":["https://invoicecraftly.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"fea58b68-b512-47e2-9d2e-42d2c48686cf"},{"name":"400 — Invalid request","event":[{"listen":"test","script":{"type":"text/javascript","exec":["pm.test('Status is 400', function () { pm.response.to.have.status(400); });","pm.test('Error code is INVALID_REQUEST', function () { pm.expect(pm.response.json().error.code).to.eql('INVALID_REQUEST'); });"],"id":"462a7632-8d75-4469-b1d4-846179b8dd98"}}],"id":"b405e51c-afff-4e2b-a7e4-75d11e90b6de","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"unexpectedField\": \"x\"\n}","options":{"raw":{"language":"json"}}},"url":"https://invoicecraftly.com/api/v1/invoices/readiness","description":"<p>Demonstrates the stable INVALID_REQUEST envelope for malformed or unknown request fields.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{api_key}}"}]},"isInherited":true,"source":{"_postman_id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","name":"InvoiceCraftly Developer Document API — Official","type":"collection"}},"urlObject":{"path":["api","v1","invoices","readiness"],"host":["https://invoicecraftly.com"],"query":[],"variable":[]}},"response":[],"_postman_id":"b405e51c-afff-4e2b-a7e4-75d11e90b6de"}],"id":"078316f4-57b3-4d94-9c86-f2cfc3c96b2b","description":"<p>Executable examples for stable public error envelopes. Other documented errors include TARGET_NOT_SUPPORTED (422), RATE_LIMITED (429), RENDER_TIMEOUT (503), and PDF_RENDER_FAILED (504).</p>\n","_postman_id":"078316f4-57b3-4d94-9c86-f2cfc3c96b2b","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{api_key}}"}]},"isInherited":true,"source":{"_postman_id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","id":"d12fdce7-a2d7-4685-9b08-008adc3671f0","name":"InvoiceCraftly Developer Document API — Official","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{api_key}}"}]}},"variable":[{"key":"base_url","value":"https://invoicecraftly.com"},{"key":"docs_url","value":"https://invoicecraftly.com/developers/"}]}