Products
List all products of an administration
Returns a paginated list of products in the administration. Each page contains 10 products. You can use the page
parameter to fetch the next page of products.
Parameters
Parameter | Type | Description |
---|---|---|
per_page |
Integer |
|
query |
String |
Allows filtering by product name. |
page |
Integer |
The page to fetch, starting at 1. |
currency |
String |
ISO three-character currency code, e.g. EUR or USD. |
Example: returns a list of active products
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/products.json?
Response
Status: 200 OK
[
{
"id": "449763677776643845",
"administration_id": 123,
"description": "Apple",
"title": null,
"identifier": null,
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "449763442214044804",
"ledger_account_id": "449763442161615988",
"created_at": "2025-03-28T07:48:09.669Z",
"updated_at": "2025-03-28T07:48:09.669Z"
},
{
"id": "449763677756720899",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "449763442214044804",
"ledger_account_id": "449763442161615988",
"created_at": "2025-03-28T07:48:09.649Z",
"updated_at": "2025-03-28T07:48:09.649Z"
},
{
"id": "449763677799712519",
"administration_id": 123,
"description": "Pie",
"title": null,
"identifier": null,
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "449763442214044804",
"ledger_account_id": "449763442161615988",
"created_at": "2025-03-28T07:48:09.689Z",
"updated_at": "2025-03-28T07:48:09.689Z"
}
]
Example: allows filtering by query
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/products.json?query=apple
Response
Status: 200 OK
[
{
"id": "449763681565148950",
"administration_id": 123,
"description": "Apple",
"title": null,
"identifier": null,
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "449763442214044804",
"ledger_account_id": "449763442161615988",
"created_at": "2025-03-28T07:48:13.281Z",
"updated_at": "2025-03-28T07:48:13.281Z"
}
]
Example: handles empty search result
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/products.json?query=kjashdfjksadhfjk
Response
Example: returns a paginated response for page 2
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/products.json?page=2&per_page=1
Response
Status: 200 OK
[
{
"id": "449763685246699318",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "449763442214044804",
"ledger_account_id": "449763442161615988",
"created_at": "2025-03-28T07:48:16.793Z",
"updated_at": "2025-03-28T07:48:16.793Z"
}
]
Returns information about a product
Example: returns a single product
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/products/449763685485774663.json?
Response
Status: 200 OK
{
"id": "449763685485774663",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "449763442214044804",
"ledger_account_id": "449763442161615988",
"created_at": "2025-03-28T07:48:17.021Z",
"updated_at": "2025-03-28T07:48:17.021Z"
}
Example: returns 404 when product does not exist
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/products/34123123.json?
Response
Status: 404 Not Found
{
"error": "record not found",
"symbolic": {
"id": "not_found"
}
}
Returns information about a product based on the identifier
Example: returns a single product based on the identifier
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/products/identifier/SKU1234.json?
Response
Status: 200 OK
{
"id": "449763685725898571",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "449763442214044804",
"ledger_account_id": "449763442161615988",
"created_at": "2025-03-28T07:48:17.249Z",
"updated_at": "2025-03-28T07:48:17.249Z"
}
Example: returns a single product based on the identifier with dot
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/products/identifier/aa.bb.json?
Response
Status: 200 OK
{
"id": "449763685850679117",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "aa.bb",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "449763442214044804",
"ledger_account_id": "449763442161615988",
"created_at": "2025-03-28T07:48:17.369Z",
"updated_at": "2025-03-28T07:48:17.383Z"
}
Example: returns 404 when product does not exist
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XGET \
https://moneybird.com/api/v2/123/products/identifier/random.json?
Response
Status: 404 Not Found
{
"error": "record not found",
"symbolic": {
"id": "not_found"
}
}
Creates a new product
Parameters
Parameter | Type | Description |
---|---|---|
product[title] |
String |
|
product[description] |
String |
|
product[checkout_description] |
String |
|
product[price] |
Decimal |
Required Both a decimal and a string ‘10,95’ are accepted. |
product[document_style_id] |
Integer |
Should be a valid document style id. |
product[ledger_account_id] |
Integer |
Required Should be a valid ledger account id. |
product[tax_rate_id] |
Integer |
Should be a valid tax rate id. |
product[workflow_id] |
Integer |
Should be a valid workflow id. |
product[currency] |
String |
Required ISO three-character currency code, e.g. EUR or USD. |
product[checkout_type] |
String |
Can be |
product[frequency_type] |
String |
Can be |
product[frequency] |
Integer |
Should be an integer >= 1. |
product[product_type] |
String |
Can be |
product[vat_rate_type] |
String |
Can be |
product[max_amount_per_order] |
Integer |
Should be an integer 0 <= n < 2. |
product[identifier] |
String |
Should be unique for the administration. |
product[frequency_preset] |
String |
Example: creates a new product
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPOST \
-d '{"product":{"description":"Geldvogel","price":"50,50","tax_rate_id":449763686203000660,"ledger_account_id":449763686218729302}}' \
https://moneybird.com/api/v2/123/products.json
Response
Status: 201 Created
{
"id": "449763686275352408",
"administration_id": 123,
"description": "Geldvogel",
"title": null,
"identifier": null,
"price": "50.5",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "449763686203000660",
"ledger_account_id": "449763686218729302",
"created_at": "2025-03-28T07:48:17.774Z",
"updated_at": "2025-03-28T07:48:17.774Z"
}
Example: returns an error when information is missing
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPOST \
-d '{"product":{"title":"","description":"","price":"","tax_rate_id":449763686335121245,"ledger_account_id":449763686343509855}}' \
https://moneybird.com/api/v2/123/products.json
Response
Status: 422 Unprocessable Entity
{
"error": {
"title": [
"can't be blank"
],
"description": [
"can't be blank"
],
"base": [
"must contain a title or description"
]
}
}
Updates a product
Parameters
Parameter | Type | Description |
---|---|---|
product[title] |
String |
|
product[description] |
String |
|
product[checkout_description] |
String |
|
product[price] |
Decimal |
Both a decimal and a string ‘10,95’ are accepted. |
product[tax_rate_id] |
Integer |
Should be a valid tax rate id. |
product[ledger_account_id] |
Integer |
Should be a valid ledger account id. |
product[currency] |
String |
ISO three-character currency code, e.g. EUR or USD. |
product[frequency_type] |
String |
Can be |
product[frequency] |
Integer |
Should be an integer >= 1. |
product[product_type] |
String |
Can be |
product[vat_rate_type] |
String |
Can be |
product[checkout_type] |
String |
Can be |
product[max_amount_per_order] |
Integer |
Should be an integer 0 <= n < 2. |
product[document_style_id] |
Integer |
Should be a valid document style id. |
product[workflow_id] |
Integer |
Should be a valid workflow id. |
product[identifier] |
String |
Should be unique for the administration. |
product[frequency_preset] |
String |
Example: updates a product
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XPATCH \
-d '{"product":{"description":"Updated","price":"123"}}' \
https://moneybird.com/api/v2/123/products/449763686455707489.json
Response
Status: 200 OK
{
"id": "449763686455707489",
"administration_id": 123,
"description": "Updated",
"title": null,
"identifier": "SKU1234",
"price": "123.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "449763442214044804",
"ledger_account_id": "449763442161615988",
"created_at": "2025-03-28T07:48:17.945Z",
"updated_at": "2025-03-28T07:48:18.008Z"
}
Deletes a product
Example: deletes a product
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XDELETE \
-d '{}' \
https://moneybird.com/api/v2/123/products/449763686585730916.json
Response
Example: deactivates the product when product has details
Request
curl -s -H "Content-Type: application/json" -H "Authorization: Bearer 84ec207ad0154a508f798e615a998ac1fd752926d00f955fb1df3e144cba44ab" \
-XDELETE \
-d '{}' \
https://moneybird.com/api/v2/123/products/449763686733580136.json