List Creditors
curl --request GET \
--url https://getbill.io/external-api/v1/creditors \
--header 'Authorization: <authorization>'import requests
url = "https://getbill.io/external-api/v1/creditors"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://getbill.io/external-api/v1/creditors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://getbill.io/external-api/v1/creditors",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://getbill.io/external-api/v1/creditors"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://getbill.io/external-api/v1/creditors")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://getbill.io/external-api/v1/creditors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"error": false,
"data": [
{
"id": "abc123def456",
"name": "Acme Corporation",
"email": "billing@acmecorp.com",
"phone": "+33142123456",
"address": "123 Business Street",
"city": "Paris",
"postalCode": "75001",
"country": "France",
"registrationNumber": "B123456789",
"taxNumber": "FR12345678901",
"contactPerson": "John Billing",
"createdAt": "2024-01-15 10:30:00",
"updatedAt": "2024-01-20 14:22:00"
},
{
"id": "xyz789ghi012",
"name": "Services Plus SARL",
"email": "contact@servicesplus.fr",
"phone": "+33472987654",
"address": "456 Avenue des Services",
"city": "Lyon",
"postalCode": "69001",
"country": "France",
"registrationNumber": "B987654321",
"taxNumber": "FR98765432109",
"contactPerson": "Marie Finance",
"createdAt": "2024-01-10 09:15:00",
"updatedAt": "2024-01-18 11:45:00"
}
],
"pagination": {
"total": 128,
"page": 1,
"limit": 50,
"pages": 3
}
}
Creditors API
List Creditors
Retrieve a paginated list of creditors for the authenticated company
GET
/
external-api
/
v1
/
creditors
List Creditors
curl --request GET \
--url https://getbill.io/external-api/v1/creditors \
--header 'Authorization: <authorization>'import requests
url = "https://getbill.io/external-api/v1/creditors"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://getbill.io/external-api/v1/creditors', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://getbill.io/external-api/v1/creditors",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://getbill.io/external-api/v1/creditors"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://getbill.io/external-api/v1/creditors")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://getbill.io/external-api/v1/creditors")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"error": false,
"data": [
{
"id": "abc123def456",
"name": "Acme Corporation",
"email": "billing@acmecorp.com",
"phone": "+33142123456",
"address": "123 Business Street",
"city": "Paris",
"postalCode": "75001",
"country": "France",
"registrationNumber": "B123456789",
"taxNumber": "FR12345678901",
"contactPerson": "John Billing",
"createdAt": "2024-01-15 10:30:00",
"updatedAt": "2024-01-20 14:22:00"
},
{
"id": "xyz789ghi012",
"name": "Services Plus SARL",
"email": "contact@servicesplus.fr",
"phone": "+33472987654",
"address": "456 Avenue des Services",
"city": "Lyon",
"postalCode": "69001",
"country": "France",
"registrationNumber": "B987654321",
"taxNumber": "FR98765432109",
"contactPerson": "Marie Finance",
"createdAt": "2024-01-10 09:15:00",
"updatedAt": "2024-01-18 11:45:00"
}
],
"pagination": {
"total": 128,
"page": 1,
"limit": 50,
"pages": 3
}
}
Overview
This endpoint returns a paginated list of creditors belonging to the authenticated company. Creditors are entities (companies or organizations) that issue debts and have debtors owing them money.Authentication
Requires a valid OAuth 2.0 access token with thecreditors:read scope.
Request
string
required
Bearer token for authentication
Query Parameters
integer
default:"1"
Page number for pagination (starts at 1)
integer
default:"20"
Number of items per page (maximum 100)
Example Request
curl -X GET "/external-api/v1/creditors?page=1&limit=50" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json"
const params = new URLSearchParams({
page: '1',
limit: '50'
});
const response = await fetch(`/external-api/v1/creditors?${params}`, {
method: 'GET',
headers: {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
}
});
const creditors = await response.json();
import requests
params = {
'page': 1,
'limit': 50
}
headers = {
'Authorization': 'Bearer YOUR_ACCESS_TOKEN',
'Content-Type': 'application/json'
}
response = requests.get(
'/external-api/v1/creditors',
headers=headers,
params=params
)
creditors = response.json()
Response
boolean
Always
false for successful requestsarray
Array of creditor objects
Show creditor object
Show creditor object
string
Encrypted creditor identifier
string
Creditor’s name
string
Creditor’s email address
string
Creditor’s phone number
string
Creditor’s address
string
Creditor’s city
string
Creditor’s postal code
string
Creditor’s country
string
Creditor’s company registration number
string
Creditor’s tax number
string
Main contact person for the creditor
string
Creation timestamp (YYYY-MM-DD HH:mm:ss format)
string
Last update timestamp (YYYY-MM-DD HH:mm:ss format)
object
Success Response
{
"error": false,
"data": [
{
"id": "abc123def456",
"name": "Acme Corporation",
"email": "billing@acmecorp.com",
"phone": "+33142123456",
"address": "123 Business Street",
"city": "Paris",
"postalCode": "75001",
"country": "France",
"registrationNumber": "B123456789",
"taxNumber": "FR12345678901",
"contactPerson": "John Billing",
"createdAt": "2024-01-15 10:30:00",
"updatedAt": "2024-01-20 14:22:00"
},
{
"id": "xyz789ghi012",
"name": "Services Plus SARL",
"email": "contact@servicesplus.fr",
"phone": "+33472987654",
"address": "456 Avenue des Services",
"city": "Lyon",
"postalCode": "69001",
"country": "France",
"registrationNumber": "B987654321",
"taxNumber": "FR98765432109",
"contactPerson": "Marie Finance",
"createdAt": "2024-01-10 09:15:00",
"updatedAt": "2024-01-18 11:45:00"
}
],
"pagination": {
"total": 128,
"page": 1,
"limit": 50,
"pages": 3
}
}
Error Responses
{
"error": true,
"message": "Authentication credentials are missing or invalid",
"code": 401
}
{
"error": true,
"message": "Required scope \"creditors:read\" not found in token",
"code": 403
}
{
"error": true,
"message": "Company not found or not authorized",
"code": 404
}
Rate Limiting
This endpoint is subject to rate limiting. See the Rate Limits documentation for details. Rate Limit: 1,000 requests per hourRelated Endpoints
- Get Single Creditor - Get detailed information about a specific creditor
- Update Creditor - Update an existing creditor
- List Debts by Creditor - Get all debts for a specific creditor