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": "440890464627853114",
    "administration_id": 123,
    "description": "Apple",
    "title": null,
    "identifier": null,
    "price": "100.0",
    "currency": "EUR",
    "frequency": null,
    "frequency_type": null,
    "tax_rate_id": "440890270389634159",
    "ledger_account_id": "440890270330913887",
    "created_at": "2024-12-20T09:12:14.185Z",
    "updated_at": "2024-12-20T09:12:14.185Z"
  },
  {
    "id": "440890464598492984",
    "administration_id": 123,
    "description": "My product description",
    "title": null,
    "identifier": "SKU1234",
    "price": "100.0",
    "currency": "EUR",
    "frequency": null,
    "frequency_type": null,
    "tax_rate_id": "440890270389634159",
    "ledger_account_id": "440890270330913887",
    "created_at": "2024-12-20T09:12:14.157Z",
    "updated_at": "2024-12-20T09:12:14.157Z"
  },
  {
    "id": "440890464645678908",
    "administration_id": 123,
    "description": "Pie",
    "title": null,
    "identifier": null,
    "price": "100.0",
    "currency": "EUR",
    "frequency": null,
    "frequency_type": null,
    "tax_rate_id": "440890270389634159",
    "ledger_account_id": "440890270330913887",
    "created_at": "2024-12-20T09:12:14.201Z",
    "updated_at": "2024-12-20T09:12:14.201Z"
  }
]
      

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": "440890467478931275",
    "administration_id": 123,
    "description": "Apple",
    "title": null,
    "identifier": null,
    "price": "100.0",
    "currency": "EUR",
    "frequency": null,
    "frequency_type": null,
    "tax_rate_id": "440890270389634159",
    "ledger_account_id": "440890270330913887",
    "created_at": "2024-12-20T09:12:16.904Z",
    "updated_at": "2024-12-20T09:12:16.904Z"
  }
]
      

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": "440890470448498539",
    "administration_id": 123,
    "description": "My product description",
    "title": null,
    "identifier": "SKU1234",
    "price": "100.0",
    "currency": "EUR",
    "frequency": null,
    "frequency_type": null,
    "tax_rate_id": "440890270389634159",
    "ledger_account_id": "440890270330913887",
    "created_at": "2024-12-20T09:12:19.735Z",
    "updated_at": "2024-12-20T09:12:19.735Z"
  }
]
      

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

Response

        
          
          Status: 200 OK
        
      
{
  "id": "440890470648776572",
  "administration_id": 123,
  "description": "My product description",
  "title": null,
  "identifier": "SKU1234",
  "price": "100.0",
  "currency": "EUR",
  "frequency": null,
  "frequency_type": null,
  "tax_rate_id": "440890270389634159",
  "ledger_account_id": "440890270330913887",
  "created_at": "2024-12-20T09:12:19.926Z",
  "updated_at": "2024-12-20T09:12:19.926Z"
}
      

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": "440890470830180224",
  "administration_id": 123,
  "description": "My product description",
  "title": null,
  "identifier": "SKU1234",
  "price": "100.0",
  "currency": "EUR",
  "frequency": null,
  "frequency_type": null,
  "tax_rate_id": "440890270389634159",
  "ledger_account_id": "440890270330913887",
  "created_at": "2024-12-20T09:12:20.099Z",
  "updated_at": "2024-12-20T09:12:20.099Z"
}
      

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": "440890470951815042",
  "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": "440890270389634159",
  "ledger_account_id": "440890270330913887",
  "created_at": "2024-12-20T09:12:20.215Z",
  "updated_at": "2024-12-20T09:12:20.232Z"
}
      

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

Response

        
          
          Status: 201 Created
        
      
{
  "id": "440890471265339277",
  "administration_id": 123,
  "description": "Geldvogel",
  "title": null,
  "identifier": null,
  "price": "50.5",
  "currency": "EUR",
  "frequency": null,
  "frequency_type": null,
  "tax_rate_id": "440890471199278985",
  "ledger_account_id": "440890471209764747",
  "created_at": "2024-12-20T09:12:20.515Z",
  "updated_at": "2024-12-20T09:12:20.515Z"
}
      

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":440890471332448146,"ledger_account_id":440890471341885332}}' \
  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/440890471459325846.json
    

Response

        
          
          Status: 200 OK
        
      
{
  "id": "440890471459325846",
  "administration_id": 123,
  "description": "Updated",
  "title": null,
  "identifier": "SKU1234",
  "price": "123.0",
  "currency": "EUR",
  "frequency": null,
  "frequency_type": null,
  "tax_rate_id": "440890270389634159",
  "ledger_account_id": "440890270330913887",
  "created_at": "2024-12-20T09:12:20.699Z",
  "updated_at": "2024-12-20T09:12:20.752Z"
}
      

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/440890471572572057.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/440890471703644061.json
    

Response