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
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": "433546310256166396",
    "administration_id": 123,
    "description": "Apple",
    "title": null,
    "identifier": null,
    "price": "100.0",
    "currency": "EUR",
    "frequency": null,
    "frequency_type": null,
    "tax_rate_id": "433546158515685191",
    "ledger_account_id": "433546158461159223",
    "created_at": "2024-09-30T07:40:02.754Z",
    "updated_at": "2024-09-30T07:40:02.754Z"
  },
  {
    "id": "433546310238340602",
    "administration_id": 123,
    "description": "My product description",
    "title": null,
    "identifier": "SKU1234",
    "price": "100.0",
    "currency": "EUR",
    "frequency": null,
    "frequency_type": null,
    "tax_rate_id": "433546158515685191",
    "ledger_account_id": "433546158461159223",
    "created_at": "2024-09-30T07:40:02.737Z",
    "updated_at": "2024-09-30T07:40:02.737Z"
  },
  {
    "id": "433546310277137918",
    "administration_id": 123,
    "description": "Pie",
    "title": null,
    "identifier": null,
    "price": "100.0",
    "currency": "EUR",
    "frequency": null,
    "frequency_type": null,
    "tax_rate_id": "433546158515685191",
    "ledger_account_id": "433546158461159223",
    "created_at": "2024-09-30T07:40:02.774Z",
    "updated_at": "2024-09-30T07:40:02.774Z"
  }
]
      

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": "433546313170159117",
    "administration_id": 123,
    "description": "Apple",
    "title": null,
    "identifier": null,
    "price": "100.0",
    "currency": "EUR",
    "frequency": null,
    "frequency_type": null,
    "tax_rate_id": "433546158515685191",
    "ledger_account_id": "433546158461159223",
    "created_at": "2024-09-30T07:40:05.534Z",
    "updated_at": "2024-09-30T07:40:05.534Z"
  }
]
      

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": "433546316449056301",
    "administration_id": 123,
    "description": "My product description",
    "title": null,
    "identifier": "SKU1234",
    "price": "100.0",
    "currency": "EUR",
    "frequency": null,
    "frequency_type": null,
    "tax_rate_id": "433546158515685191",
    "ledger_account_id": "433546158461159223",
    "created_at": "2024-09-30T07:40:08.661Z",
    "updated_at": "2024-09-30T07:40:08.661Z"
  }
]
      

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/433546316676597310.json?
    

Response

        
          
          Status: 200 OK
        
      
{
  "id": "433546316676597310",
  "administration_id": 123,
  "description": "My product description",
  "title": null,
  "identifier": "SKU1234",
  "price": "100.0",
  "currency": "EUR",
  "frequency": null,
  "frequency_type": null,
  "tax_rate_id": "433546158515685191",
  "ledger_account_id": "433546158461159223",
  "created_at": "2024-09-30T07:40:08.877Z",
  "updated_at": "2024-09-30T07:40:08.877Z"
}
      

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": "433546316861146690",
  "administration_id": 123,
  "description": "My product description",
  "title": null,
  "identifier": "SKU1234",
  "price": "100.0",
  "currency": "EUR",
  "frequency": null,
  "frequency_type": null,
  "tax_rate_id": "433546158515685191",
  "ledger_account_id": "433546158461159223",
  "created_at": "2024-09-30T07:40:09.054Z",
  "updated_at": "2024-09-30T07:40:09.054Z"
}
      

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": "433546317157893700",
  "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": "433546158515685191",
  "ledger_account_id": "433546158461159223",
  "created_at": "2024-09-30T07:40:09.335Z",
  "updated_at": "2024-09-30T07:40:09.352Z"
}
      

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 or subscription.

product[frequency_type] String

Can be day, week, month, quarter or year.

product[frequency] Integer

Should be an integer >= 1.

product[product_type] String

Can be digital_service, service or product.

product[vat_rate_type] String

Can be standard or reduced.

product[max_amount_per_order] Integer

Should be an integer 0 <= n < 2.

product[identifier] String

Should be unique for the administration.

product[image_hash] String
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":433546317439960651,"ledger_account_id":433546317456737869}}' \
  https://moneybird.com/api/v2/123/products.json
    

Response

        
          
          Status: 201 Created
        
      
{
  "id": "433546317520701007",
  "administration_id": 123,
  "description": "Geldvogel",
  "title": null,
  "identifier": null,
  "price": "50.5",
  "currency": "EUR",
  "frequency": null,
  "frequency_type": null,
  "tax_rate_id": "433546317439960651",
  "ledger_account_id": "433546317456737869",
  "created_at": "2024-09-30T07:40:09.682Z",
  "updated_at": "2024-09-30T07:40:09.682Z"
}
      

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":433546317605635668,"ledger_account_id":433546317618218582}}' \
  https://moneybird.com/api/v2/123/products.json
    

Response

        
          
          Status: 422 Unprocessable Entity
        
      
{
  "error": {
    "title": [
      "mag niet leeg zijn"
    ],
    "description": [
      "mag niet leeg zijn"
    ],
    "base": [
      "moet een titel of omschrijving bevatten"
    ]
  }
}
      

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 day, week, month, quarter or year.

product[frequency] Integer

Should be an integer >= 1.

product[product_type] String

Can be digital_service, service or product.

product[vat_rate_type] String

Can be standard or reduced.

product[checkout_type] String

Can be product or subscription.

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[image_hash] String
product[frequency_preset] String
validation_context Symbol

Can be payment_link_setup.

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/433546317717833304.json
    

Response

        
          
          Status: 200 OK
        
      
{
  "id": "433546317717833304",
  "administration_id": 123,
  "description": "Updated",
  "title": null,
  "identifier": "SKU1234",
  "price": "123.0",
  "currency": "EUR",
  "frequency": null,
  "frequency_type": null,
  "tax_rate_id": "433546158515685191",
  "ledger_account_id": "433546158461159223",
  "created_at": "2024-09-30T07:40:09.870Z",
  "updated_at": "2024-09-30T07:40:09.931Z"
}
      

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/433546317830030939.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/433546317976831583.json
    

Response