### List all administrations (Ruby) Source: https://developer.moneybird.com/api/administrations This Ruby example uses the `Net::HTTP` library to make a GET request for administration data. It's a standard way to handle HTTP requests in Ruby. ```ruby require 'net/http' require 'uri' uri = URI.parse("https://moneybird.com/api/v2/administrations.json") request = Net::HTTP::Get.new(uri) request["Authorization"] = "Bearer YOUR_API_TOKEN" response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: true) do |http| http.request(request) end puts response.body ``` -------------------------------- ### List all administrations (Objective-C) Source: https://developer.moneybird.com/api/administrations This Objective-C example shows how to make an HTTP GET request to retrieve administration data using `URLSession`. It's suitable for iOS and macOS applications. ```objectivec #import - (void)getAdministrations { NSString *urlString = @"https://moneybird.com/api/v2/administrations.json"; NSURL *url = [NSURL URLWithString:urlString]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; [request setHTTPMethod:@"GET"]; [request addValue:@"Bearer YOUR_API_TOKEN" forHTTPHeaderField:@"Authorization"]; NSURLSession *session = [NSURLSession sharedSession]; NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (error) { NSLog(@"Error: %@\n", error.localizedDescription); return; } NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"Administrations: %@\n", responseString); }]; [task resume]; } ``` -------------------------------- ### Example Project Updated Response Source: https://developer.moneybird.com/api/projects This is an example JSON response after a project has been successfully updated. ```json { "id": "485925479494190312", "name": "Eagle", "state": "active", "budget": 1000 } ``` -------------------------------- ### Example Project Response Source: https://developer.moneybird.com/api/projects This is an example JSON response when successfully retrieving project information. ```json { "id": "485925479638893811", "name": "Project 1", "state": "active", "budget": 10 } ``` -------------------------------- ### List All Users (Python) Source: https://developer.moneybird.com/api/users A Python example for listing users in a Moneybird administration. This code uses the `requests` library to make the GET request. Remember to replace placeholders. ```python import requests administration_id = 'YOUR_ADMINISTRATION_ID' format = '.json' url = f'https://moneybird.com/api/v2/{administration_id}/users{format}' headers = { 'Authorization': 'Bearer YOUR_ACCESS_TOKEN' } response = requests.get(url, headers=headers) if response.status_code == 200: print(response.json()) else: print(f'Error: {response.status_code}, {response.text}') ``` -------------------------------- ### Product Response Example Source: https://developer.moneybird.com/api/products This is an example of a successful response when retrieving or updating product information. ```json { "id": "485925490546181349", "administration_id": 123, "description": "My product description", "title": null, "identifier": "SKU1234", "price": "100.0", "currency": "EUR", "frequency": null, "frequency_type": null, "tax_rate_id": "485925404161344650", "ledger_account_id": "485925403886617722", "created_at": "2026-05-01T11:24:41.741Z", "updated_at": "2026-05-01T11:24:41.741Z" } ``` -------------------------------- ### List All Tax Rates for Administration (Objective-C) Source: https://developer.moneybird.com/api/tax-rates This Objective-C example uses `URLSession` to make a GET request to the Moneybird API for tax rates. Remember to handle the response and potential errors. ```objectivec #import - (void)getTaxRatesWithAdministrationId:(NSString *)administrationId accessToken:(NSString *)accessToken { NSString *urlString = [NSString stringWithFormat:@"https://moneybird.com/api/v2/%@/tax_rates.json", administrationId]; NSURL *url = [NSURL URLWithString:urlString]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; request.HTTPMethod = @"GET"; [request setValue:[NSString stringWithFormat:@"Bearer %@", accessToken] forHTTPHeaderField:@"Authorization"]; NSURLSession *session = [NSURLSession sharedSession]; NSURLSessionDataTask *task = [session dataTaskWithRequest:request completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (error) { NSLog(@"Error: %@\n", error.localizedDescription); return; } NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"Response: %@\n", responseString); }]; [task resume]; } ``` -------------------------------- ### Example response for listing assets Source: https://developer.moneybird.com/api/assets This is an example of a successful response when listing assets, showing the structure of an asset object. ```json [ { "id": "485925450468558477", "ledger_account_id": "485925450461218444", "name": "Asset 2", "purchase_date": "2020-05-01", "purchase_value": "12345.67", "current_value": "0.0", "value_change_plan": { "lifespan_in_years": 5, "residual_value": "10.0", "active": false, "monthly_depreciation": "205.59" }, "disposal": { "date": "2026-05-01", "reason": "out_of_use", "externally_booked": false, "asset_id": "485925450468558477" }, "value_changes": [ { "type": "manual", "date": "2026-05-01", "amount": "-12345.67", "description": "Depreciation", "externally_booked": false, "asset_id": "485925450468558477" } ], "sources": [] } ] ``` -------------------------------- ### List All Tax Rates for Administration (Ruby) Source: https://developer.moneybird.com/api/tax-rates This Ruby example uses the `Net::HTTP` library to make a GET request to the Moneybird API for tax rates. Replace the placeholders with your administration ID and access token. ```ruby require 'net/http' require 'uri' uri = URI.parse("https://moneybird.com/api/v2/:administration_id/tax_rates.json") Net::HTTP.start(uri.host, uri.port, :use_ssl => uri.scheme == 'https') do |http| request = Net::HTTP::Get.new uri.request_uri request['Authorization'] = "Bearer YOUR_ACCESS_TOKEN" response = http.request request puts response.body end ``` -------------------------------- ### Example response for creating a product Source: https://developer.moneybird.com/api/products This is an example of a successful response after creating a new product. It returns the details of the newly created product. ```json { "id": "485925490440275167", "administration_id": 123, "description": "Geldvogel", "title": null, "identifier": null, "price": "50.5", "currency": "EUR", "frequency": null, "frequency_type": null, "tax_rate_id": "485925490413012187", "ledger_account_id": "485925490423497949", "created_at": "2026-05-01T11:24:41.641Z", "updated_at": "2026-05-01T11:24:41.641Z" } ``` -------------------------------- ### Example response for getting a contact person Source: https://developer.moneybird.com/api/contacts This is an example of the JSON response you can expect when successfully retrieving a contact person's details. ```json { "id": "485925577198405006", "contact_id": "485925577194210700", "administration_id": 123, "firstname": "John", "lastname": "Appleseed", "phone": null, "email": null, "department": null, "created_at": "2026-05-01T11:26:04.379Z", "updated_at": "2026-05-01T11:26:04.379Z", "version": 1777634764 } ``` -------------------------------- ### List all administrations (JavaScript) Source: https://developer.moneybird.com/api/administrations This JavaScript example demonstrates how to fetch a list of administrations the user has access to. Ensure you handle the response to process the administration data. ```javascript fetch('https://moneybird.com/api/v2/administrations.json', { method: 'GET', headers: { 'Authorization': 'Bearer YOUR_API_TOKEN' } }) .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Error:', error)); ``` -------------------------------- ### Example Response for Get Mandate Source: https://developer.moneybird.com/api/contacts Example response when retrieving Moneybird Payments mandate information. Returns limited details if the mandate exists. ```json { "type": "idealtestissuer5", "sepa_mandate": true, "bank": "Test Issuer 5", "iban": "NL81TEST0536169128", "bic": "TESTNL05", "iban_account_name": "E. Klaassen", "card_expiry_month": null, "card_expiry_year": null, "card_final_digits": null, "created_at": "2022-04-07T13:31:09.000Z" } ``` -------------------------------- ### List all administrations (C#) Source: https://developer.moneybird.com/api/administrations This C# example shows how to fetch administration data using `HttpClient`. It's suitable for .NET applications that need to interact with the Moneybird API. ```csharp using System; using System.Net.Http; using System.Threading.Tasks; public class MoneybirdClient { private readonly HttpClient _httpClient; public MoneybirdClient(string apiKey) { _httpClient = new HttpClient(); _httpClient.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", apiKey); } public async Task GetAdministrationsAsync() { var response = await _httpClient.GetAsync("https://moneybird.com/api/v2/administrations.json"); response.EnsureSuccessStatusCode(); return await response.Content.ReadAsStringAsync(); } public static async Task Main(string[] args) { var client = new MoneybirdClient("YOUR_API_TOKEN"); var administrations = await client.GetAdministrationsAsync(); Console.WriteLine(administrations); } } ``` -------------------------------- ### Example Response for Get General Journal Document Source: https://developer.moneybird.com/api/documents_general_journal_documents An example JSON response for a successfully retrieved general journal document, showing its structure and fields. ```json { "id": "485925528786699877", "administration_id": 123, "reference": "Deprecations", "date": "2026-05-01", "journal_type": null, "created_at": "2026-05-01T11:25:18.210Z", "updated_at": "2026-05-01T11:25:18.210Z", "version": 1777634718, "general_journal_document_entries": [ { "id": "485925528788797030", "administration_id": 123, "ledger_account_id": "485925528757339748", "project_id": null, "contact_id": null, "debit": "100.0", "credit": "0.0", "row_order": 1, "created_at": "2026-05-01T11:25:18.212Z", "updated_at": "2026-05-01T11:25:18.212Z", "description": "First" }, { "id": "485925528789845607", "administration_id": 123, "ledger_account_id": "485925528757339748", "project_id": null, "contact_id": null, "debit": "0.0", "credit": "100.0", "row_order": 2, "created_at": "2026-05-01T11:25:18.213Z", "updated_at": "2026-05-01T11:25:18.213Z", "description": "Second" }, { "id": "485925528790894184", "administration_id": 123, "ledger_account_id": "485925528757339748", "project_id": null, "contact_id": null, "debit": "50.0", "credit": "0.0", "row_order": 3, "created_at": "2026-05-01T11:25:18.214Z", "updated_at": "2026-05-01T11:25:18.214Z", "description": "Third" }, { "id": "485925528791942761", "administration_id": 123, "ledger_account_id": "485925528757339748", "project_id": null, "contact_id": null, "debit": "0.0", "credit": "50.0", "row_order": 4, "created_at": "2026-05-01T11:25:18.215Z", "updated_at": "2026-05-01T11:25:18.215Z", "description": "Fourth" } ], "notes": [], "attachments": [], "events": [ { "administration_id": 123, "user_id": "485925402886276197", "action": "document_saved", "link_entity_id": null, "link_entity_type": null, "data": {}, "created_at": "2026-05-01T11:25:18.218Z", "updated_at": "2026-05-01T11:25:18.218Z" } ] } ``` -------------------------------- ### Example JSON Response for Get Time Entry Source: https://developer.moneybird.com/api/time-entries This is an example of a successful JSON response when retrieving a time entry. It includes details about the entry, associated contact, user, project, and events. ```json { "id": "485925483517576863", "administration_id": 123, "contact_id": "485925483503945372", "project_id": "485925483508139677", "sales_invoice_id": null, "user_id": "485925402886276197", "started_at": "2026-05-01T11:24:00.000Z", "ended_at": "2026-05-01T12:24:00.000Z", "description": "Designing the website", "paused_duration": 0, "billable": true, "created_at": "2026-05-01T11:24:35.038Z", "updated_at": "2026-05-01T11:24:35.038Z", "contact": { "id": "485925483503945372", "firstname": null, "lastname": null, "company_name": "Foobar Holding B.V." }, "user": { "id": "485925402886276197", "name": "Moneybird", "created_at": "2026-05-01T11:23:18.122Z", "updated_at": "2026-05-01T11:23:18.663Z" }, "project": { "id": "485925483508139677", "name": "Project 1", "state": "active", "budget": 10 }, "sales_invoice": null, "events": [ { "administration_id": 123, "user_id": "485925402886276197", "action": "time_entry_created", "link_entity_id": null, "link_entity_type": null, "data": {}, "created_at": "2026-05-01T11:24:35.041Z", "updated_at": "2026-05-01T11:24:35.041Z" } ], "notes": [] } ``` -------------------------------- ### Example Response for Creating a Project Source: https://developer.moneybird.com/api/projects This is an example of the JSON response received after successfully creating a project. It includes the newly created project's ID, name, state, and budget. ```json { "id": "485925479614776561", "name": "Falcon", "state": "active", "budget": null } ``` -------------------------------- ### List All Tax Rates for an Administration Source: https://developer.moneybird.com/api/tax_rates This example shows how to fetch all tax rates for an administration without any specific filters or pagination. ```shell curl --request GET \ --url https://moneybird.com/api/v2/:administration_id/tax_rates ``` -------------------------------- ### Response URL for Mandate Setup Source: https://developer.moneybird.com/api/contacts Example response containing the URL to set up a Moneybird Payments mandate. ```json { "url": "https://moneybird.dev/123/mandate_requests/zICBpl9yYWlsc4KkZGF0YdlXNDg1OTI1NDAyODg2Mjc2MTk3IDQ4NTkyNTU3NjM5OTM4OTk3MCA0ODU5MjU0MDM2MDk3OTM2NDMKICAgICAgYWR5ZW4gNDg1OTI1NTc2NDk1ODU4OTc5o2V4cMcLB85qBwLLzivYYq4A--e3d91e7698b8dd3025cf92f48871f806240094fa" } ``` -------------------------------- ### Example response for Get general document Source: https://developer.moneybird.com/api/documents_general_documents This is an example of the JSON response when retrieving a general document. It includes fields like ID, administration ID, contact information, dates, state, and associated notes, attachments, and events. ```json { "id": "485925478125798524", "administration_id": 123, "contact_id": null, "contact": null, "reference": "Contract", "date": "2026-05-01", "due_date": null, "entry_number": 2, "state": "saved", "exchange_rate": "1.0", "created_at": "2026-05-01T11:24:29.896Z", "updated_at": "2026-05-01T11:24:29.896Z", "version": 1777634669, "notes": [], "attachments": [], "events": [ { "administration_id": 123, "user_id": "485925402886276197", "action": "document_saved", "link_entity_id": null, "link_entity_type": null, "data": {}, "created_at": "2026-05-01T11:24:29.899Z", "updated_at": "2026-05-01T11:24:29.899Z" } ] } ``` -------------------------------- ### GET Purchase Transactions cURL Request Source: https://developer.moneybird.com/api/purchase_transactions Example cURL command to retrieve purchase transactions. The `:format` placeholder can be replaced with `.json` or `.xml`. ```shell curl --request GET \ --url https://moneybird.com/api/v2/:administration_id/purchase_transactions:format ``` -------------------------------- ### List All Users (Go) Source: https://developer.moneybird.com/api/users A Go program to fetch users from a Moneybird administration. This example uses the standard `net/http` package. Ensure you replace the placeholders. ```go package main import ( "fmt" "io/ioutil" "net/http" ) func main() { client := &http.Client{} req, err := http.NewRequest("GET", "https://moneybird.com/api/v2/{administration_id}/users.json", nil) if err != nil { fmt.Println(err) return } req.Header.Add("Authorization", "Bearer YOUR_ACCESS_TOKEN") resp, err := client.Do(req) if err != nil { fmt.Println(err) return } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { fmt.Println(err) return } fmt.Println(string(body)) } ``` -------------------------------- ### Example response for listing products Source: https://developer.moneybird.com/api/products This is an example of the JSON response when listing products. It includes details like ID, price, and currency. ```json [ { "id": "485925487320761424", "administration_id": 123, "description": "My product description", "title": null, "identifier": "SKU1234", "price": "100.0", "currency": "EUR", "frequency": null, "frequency_type": null, "tax_rate_id": "485925404161344650", "ledger_account_id": "485925403886617722", "created_at": "2026-05-01T11:24:38.666Z", "updated_at": "2026-05-01T11:24:38.666Z" } ] ``` -------------------------------- ### Retrieve Verifications using C# Source: https://developer.moneybird.com/api/verifications This C# example uses `HttpClient` to get verifications from the Moneybird API. Remember to dispose of the `HttpClient` instance properly. ```csharp using System; using System.Net.Http; using System.Threading.Tasks; public class VerificationsClient { public static async Task GetVerificationsAsync() { using (HttpClient client = new HttpClient()) { string url = "https://moneybird.com/api/v2/:administration_id/verifications:format"; HttpResponseMessage response = await client.GetAsync(url); if (response.IsSuccessStatusCode) { string responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } else { Console.WriteLine($"Error: {response.StatusCode}"); } } } } ``` -------------------------------- ### Example Response for Get Task List Group Source: https://developer.moneybird.com/api/task-lists This JSON structure represents a successful response when fetching a task list group, detailing its properties and tasks. ```json { "id": "485925668604872117", "administration_id": 123, "name": "Task #2", "description": "Description 2", "row_order": 0, "completed_at": null, "report_type": null, "task_lists_group_id": "485925668603823540", "parent_task_id": null, "created_at": "2026-05-01T11:27:31.551Z", "updated_at": "2026-05-01T11:27:31.551Z", "assignee_id": null, "subtasks": [], "notes": [], "events": [ { "administration_id": 123, "user_id": "485925402886276197", "action": "task_lists_task_created", "link_entity_id": null, "link_entity_type": null, "data": {}, "created_at": "2026-05-01T11:27:31.553Z", "updated_at": "2026-05-01T11:27:31.553Z" } ] } ``` -------------------------------- ### Retrieve Verifications using Objective-C Source: https://developer.moneybird.com/api/verifications This Objective-C example uses `URLSession` to make a GET request for verifications. Handle the response data and potential errors appropriately. ```objectivec #import - (void)getVerifications { NSString *urlString = @"https://moneybird.com/api/v2/:administration_id/verifications:format"; NSURL *url = [NSURL URLWithString:urlString]; NSURLSession *session = [NSURLSession sharedSession]; NSURLSessionDataTask *task = [session dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) { if (error) { NSLog(@"Error: %@\n", error.localizedDescription); return; } NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"Response: %@\n", responseString); }]; [task resume]; } ``` -------------------------------- ### Retrieve Verifications using Ruby Source: https://developer.moneybird.com/api/verifications This Ruby example uses the `Net::HTTP` library to make a GET request for verifications. Handle the response and potential network errors. ```ruby require 'net/http' require 'uri' uri = URI.parse("https://moneybird.com/api/v2/:administration_id/verifications:format") response = Net::HTTP.get_response(uri) if response.is_a?(Net::HTTPSuccess) puts response.body else puts "Error: #{response.code}" end ``` -------------------------------- ### List all administrations (Java) Source: https://developer.moneybird.com/api/administrations This Java example uses the OkHttp client to fetch administration data. It's suitable for Java applications needing to access Moneybird administration details. ```java OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://moneybird.com/api/v2/administrations.json") .addHeader("Authorization", "Bearer YOUR_API_TOKEN") .build(); client.newCall(request).enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { e.printStackTrace(); } @Override public void onResponse(Call call, Response response) throws IOException { if (response.isSuccessful()) { String responseBody = response.body().string(); System.out.println(responseBody); } } }); ``` -------------------------------- ### List all administrations (Swift) Source: https://developer.moneybird.com/api/administrations This Swift example shows how to fetch administration data using `URLSession`. It's the standard approach for making network requests in Swift applications. ```swift import Foundation func getAdministrations() { guard let url = URL(string: "https://moneybird.com/api/v2/administrations.json") else { print("Invalid URL") return } var request = URLRequest(url: url) request.httpMethod = "GET" request.setValue("Bearer YOUR_API_TOKEN", forHTTPHeaderField: "Authorization") let task = URLSession.shared.dataTask(with: request) { data, response, error in if let error = error { print("Error: \(error.localizedDescription)\n") return } guard let data = data else { print("No data received\n") return } if let responseString = String(data: data, encoding: .utf8) { print("Administrations: \(responseString)\n") } } task.resume() } getAdministrations() ``` -------------------------------- ### List all custom fields (Python) Source: https://developer.moneybird.com/api/custom-fields A Python example using the 'requests' library to get a list of custom fields from the Moneybird API. Remember to substitute your administration ID. ```python import requests administration_id = 'YOUR_ADMINISTRATION_ID' format = '.json' # or '' for default url = f"https://moneybird.com/api/v2/{administration_id}/custom_fields{format}" response = requests.get(url) if response.status_code == 200: print(response.json()) else: print(f"Error: {response.status_code}") ``` -------------------------------- ### Example Response for Get Task Source: https://developer.moneybird.com/api/task-lists This JSON object represents a successful response when retrieving task information. It includes details like ID, name, description, and associated events. ```json { "id": "485925480670692735", "administration_id": 123, "name": "Task #1", "description": "Description 1", "row_order": 0, "completed_at": null, "report_type": null, "task_lists_group_id": "485925480669644158", "parent_task_id": null, "created_at": "2026-05-01T11:24:32.324Z", "updated_at": "2026-05-01T11:24:32.324Z", "assignee_id": null, "subtasks": [], "notes": [], "events": [ { "administration_id": 123, "user_id": "485925402886276197", "action": "task_lists_task_created", "link_entity_id": null, "link_entity_type": null, "data": {}, "created_at": "2026-05-01T11:24:32.325Z", "updated_at": "2026-05-01T11:24:32.325Z" } ] } ``` -------------------------------- ### Create a Webhook Source: https://developer.moneybird.com/api/webhooks This example demonstrates how to create a new webhook. You must provide a URL that will receive notifications. Optionally, you can specify a list of events to subscribe to. The endpoint must respond with a 200 HTTP status on creation. ```json { "url": "https://example.com/moneybird_webhook", "enabled_events": [ "invoice_created", "invoice_updated" ] } ``` -------------------------------- ### Request URL for Setting Up a Moneybird Payments Mandate Source: https://developer.moneybird.com/api/contacts Obtain a URL to initiate the setup process for a Moneybird Payments mandate. This is useful for guiding users through the mandate creation flow. ```APIDOC ## Request an URL for setting up a Moneybird Payments mandate ### Description Requests a URL for setting up a Moneybird Payments mandate. ### Method POST ### Endpoint `POST /{administration_id}/contacts/{contact_id}/moneybird_payments_mandate/url{format}` ### Request Body #### mandate_request (object) - Required - **workflow_id** (number) - Required - The ID of the workflow to use for the mandate request. ### Request Example ```json { "mandate_request": { "workflow_id": 485925576495859000 } } ``` ### Response #### Success Response (201403) - **url** (string) - The URL for setting up the Moneybird Payments mandate. ### Response Example ```json { "url": "https://moneybird.dev/123/mandate_requests/zICBpl9yYWlsc4KkZGF0YdlXNDg1OTI1NDAyODg2Mjc2MTk3IDQ4NTkyNTU3NjM5OTM4OTk3MCA0ODU5MjU0MDM2MDk3OTM2NDMKICAgICAgYWR5ZW4gNDg1OTI1NTc2NDk1ODU4OTc5o2V4cMcLB85qBwLLzivYYq4A--e3d91e7698b8dd3025cf92f48871f806240094fa" } ``` ``` -------------------------------- ### Example response for creating an asset Source: https://developer.moneybird.com/api/assets This is an example of a successful response after creating a new asset, detailing its properties and initial values. ```json { "id": "485925457074586864", "ledger_account_id": "485925457049421039", "name": "Test Asset", "purchase_date": "2026-05-01", "purchase_value": "1000.0", "current_value": "1000.0", "value_change_plan": { "lifespan_in_years": 5, "residual_value": "100.0", "active": true, "monthly_depreciation": "15.0" }, "disposal": null, "value_changes": [], "sources": [] } ``` -------------------------------- ### Get Creditors Report cURL Example Source: https://developer.moneybird.com/api/reports Use this cURL command to fetch a creditors report. Replace :administration_id and :format with your specific values. The format can be .json or .xml, or empty for default. ```shell curl --request GET \ --url https://moneybird.com/api/v2/:administration_id/reports/creditors:format ``` -------------------------------- ### List All Users (Kotlin) Source: https://developer.moneybird.com/api/users A Kotlin example for fetching users from a Moneybird administration. This code uses Ktor's `HttpClient`. Make sure to replace the placeholders with your actual values. ```kotlin import io.ktor.client.HttpClient import io.ktor.client.request.get import io.ktor.client.request.header suspend fun getUsers() { val client = HttpClient() val response: String = client.get("https://moneybird.com/api/v2/{administration_id}/users.json") { header("Authorization", "Bearer YOUR_ACCESS_TOKEN") } println(response) client.close() } ``` -------------------------------- ### Create a new product Source: https://developer.moneybird.com/api/products Use this POST request to create a new product in your administration. Ensure you provide the necessary fields like description, price, tax rate ID, and ledger account ID. ```shell curl --request POST \ --url https://moneybird.com/api/v2/:administration_id/products:format \ --header 'Content-Type: application/json' \ --data ' { "product": { "description": "Geldvogel", "price": "50,50", "tax_rate_id": 485925490413012160, "ledger_account_id": 485925490423497900 } } ' ``` -------------------------------- ### Example Response for Listing Projects Source: https://developer.moneybird.com/api/projects This is an example of the JSON response when listing projects. It shows the structure of a project object, including its ID, name, state, and budget. ```json [ { "id": "485925479364166880", "name": "Project Blackbird", "state": "archived", "budget": 10 } ] ``` -------------------------------- ### Activate Webhook Response Example Source: https://developer.moneybird.com/api/webhooks This is an example of a successful response when activating a webhook. It includes details about the webhook's configuration and status. ```json { "id": "485925574981715053", "administration_id": 123, "url": "http://example.com/create_webhook", "enabled_events": [], "last_http_status": null, "last_http_body": null, "token": "pqYfvXAiXw9ubmXQemL23M1F", "deactivated_at": null } ``` -------------------------------- ### List all custom fields (Ruby) Source: https://developer.moneybird.com/api/custom-fields This Ruby code example shows how to make an HTTP GET request to retrieve custom fields from the Moneybird API. Replace the placeholder for the administration ID. ```ruby require 'net/http' require 'uri' administration_id = 'YOUR_ADMINISTRATION_ID' format = '.json' # or '' uri = URI.parse("https://moneybird.com/api/v2/#{administration_id}/custom_fields#{format}") response = Net::HTTP.get(uri) puts response ``` -------------------------------- ### Get Product by Identifier - JSON Response Source: https://developer.moneybird.com/api/products Example JSON response when successfully retrieving a product's details using its identifier. This includes fields like ID, description, price, and currency. ```json { "id": "485925489940104374", "administration_id": 123, "description": "My product description", "title": null, "identifier": "SKU1234", "price": "100.0", "currency": "EUR", "frequency": null, "frequency_type": null, "tax_rate_id": "485925404161344650", "ledger_account_id": "485925403886617722", "created_at": "2026-05-01T11:24:41.163Z", "updated_at": "2026-05-01T11:24:41.163Z" } ``` -------------------------------- ### Example Download Response Source: https://developer.moneybird.com/api/downloads This is an example of a JSON response when listing downloads. It includes details such as the download ID, type, filename, and status. ```json [ { "id": "485925645766887309", "user_id": null, "download_type": "export_documents", "filename": "Unknown", "content_type": "application/octet-stream", "failed": true, "downloaded": false, "created_at": "2026-05-01T11:27:09.771Z", "updated_at": "2026-05-01T11:27:09.771Z" }, { "id": "485925645764790156", "user_id": null, "download_type": "export_sales_invoices", "filename": "Unknown", "content_type": "application/octet-stream", "failed": false, "downloaded": true, "created_at": "2026-05-01T11:27:09.769Z", "updated_at": "2026-05-01T11:27:09.769Z" }, { "id": "485925645761644427", "user_id": null, "download_type": "export_contacts", "filename": "Unknown", "content_type": "application/octet-stream", "failed": false, "downloaded": false, "created_at": "2026-05-01T11:27:09.766Z", "updated_at": "2026-05-01T11:27:09.766Z" } ] ``` -------------------------------- ### Get Creditors Aging Report cURL Example Source: https://developer.moneybird.com/api/reports This cURL command retrieves a creditors aging report. Ensure you replace :administration_id and :format with the correct identifiers. The format parameter defaults to .json if omitted. ```shell curl --request GET \ --url https://moneybird.com/api/v2/:administration_id/reports/creditors_aging:format ``` -------------------------------- ### List All Tax Rates for Administration (C#) Source: https://developer.moneybird.com/api/tax-rates This C# example uses `HttpClient` to fetch tax rates from the Moneybird API. Ensure you replace the placeholder values with your actual administration ID and access token. ```csharp using System; using System.Net.Http; using System.Threading.Tasks; public class TaxRatesClient { public static async Task GetTaxRatesAsync(string administrationId, string accessToken) { using (var client = new HttpClient()) { client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", accessToken); var response = await client.GetAsync($"https://moneybird.com/api/v2/{administrationId}/tax_rates.json"); response.EnsureSuccessStatusCode(); var responseBody = await response.Content.ReadAsStringAsync(); Console.WriteLine(responseBody); } } } ``` -------------------------------- ### Example User Response Source: https://developer.moneybird.com/api/users This is an example of the JSON response when successfully retrieving a list of users. It includes details such as user ID, name, creation/update timestamps, email, and permissions. ```json [ { "id": "485925402920879206", "name": "Mo Neybird", "created_at": "2026-05-01T11:23:18.171Z", "updated_at": "2026-05-01T11:23:18.696Z", "email": "info@moneybird.nl", "email_validated": true, "language": "nl", "time_zone": "Europe/Amsterdam", "user_type": "owner", "permissions": [ "sales_invoices", "documents", "estimates", "bank", "settings", "ownership", "time_entries" ] }, { "id": "485925415669466632", "name": "John Doe", "created_at": "2026-05-01T11:23:30.333Z", "updated_at": "2026-05-01T11:23:30.345Z", "email": "john+6@example.com", "email_validated": true, "language": "nl", "time_zone": "Europe/Amsterdam", "user_type": "employee", "permissions": [ "time_entries" ] } ] ```