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": "453386406211880921",
"administration_id": 123,
"description": "Apple",
"title": null,
"identifier": null,
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "453386251579425993",
"ledger_account_id": "453386251485054137",
"created_at": "2025-05-07T07:29:52.732Z",
"updated_at": "2025-05-07T07:29:52.732Z"
},
{
"id": "453386406197200855",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "453386251579425993",
"ledger_account_id": "453386251485054137",
"created_at": "2025-05-07T07:29:52.719Z",
"updated_at": "2025-05-07T07:29:52.719Z"
},
{
"id": "453386406222366683",
"administration_id": 123,
"description": "Pie",
"title": null,
"identifier": null,
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "453386251579425993",
"ledger_account_id": "453386251485054137",
"created_at": "2025-05-07T07:29:52.743Z",
"updated_at": "2025-05-07T07:29:52.743Z"
}
]
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": "453386407814105066",
"administration_id": 123,
"description": "Apple",
"title": null,
"identifier": null,
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "453386251579425993",
"ledger_account_id": "453386251485054137",
"created_at": "2025-05-07T07:29:54.261Z",
"updated_at": "2025-05-07T07:29:54.261Z"
}
]
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": "453386409707832330",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "453386251579425993",
"ledger_account_id": "453386251485054137",
"created_at": "2025-05-07T07:29:56.067Z",
"updated_at": "2025-05-07T07:29:56.067Z"
}
]
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/453386409850438683.json?
Response
Status: 200 OK
{
"id": "453386409850438683",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "453386251579425993",
"ledger_account_id": "453386251485054137",
"created_at": "2025-05-07T07:29:56.203Z",
"updated_at": "2025-05-07T07:29:56.203Z"
}
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": "453386409980462111",
"administration_id": 123,
"description": "My product description",
"title": null,
"identifier": "SKU1234",
"price": "100.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "453386251579425993",
"ledger_account_id": "453386251485054137",
"created_at": "2025-05-07T07:29:56.326Z",
"updated_at": "2025-05-07T07:29:56.326Z"
}
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": "453386410066445345",
"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": "453386251579425993",
"ledger_account_id": "453386251485054137",
"created_at": "2025-05-07T07:29:56.409Z",
"updated_at": "2025-05-07T07:29:56.417Z"
}
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":453386410245751848,"ledger_account_id":453386410254140458}}' \
https://moneybird.com/api/v2/123/products.json
Response
Status: 201 Created
{
"id": "453386410297132076",
"administration_id": 123,
"description": "Geldvogel",
"title": null,
"identifier": null,
"price": "50.5",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "453386410245751848",
"ledger_account_id": "453386410254140458",
"created_at": "2025-05-07T07:29:56.628Z",
"updated_at": "2025-05-07T07:29:56.628Z"
}
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":453386410357949489,"ledger_account_id":453386410365289523}}' \
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/453386410443932725.json
Response
Status: 200 OK
{
"id": "453386410443932725",
"administration_id": 123,
"description": "Updated",
"title": null,
"identifier": "SKU1234",
"price": "123.0",
"currency": "EUR",
"frequency": null,
"frequency_type": null,
"tax_rate_id": "453386251579425993",
"ledger_account_id": "453386251485054137",
"created_at": "2025-05-07T07:29:56.768Z",
"updated_at": "2025-05-07T07:29:56.816Z"
}
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/453386410540401720.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/453386410636870716.json