{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"ed4622e5-04df-412d-a5c4-0ea6b43e3ddc","name":"Kolleno - Open API v1","description":"Welcome to Kolleno Open API - the best way to recover your late invoices fully integrated with your custom systems.\n\nSending updated and real-time data to Kolleno is important to make sure the account managers always have the most up-to-date informations when they contact your customers.\n\nIf you don't use one of our supported accounting software, you have the possibility to integrate directly into our Kolleno Open API.\n\nIt is designed for companies that have custom-made systems and want to integrate directly with Kolleno in a seamless manner.\n\n# Authentication\n\n## Overview\n\nThe authentication is done with an API Key linked to your user. If you don't want it to be linked to your user, you can create a separate one just for the API Key (i.e. it won't be used in the User Interface).\n\nThe API Key is made of a `client_id` and a `client_secret`.\n\n## Add the key to your request\n\nIn the headers of your HTTP request, send the following:  \n`Authorization: API client_id:client_secret`\n\nThe header key is `Authorization`, and the value is `API{blank space}` appended with the `client_id` and `client_secret` (please make sure these two are separated by a colon `:`)\n\nExample:  \nIf your `client_id` is `89cc52b4-6433-4b25-8ea5-2f9d4a077552` and your `client_secret` is `oa1ObDJEtQebtu` then you would send:  \n`Authorization: API 89cc52b4-6433-4b25-8ea5-2f9d4a077552:oa1ObDJEtQebtu`\n\n## Authenticate in Postman\n\nThe code examples included in this documentation do not include the headers to avoid repetition. However, if you use Postman, you can create environment variables: [https://learning.postman.com/docs/sending-requests/managing-environments/#creating-environments](https://learning.postman.com/docs/sending-requests/managing-environments/#creating-environments)\n\nwith the following variables: `client_id` and `client_secret`\n\nThe reason it works is because the \"Authorization\" tab in each request has the pre-selected option \"Inherit auth from parent\". See: [https://learning.postman.com/docs/sending-requests/authorization/#inheriting-auth](https://learning.postman.com/docs/sending-requests/authorization/#inheriting-auth)\n\nIn this Postman collection, the header has been defined in \"Pre-request Scripts\" at the collection level.\n\n## Get your key\n\nPlease get in touch with your sales representative in order to get access to the API.\n\n# General structure\n\n- Companies are the organizations your user is part of.\n    \n- Every Company has a number of Customers.\n    \n- Every Customer has a number of Invoices and Persons (your point of contacts at your Customers).\n    \n- Every Customer has a number of Transactions linked to any number of Invoices belonging to that same Customer.\n    \n- Every Customer has a number of Credit Notes linked to any number of Invoices belonging to that same Customer.\n    \n- Every Customer has a number of Card Details and DIrect Debit Details.\n    \n\n# Changes Log\n\n_2026-04-29 -_ New endpoint to update Custom Fields on Invoice records.\n\n_2026-03-19 -_ Optional query parameters ?soruce and ?source_customer added to Person endpoints.\n\n_2026-03-05 -_ Added the 'Match' List and Retrieve endpoints. Move Person endpoint to using 'source_id' (backwards compatibility with 'external_id').\n\n_2026-03-04_ - Added _extra_data_ to Invoice record (send any JSON formatted data).\n\n_2026-01-13_ - Send \"source_id\" to update custom fields.\n\n_2025-10-27_ - (a) New endpoint to retrieve the list of Position External. (b) New endpoints for linking Person <> Invoice. (c) Update \"pause_chasing\" of any Invoice.source. (d) Update \"primary\" and \"position_external\" of any Person.source.\n\n_2024-11-18_ - Set and retrieve \"warning_level\" on Customers.\n\n_2024-09-25 -_ Return \"date_created\" for Card Detail and Direct Debit Detail\n\n_2024-05-21_ - Ability to update the field \"extra_data\" for Customer object, no matter the source of the record.\n\n_2024-04-04_ - Returning \"balance\" field on Customer object (read-only)\n\n_2024-03-08_ - Set and retrieve \"persons\" on Invoices.\n\n_2024-03-04_ - Set and retrieve \"amount_remaining\" for Credit Notes.\n\n_2023-12-27_ - Ability to download a Credit Note PDF.\n\n_2023-12-20_ - Ability to upload an Invoice PDF by using its source_id.\n\n_2023-12-18_ - Added endpoint to download any invoice PDF.\n\n_2023-11-17_ - Filter CardDetail and DirectDebitDetail by \"customer__source_id\".\n\n_2023-11-09_ - Ability to filter by \"source_id\" on Card Detail and Direct Debit Detail list endpoints.\n\n_2023-10-27_ - Added endpoints to get the list of Card Details and Direct Debit Detail. For Customers and Invoices, replaced \"external_id\" by \"source_id\".\n\n_2023-09-21_ - Added an extra_field \"bank_account_setup_url\" for Customer GET endpoints.\n\n_2023-08-28_ - Added \"extra_fields\" value \"has_direct_debit_detail\" for Customer GET endpoints. Also added \"extra_fields\" for Timeline GET endpoint with possible values: \"contacts\" and \"content\".\n\n_2023-08-23_ - Return \"extra_fields\" for Customer GET endpoints. First field added: \"gocardless_customer_id\".\n\n_2023-05-30_ - Added endpoints to get the Customer Portal URL and the list of Steps from the timeline.\n\n_2022-12-01_ - Added field 'description' for the Invoice objects.\n\n_2022-10-21_ - Endpoint to get the persons by default returns all Persons in the Company, with possible filtering by ?customer=UUID.\n\n_2022-07-04 -_ Mark Transactions as \"prepayment\" or \"overpayment\". Record amount remaining to be credited on a pre/overpayment. Flag the transaction as \"paid\" or \"voided\".\n\n_2022-02-14_ - Added 'date_invoice' field for Invoice objects.\n\n_2022-01-27_ - Added Credit Notes endpoints to the Open API.\n\n_2021-12-14_ - Added 'ref' field for Customer object.\n\n_2021-10-20_ - Solved inconsistency where PPN was still documenting the UUID.\n\n_2021-09-13_ - Countries and Currencies updated with ISO code (2 characters for country, 3 characters for currency) rather than ID.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"7443089","team":1488498,"collectionId":"ed4622e5-04df-412d-a5c4-0ea6b43e3ddc","publishedId":"TVzNGeSJ","public":true,"publicUrl":"https://documenter-api.postman.tech/view/7443089/TVzNGeSJ","privateUrl":"https://go.postman.co/documentation/7443089-ed4622e5-04df-412d-a5c4-0ea6b43e3ddc","customColor":{"top-bar":"FFFFFF","right-sidebar":"091A59","highlight":"5476F6"},"documentationLayout":"classic-double-column","customisation":null,"version":"8.10.1","publishDate":"2021-02-10T14:39:32.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{},"logos":{}},"statusCode":200},"environments":[{"name":"api-v1","id":"443e8ab9-ab86-4392-bacc-32d4ec760a87","owner":"7443089","values":[{"key":"client_id","value":"UUID","enabled":true},{"key":"client_secret","value":"string","enabled":true},{"key":"domain_name","value":"https://api.kolleno.com/v1","enabled":true},{"key":"country","value":"US","enabled":true},{"key":"currency","value":"USD","enabled":true}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/19f488ba108fb28dbf6fc8bf46a0e8fe79b5bc3d3d9f13a96572aa8efbdd4e75","favicon":""},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"api-v1","value":"7443089-443e8ab9-ab86-4392-bacc-32d4ec760a87"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/TVzNGeSJ"}