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": "451599565152323245",
"administration_id": 123,
"description": "Apple",
"title": null,
"identifier": null,
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "451599358000891883",
"ledger_account_id": "451599357884499931",
"created_at": "2025-04-17T14:08:48.306Z",
"updated_at": "2025-04-17T14:08:48.306Z"
},
{
"id": "451599565129254571",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "451599358000891883",
"ledger_account_id": "451599357884499931",
"created_at": "2025-04-17T14:08:48.249Z",
"updated_at": "2025-04-17T14:08:48.249Z"
},
{
"id": "451599565168051887",
"administration_id": 123,
"description": "Pie",
"title": null,
"identifier": null,
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "451599358000891883",
"ledger_account_id": "451599357884499931",
"created_at": "2025-04-17T14:08:48.322Z",
"updated_at": "2025-04-17T14:08:48.322Z"
}
]
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": "451599573498988222",
"administration_id": 123,
"description": "Apple",
"title": null,
"identifier": null,
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "451599358000891883",
"ledger_account_id": "451599357884499931",
"created_at": "2025-04-17T14:08:56.266Z",
"updated_at": "2025-04-17T14:08:56.266Z"
}
]
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": "451599587192342238",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "451599358000891883",
"ledger_account_id": "451599357884499931",
"created_at": "2025-04-17T14:09:09.326Z",
"updated_at": "2025-04-17T14:09:09.326Z"
}
]
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/451599587469166319.json?
Response
Status: 200 OK
{
"id": "451599587469166319",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "451599358000891883",
"ledger_account_id": "451599357884499931",
"created_at": "2025-04-17T14:09:09.589Z",
"updated_at": "2025-04-17T14:09:09.589Z"
}
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": "451599587712435955",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "451599358000891883",
"ledger_account_id": "451599357884499931",
"created_at": "2025-04-17T14:09:09.822Z",
"updated_at": "2025-04-17T14:09:09.822Z"
}
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": "451599587821487861",
"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": "451599358000891883",
"ledger_account_id": "451599357884499931",
"created_at": "2025-04-17T14:09:09.926Z",
"updated_at": "2025-04-17T14:09:09.934Z"
}
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":451599588059514620,"ledger_account_id":451599588070000382}}' \
https://moneybird.com/api/v2/123/products.json
Response
Status: 201 Created
{
"id": "451599588128720640",
"administration_id": 123,
"description": "Geldvogel",
"title": null,
"identifier": null,
"price": "50.5",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "451599588059514620",
"ledger_account_id": "451599588070000382",
"created_at": "2025-04-17T14:09:10.219Z",
"updated_at": "2025-04-17T14:09:10.219Z"
}
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":451599588234626821,"ledger_account_id":451599588252452615}}' \
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"
]
},
"details": {
"title": [
{
"error": "blank"
}
],
"description": [
{
"error": "blank"
}
],
"base": [
{
"error": "must_have_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/451599588384573193.json
Response
Status: 200 OK
{
"id": "451599588384573193",
"administration_id": 123,
"description": "Updated",
"title": null,
"identifier": "SKU1234",
"price": "123.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "451599358000891883",
"ledger_account_id": "451599357884499931",
"created_at": "2025-04-17T14:09:10.463Z",
"updated_at": "2025-04-17T14:09:10.531Z"
}
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/451599588526130956.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/451599588692854544.json