{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"f9d0794e-e9c6-4ca4-acdc-71f28dcb434c","name":"Instabank - Agent API - Germany","description":"<img src=\"https://instabank.no/wp-content/uploads/2020/11/Instabank-Logo-1.svg\">\n\nThis documentation describes Instabank's lending agent API for Germany. Below you will find the specifications for creating loan applications for the products that Instabank offers in Germany.\n\n- If you're looking for the documentation for Norway you can find it [here](https://netbank.instabank.no/documentation/agents/).\n    \n- If you're looking for the documentation for Sweden you can find it [here](https://netbank.instabank.se/documentation/agents/).\n    \n- If you're looking for the documentation for Finland you can find it [here](https://netbank.instabank.fi/documentation/agents/).\n    \n\nThe documentation is provided by the Postman service. The Postman service is a commonly used service to develop, test and use modern APIs.\n\n- You can start using this API in Postman by clicking the `Run in Postman` button, on the top right.\n    \n- It's possible to generate starting snippets in most modern development languages, by selecting your favourite language in the 'LANGUAGE' drop down on the top left.\n    \n- We recommend generating request/response classes by copy-pasting the JSON examples into your favourite A.I tool, and prompting the A.I tool to generate the classes in your favourite development language, with or without comments.\n    \n- All requests documented in this documentation contain working test data, and can be executed towards the `Test` environment without any changes.\n    \n- All fields are named to be self explanatory. However some fields have additional comments directly in the JSON examples.\n    \n- All fields in request examples are mandatory. Should you not have data available to populate a specific field, please contact Instabank for clarifications.\n    \n- Debt information should be supplied in each customer's total share, of the specific type of debt.\n    \n- Income should be provided as the total gross income for the customer.\n    \n- Enumeration fields are commented with all available enumerations in the request examples.\n    \n- All products that can have a co-buyer/customer, have request examples with co-buyer. Notice that co-buyer is not mandatory.\n    \n- If the application is for refinancing of existing debt, the total amount to refinance should be specified in the `RefinanceAmount` field. The 'RefinanceAmount' field is not mandatory.\n    \n- The response examples will contain more fields than documented, but these fields are not relevant. Contact Instabank for information about undocumented fields\n    \n\n---\n\n# The flow\n\n1. An application is created with a `Create` method.\n    \n    1. If approved, the offer will be presented in the response.\n        \n2. If the applicant chooses to accepted an approved application, the application is set as accepted with the `SetAccepted` method\n    \n    1. When the application is set as accepted, an automatic communication (SMS and/or e-mail) with a link to Instabank’s direct channel, will be sent to the application by Instabank.\n        \n    2. The onboarding is then completed by the customer, in Instabank’s direct channel.\n        \n3. Any status changes to the application is continuously pushed back, if a push-back-service is agreed upon with Instabank.\n    \n    1. If no push-back-service is in place, the integrating part is responsible for getting status/application changes using the `Get` method.\n        \n        1. If the `Get` method is setup to run on an interval, the interval should never be shorter than 5 minutes per application.\n            \n\n---\n\n# Marking/set as accepted\n\nAs described in `The flow` chapter, the application has to be set as accepted by the applicant, before Instabank will start processing the application. This flow is the standard flow. Most lending agents present multiple offers from multiple banks to their customers. The customer then has to choose one of the offers. Setting the application as accepted, is this action of choosing Instabank's offer.\n\nHowever, if you do not offer multiple offers for your customers, you can set the application as accepted in the `Create` method, by setting the `DoSetAccepted` field to `true`.\n\n---\n\n# Forwarding to Instabank\n\nUse the URL presented in the `Application.Applicant.SigningUrl` for forwarding the customer to Instabank, for completion of the application.\n\n`Application.CoApplicants[].SigningUrl` for co-buyers.\n\n---\n\n# Products\n\nAvailable product are documented as separate `Create` methods below. The product is specified in the `Product.Code` field.\n\nContact Instabank for the specific terms per product.\n\n#### Available products\n\n| **Product** | **Code** |\n| --- | --- |\n| Credit card | 600 |\n\n---\n\n# Application reference\n\nCommunication between Instabank and the agent is done based on a common reference.\n\nThe reference field is named `Application.ExternalReference` and can be set by the agent.\n\n- If this field is used, the reference has to be unique per application.\n    \n- If the field is not used, a GUID will automatically be generated.\n    \n\n---\n\n# Push back/status update\n\nAny status changes to the application is continuously pushed back, if a push-back-service is agreed upon with Instabank.\n\nIf no push-back-service is in place, the integrating part is responsible for getting status/application changes using the `Get` method.\n\nIf the `Get` method is setup to run on an interval, the interval should never be shorter than 5 minutes per application.\n\n---\n\n# Authentication\n\nThe API uses basic authentication.\n\n- A user name and password will be provided.\n    \n- The user name will be the same for all environments.\n    \n- The password will be different in all environments.\n    \n\n---\n\n# Mandatory fields\n\nThe only mandatory fields are Application.Applicant.FirstName/LastName/BirthDate/Email/MobilePhoneNumber, Application.Product.Code and Application.Calculaton.Amount.\n\nAll other fields should only be filled if you have a value for the field. Do not default fields you do not have values for, set them null or do not inlcude them in the request. This means; do not set string fields to empty string, do not set number fields to 0, do not set boolean values to false, or any other value, if you do not have an actual value for the field.\n\n---\n\n# Response fields\n\nSee the documented example responses for fields in the response. Notice that it's only the relevant fields that are in the documented examples. The response will contain more fields than documented, but these fields are not relevant. Contact Instabank for information about undocumented fields.\n\n---\n\n# Enumerations\n\nEnumeration fields are commented with all available enumerations in the request examples.\n\n---\n\n# Error handling\n\nThere are no error scenarios that needs specific handling. All errors will generate a HTTP status indicating and error.\n\nThe response on error will contain the following fields:\n\n- `Message` - Describing the error.\n    \n- `Code` - Uniquely identifying the error.\n    \n- `RequestId` - Uniquely identifying the request.\n    \n\n``` json\n{\n  \"Message\": \"An error occurred\",\n  \"Code\": 10,\n  \"RequstId\": \"5edf8ed9-ebb1-41a8-bc84-07c8910f6d68\"\n}\n\n ```\n\nPlease contact Instabank if you experience repeated errors.\n\n---\n\n# Customers\n\nAll products that can have a co-buyer/customer, have request examples with co-buyer. Notice that co-buyer is not mandatory.\n\nCustomer and co-buyer share the same fields in the request and response.\n\n---\n\n# Debt and income\n\nDebt information should be supplied in each customer's total share, of the specific type of debt.\n\nI.E if there's two customers, and they have a shared mortgage loan of 200 000. The mortgage loan share for each applicant is 100 000.\n\nIncome should be provided as the total net income for the customer.\n\n---\n\n# Refinancing\n\nIf the application is for refinancing of existing debt, the total amount to refinance should be specified in the `RefinanceAmount` field. The 'RefinanceAmount' field is not mandatory.\n\n---\n\n# Environments\n\nThere is a production environment and a test environment.\n\n- All testing should be done in the test environment.\n    \n- The test data provided in this documentation will only work in the test environment.\n    \n- You will be provided a different password for each environment, the user name is the same in all environments.\n    \n- The API base URL will be different for each environment.\n    \n    - Production: [https://netbank.instabank.de](https://netbank.instabank.de)\n        \n    - Test: [https://netbankpp.instabank.de](https://netbankpp.instabank.de)\n        \n- The only difference in the URL between production and test is the addition of `pp` in test.\n    \n- Between the countries, the top/country part of the domain/URL will change. - `.no, .fi, .se, .de`\n    \n\n---\n\n# Updating\n\nUpdating an application is not available. Contact Instabank if you have specific needs related to updating.\n\n---\n\n# Cancelling\n\nCancelling an application is restricted. Contact Instabank if you have specific needs related to cancelling.\n\n---\n\n# Support\n\n- [instasupport@instabank.no](https://mailto:instasupport@instabank.no) - General support\n    \n- [erik.aune@instabank.no](https://mailto:erik.aune@instabank.no) - API responsible\n    \n- [daniel.ramstad@instabank.no](https://mailto:daniel.ramstad@instabank.no) - API responsible\n    \n- [farzad.jalily@instabank.no](https://mailto:farzad.jalily@instabank.no) - CTO\n    \n\n---\n\n# Requests","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"37624662","collectionId":"f9d0794e-e9c6-4ca4-acdc-71f28dcb434c","publishedId":"2sB2cRC4GE","public":true,"publicUrl":"https://documenter-api.postman.tech/view/37624662/2sB2cRC4GE","privateUrl":"https://go.postman.co/documentation/37624662-f9d0794e-e9c6-4ca4-acdc-71f28dcb434c","customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"documentationLayout":"classic-single-column","customisation":{"metaTags":[{"name":"description","value":""},{"name":"title","value":""}],"appearance":{"default":"dark","themes":[{"name":"dark","logo":null,"colors":{"top-bar":"212121","right-sidebar":"303030","highlight":"FF6C37"}},{"name":"light","logo":null,"colors":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"}}]}},"version":"8.10.1","publishDate":"2025-03-31T16:19:58.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"","description":""},"logos":{"logoLight":null,"logoDark":null}},"statusCode":200},"environments":[],"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/768118b36f06c94b0306958b980558e6915839447e859fe16906e29d683976f0","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"}],"canonicalUrl":"https://documenter.gw.postman.com/view/metadata/2sB2cRC4GE"}