---
title: "Brightpearl by Sage MCP server for AI agents - actionlake"
description: "Give Claude 215 Brightpearl by Sage actions through one MCP server: warehouse, products. Your agent never holds the credential. 100,000 calls a month free."
canonical: https://actionlake.com/connectors/brightpearl-by-sage
updated: 2026-10-23
---

Connectors · Accounting & finance

# Brightpearl by Sage MCP server for AI agents.

actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Brightpearl by Sage and the rest of your systems. It gives your agent 215 Brightpearl by Sage actions (111 reads, 88 writes and 16 that wait for a confirmation) and holds the Brightpearl by Sage credential itself, so the agent never does. It paces Brightpearl by Sage's limits and records every call.

[Connect Brightpearl by Sage free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.

`claude mcp add --transport http actionlake https://connect.actionlake.com/mcp`

the first call

```
do {
  action: "brightpearl.contact.get",
  intent: "check which Brightpearl by Sage account is connected"
}
# Get Contact · read · 1 upstream call
```

- 215 actions in one signed file
- 111 read look, never change
- 88 write create and update
- 16 wait for a yes destructive, confirmed first

Set up

## Connect Brightpearl by Sage in three steps.

1. 01
   ### Add actionlake to Claude.
   Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
   `https://connect.actionlake.com/mcp`
2. 02
   ### Connect Brightpearl by Sage.
   Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead. actionlake stores what you paste write-only, sealed under your tenant's key.
   - `app_ref` Brightpearl private app reference, e.g. `myaccount_myapp` (Brightpearl > App Store > Private apps)
   - `staff_token` The staff token generated when the private app was added
   - `account_code` Your Brightpearl by Sage account code
   - `datacenter` Your Brightpearl by Sage datacenter
   ```
   account { op: "connections.requirements", service: "brightpearl" }
   # free: exactly what to paste, and what is found for you
   ```
3. 03
   ### Make the first call. Check before a write.
   Ask in plain words; Claude picks the action. Before anything changes, `check` validates the call and prices it, for free.
   ```
   do    { action: "brightpearl.contact.get" }
   # get contact · read · 1 upstream call
   check { action: "brightpearl.pick.create", input: { … } }
   # free: inputs, permissions, cost and confirmations, nothing sent
   ```

Brightpearl by Sage at a glance

**Sign-in**

Header credentials. No consent screen: your agent can connect it for you, but the key then passes through your chat. To keep it out of the model's context, paste it in the console instead.

**You provide**

`app_ref` `staff_token`

**Setup fields**

`account_code` `datacenter`

**Limits we pace to**

200 calls a minute, per connection

**API covered**

Brightpearl public API (api-docs.brightpearl.com, scraped 2026-10-23)`euw1.brightpearlconnect.com/public-api`

**Built from**

Brightpearl by Sage's documentation, read 23 October 2026[api-docs.brightpearl.com](https://api-docs.brightpearl.com/) [help.brightpearl.com](https://help.brightpearl.com/s/article/212645003)

**Service file**

Version 1.0.0, signed (Ed25519)

**Cached reads**

111 of 111 reads, for up to 5 minutes; a write clears what it affects

**Shared entities**

4, so ask can line Brightpearl by Sage up with your other systems

**Data**

Processed and stored in Sydney, Australia. No US region yet

Capabilities

## What an AI agent can do in Brightpearl by Sage.

215 actions in 7 areas. Every one carries its effect, so a key can allow the reads and hold the rest.

- **111** read look, never change
- **88** write create and update
- **16** destructive wait for a confirmation

1. ### Warehouse
   55
   25 read · 23 write · 7 destructive
   Get Warehouse · Create Asset Value Correction · Add events to a drop-ship note · Create Drop-Ship Note
2. ### Products
   49
   33 read · 15 write · 1 destructive
   Get Product · Create Brand · Search Brand · Create Brightpearl Category
3. ### Accounting
   36
   17 read · 17 write · 2 destructive
   Create Accounting Period · Search All transaction statement · Search Currency · Create Customer Payment
4. ### Orders
   35
   17 read · 16 write · 2 destructive
   Get Order · Create Order · Search Order · Create Order Note
5. ### Contacts
   32
   15 read · 14 write · 3 destructive
   Get Contact · Create Company · Search Company · Create Contact
6. ### Integration
   7
   3 read · 3 write · 1 destructive
   Create Webhook · Simulate a webhook · Get Account Configuration · Get Integration Instance
7. ### Pricing
   1
   1 read · 0 write · 0 destructive
   Get Customer Product Price

Top actions

## The Brightpearl by Sage API, shaped for agents.

The ids your agent types, what each does, and the one name it shares with other systems.

| Action | What it does | Effect | Same name in |
| --- | --- | --- | --- |
| `brightpearl.order.get` Get Order | Returns a description of the requested orders. | read | this connector |
| `brightpearl.contact.get` Get Contact | This resource allows you to fetch contacts. | read | this connector |
| `brightpearl.product.get` Get Product | id: The unique ID of the product brandId: The ID of the brand the product belongs to. | read | this connector |
| `brightpearl.warehouse.get` Get Warehouse | Returns the ID, name, type, address, weekly operating hours and sla values for one or more warehouses. | read | this connector |
| `brightpearl.pick.create` Create Pick | A pick message updates a single goods-out note at a time though the changes it makes may have a knock-on effect on other goods-out and reservation notes in… | write | this connector |
| `brightpearl.zone.create` Create Zone | This method enables you to create new warehouse zone. | write | this connector |
| `brightpearl.zone.search` Search Zone | Search Zone. | read | this connector |
| `brightpearl.brand.create` Create Brand | This message allows you to create a new brand . | write | this connector |
| `brightpearl.brand.search` Search Brand | Search Brand. | read | this connector |
| `brightpearl.order.create` Create Order | This message enables you to create new sales orders/credits and purchase orders/credits in your Brightpearl system. | write | this connector |
| `brightpearl.option.create` Create Option | This message allows you to create a new option. | write | this connector |
| `brightpearl.zone.delete` Delete Zone | This method enables you to delete a warehouse zone. | destructive | this connector |

Try it

## Prompts to paste into Claude.

Each one names the Brightpearl by Sage actions it will call, so you know what it reads and what it changes before you send it.

1. Read read
   Which Brightpearl by Sage orders from the last seven days are still unfulfilled?
   calls `brightpearl.order.get`
2. Write write
   Create Pick in Brightpearl by Sage. Show me exactly what you will send before you save it.
   calls `brightpearl.pick.create`

Governance for Brightpearl by Sage

## Destructive actions wait for a yes.

16 Brightpearl by Sage actions are destructive. These are all of them:

- Delete Zone `brightpearl.zone.delete`
- Forget (anonymise) a contact `brightpearl.contact.forget`
- Delete Webhook `brightpearl.webhook.delete`
- Delete Location `brightpearl.location.delete`
- Delete Order Row `brightpearl.order_row.delete`
- Delete Warehouse `brightpearl.warehouse.delete`
- Remove a tag from contacts `brightpearl.contact_tag.delete`
- Delete Reservation `brightpearl.reservation.delete`
- Delete Goods-In Note `brightpearl.goods_in_note.delete`
- Forget (anonymise) a contact's orders `brightpearl.order.forget_contact`
- Delete Goods-Out Note `brightpearl.goods_out_note.delete`
- Delete Reservation Row `brightpearl.reservation_row.delete`
- Delete Customer Payment `brightpearl.customer_payment.delete`
- Delete Product Supplier `brightpearl.product_supplier.delete`
- Delete Supplier Payment `brightpearl.supplier_payment.delete`
- Delete Contact Group Member `brightpearl.contact_group_member.delete`

A destructive action runs only with `confirm: true`. Under the `human` policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.

do brightpearl.zone.delete confirm_policy: **human**

Delete Zone?

**intent:** the user asked me to delete Zone

run suspended · waiting for a named person · key _brightpearl-agent_ cannot confirm itself

In the console, or from an emailed signed link.

a key for this connector

```
account {
  op: "keys.create", name: "brightpearl-agent",
  allowed_actions: ["brightpearl.*"], cap_calls: 2000,
  confirm_policy: "human_for_writes",
  approval_rules: [
    { match: "brightpearl.zone.delete", approver: "lead@example.com" },
    { match: "brightpearl.contact.forget", approver: "lead@example.com" },
    { match: "brightpearl.webhook.delete", approver: "lead@example.com" }
  ]
}
```

Illustrative. Scoped to Brightpearl by Sage only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

Cost

## What Brightpearl by Sage costs on actionlake.

Every Brightpearl by Sage action is one upstream call, the only thing actionlake bills. Searching, `check`, `cost`, `account` and any call Brightpearl by Sage refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

- 1 upstream call per action all 215 Brightpearl by Sage actions
- 215 actions page each page of a long list is one call
- 111 reads can be cached a cache hit costs nothing
- 100,000 calls a month, free paid plans from US$49 a month for 250,000

[See pricing](https://actionlake.com/pricing)

Action index

## Every Brightpearl by Sage action.

215 actions by area: the id your agent calls, what it does, and its effect.

**Warehouse 55**

- `brightpearl.asset_value_correction.create` Create Asset Value Correction write
- `brightpearl.bundle_availability.get` Get Bundle Availability read
- `brightpearl.default_location.get` Get Default Location read
- `brightpearl.drop_ship_note.add_event` Add events to a drop-ship note write
- `brightpearl.drop_ship_note.create` Create Drop-Ship Note write
- `brightpearl.drop_ship_note.get` Get Drop-Ship Note read
- `brightpearl.external_transfer.create` Create External Transfer write
- `brightpearl.fulfilment_source.get` Get Fulfilment Source read
- `brightpearl.goods_in_note.correct` Correct a goods-in note write
- `brightpearl.goods_in_note.create` Create Goods-In Note write
- `brightpearl.goods_in_note.delete` Delete Goods-In Note destructive
- `brightpearl.goods_in_note.get` Get Goods-In Note read
- `brightpearl.goods_in_note.search` Search Goods-In Note read
- `brightpearl.goods_movement.search` Search Goods Movement read
- `brightpearl.goods_out_note.add_event` Add events to a goods-out note write
- `brightpearl.goods_out_note.create` Create Goods-Out Note write
- `brightpearl.goods_out_note.delete` Delete Goods-Out Note destructive
- `brightpearl.goods_out_note.get` Get Goods-Out Note read
- `brightpearl.goods_out_note.search` Search Goods-Out Note read
- `brightpearl.goods_out_note.update` Update Goods-Out Note write
- `brightpearl.internal_transfer.create` Create Internal Transfer write
- `brightpearl.location.create` Create Location write
- `brightpearl.location.delete` Delete Location destructive
- `brightpearl.location.get` Get Location read
- `brightpearl.location.search` Search Location read
- `brightpearl.order_fulfilment_status.get` Get Order fulfilment status read
- `brightpearl.pick.create` Create Pick write
- `brightpearl.product_availability.get` Get Product Availability read
- `brightpearl.quarantine.release` Release stock from quarantine write
- `brightpearl.quarantine_location.get` Get Quarantine Location read
- `brightpearl.reservation.create` Create Reservation write
- `brightpearl.reservation.delete` Delete Reservation destructive
- `brightpearl.reservation.get` Get Reservation read
- `brightpearl.reservation.update` Update Reservation write
- `brightpearl.reservation_row.delete` Delete Reservation Row destructive
- `brightpearl.reservations.get` Get Reservations read
- `brightpearl.shipping_method.create` Create Shipping Method write
- `brightpearl.shipping_method.get` Get Shipping Method read
- `brightpearl.shipping_method.search` Search Shipping Method read
- `brightpearl.stock_correction.create` Create Stock Correction write
- `brightpearl.stock_correction.get` Get Stock Correction read
- `brightpearl.stock_transfer.create` Create Stock Transfer write
- `brightpearl.stock_transfer.get` Get Stock Transfer read
- `brightpearl.warehouse.create` Create Warehouse write
- `brightpearl.warehouse.delete` Delete Warehouse destructive
- `brightpearl.warehouse.get` Get Warehouse read
- `brightpearl.warehouse.search` Search Warehouse read
- `brightpearl.warehouse.update` Update Warehouse write
- `brightpearl.warehouse_defaults.get` Get Warehouse Defaults read
- `brightpearl.warehouse_defaults.update` Update Warehouse Defaults write
- `brightpearl.zone.create` Create Zone write
- `brightpearl.zone.delete` Delete Zone destructive
- `brightpearl.zone.get` Get Zone read
- `brightpearl.zone.patch` Patch Zone write
- `brightpearl.zone.search` Search Zone read

**Products 49**

- `brightpearl.brand.create` Create Brand write
- `brightpearl.brand.get` Get Brand read
- `brightpearl.brand.search` Search Brand read
- `brightpearl.brightpearl_category.create` Create Brightpearl Category write
- `brightpearl.brightpearl_category.get` Get Brightpearl Category read
- `brightpearl.brightpearl_category.search` Search Brightpearl Category read
- `brightpearl.channel.get` Get Channel read
- `brightpearl.channel_brand.get` Get Channel brand read
- `brightpearl.collection.search` Search Collection read
- `brightpearl.discount_contact_usage.get` Get Discount contact usage read
- `brightpearl.discount_total_usage.get` Get Discount total usage read
- `brightpearl.option.create` Create Option write
- `brightpearl.option.get` Get Option read
- `brightpearl.option.search` Search Option read
- `brightpearl.option_value.create` Create Option Value write
- `brightpearl.option_value.get` Get Option Value read
- `brightpearl.option_value.search` Search Option Value read
- `brightpearl.price_list.get` Get Price List read
- `brightpearl.product.create` Create Product write
- `brightpearl.product.get` Get Product read
- `brightpearl.product.search` Search Product read
- `brightpearl.product.update` Update Product write
- `brightpearl.product.uris` Get request URIs for Product read
- `brightpearl.product_bundle.get` Get Product Bundle read
- `brightpearl.product_custom_field.get` Get Custom Field read
- `brightpearl.product_custom_field.patch` Patch Custom Field write
- `brightpearl.product_custom_field_metadata.get` Get Custom Field Metadata read
- `brightpearl.product_custom_fields.get` Get Product Custom Field read
- `brightpearl.product_group.get` Get Product Group read
- `brightpearl.product_group.update` Update Product Group write
- `brightpearl.product_identity.update` Update Product Identity write
- `brightpearl.product_option_value.get` Get Product option value read
- `brightpearl.product_option_value.uris` Get request URIs for Product option value read
- `brightpearl.product_price.get` Get product prices (every price list) read
- `brightpearl.product_price.get_by_price_list` Get product prices for given price lists read
- `brightpearl.product_price.update` Update Product Price write
- `brightpearl.product_price.uris` Get request URIs for Product Price read
- `brightpearl.product_price.uris_by_price_list` Get request URIs for Product Price read
- `brightpearl.product_primary_supplier.update` Update Product Primary Supplier write
- `brightpearl.product_supplier.create` Create Product Supplier write
- `brightpearl.product_supplier.delete` Delete Product Supplier destructive
- `brightpearl.product_supplier.get` Get Product Supplier read
- `brightpearl.product_type.create` Create Product Type write
- `brightpearl.product_type.get` Get Product Type read
- `brightpearl.product_type.search` Search Product Type read
- `brightpearl.product_type_option_association.create` Associate options with product types write
- `brightpearl.season.create` Create Season write
- `brightpearl.season.get` Get Season read
- `brightpearl.season.search` Search Season read

**Accounting 36**

- `brightpearl.accounting_period.create` Create Accounting Period write
- `brightpearl.accounting_period.get` Get Accounting Period read
- `brightpearl.accounting_period_lock.get` Get Accounting Period Lock read
- `brightpearl.all_transaction_statement.search` Search All transaction statement read
- `brightpearl.contact_balance.get` Get Contact balance read
- `brightpearl.currency.search` Search Currency read
- `brightpearl.customer_payment.create` Create Customer Payment write
- `brightpearl.customer_payment.delete` Delete Customer Payment destructive
- `brightpearl.customer_payment.search` Search Customer Payment read
- `brightpearl.exchange_rate.create` Create Exchange Rate write
- `brightpearl.exchange_rate.get` Get Exchange Rate read
- `brightpearl.exchange_rate.update` Update Exchange Rate write
- `brightpearl.journal.create` Create a journal (deprecated) write
- `brightpearl.journal.get` Get Journal read
- `brightpearl.journal.search` Search Journal read
- `brightpearl.journal_entry.create` Create Journal Entry write
- `brightpearl.landed_cost_allocation.create` Create Landed Cost Allocation write
- `brightpearl.nominal_code.get` Get Nominal Code read
- `brightpearl.nominal_code.search` Search Nominal Code read
- `brightpearl.payment_method.create` Create Payment Method write
- `brightpearl.payment_method.get` Get Payment Method read
- `brightpearl.payment_method.search` Search Payment Method read
- `brightpearl.payment_method.update` Update Payment Method write
- `brightpearl.purchase_credit_invoice.create` Create Purchase Credit write
- `brightpearl.purchase_invoice.create` Create Purchase Invoice write
- `brightpearl.purchase_payment.create` Create Purchase Payment write
- `brightpearl.purchase_payment_total.get` Get Purchase Payment Total read
- `brightpearl.sale_payment_total.get` Get Sale Payment Total read
- `brightpearl.sales_credit_invoice.create` Create Sales Credit write
- `brightpearl.sales_invoice.create` Create Sales Invoice write
- `brightpearl.sales_receipt.create` Create Sales Receipt write
- `brightpearl.sales_receipt_legacy.create` Create a sales receipt (deprecated endpoint) write
- `brightpearl.supplier_payment.create` Create Supplier Payment write
- `brightpearl.supplier_payment.delete` Delete Supplier Payment destructive
- `brightpearl.supplier_payment.search` Search Supplier Payment read
- `brightpearl.tax_code.get` Get Tax Code read

**Orders 35**

- `brightpearl.landed_cost_estimate.get` Get Landed Cost Estimate read
- `brightpearl.order.acknowledge` Acknowledge an order write
- `brightpearl.order.create` Create Order write
- `brightpearl.order.forget_contact` Forget (anonymise) a contact's orders destructive
- `brightpearl.order.get` Get Order read
- `brightpearl.order.patch` Patch Order write
- `brightpearl.order.search` Search Order read
- `brightpearl.order.set_status` Update the status of an order write
- `brightpearl.order.uris` Get request URIs for Order read
- `brightpearl.order_custom_field.get` Get Custom Field read
- `brightpearl.order_custom_field.patch` Patch Custom Field write
- `brightpearl.order_custom_field_metadata.get` Get Custom Field Metadata read
- `brightpearl.order_note.create` Create Order Note write
- `brightpearl.order_note.get` Get Order Note read
- `brightpearl.order_note.search` Search Order Note read
- `brightpearl.order_row.create` Create Order Row write
- `brightpearl.order_row.delete` Delete Order Row destructive
- `brightpearl.order_row.patch` Patch Order Row write
- `brightpearl.order_shipping_status.get` Get Order Shipping Status read
- `brightpearl.order_status.create` Create Order Status write
- `brightpearl.order_status.get` Get Order Status read
- `brightpearl.order_stock_status.get` Get Order Stock Status read
- `brightpearl.order_type.get` Get Order Type read
- `brightpearl.purchase_credit.close` Close purchase credits write
- `brightpearl.purchase_order.close` Close purchase orders write
- `brightpearl.sales_credit.close` Close a sales credit write
- `brightpearl.sales_credit.create` Create Sales Credit write
- `brightpearl.sales_credit.get` Get Sales Credit read
- `brightpearl.sales_credit.uris` Get request URIs for Sales Credit read
- `brightpearl.sales_order.close` Close a sales order write
- `brightpearl.sales_order.create` Create Sales Order write
- `brightpearl.sales_order.get` Get Sales Order read
- `brightpearl.sales_order.search` Search Sales Order read
- `brightpearl.sales_order.uris` Get request URIs for Sales Order read
- `brightpearl.sales_order_row.update` Update Sales Order Row write

**Contacts 32**

- `brightpearl.company.create` Create Company write
- `brightpearl.company.get` Get Company read
- `brightpearl.company.search` Search Company read
- `brightpearl.company.update` Update Company write
- `brightpearl.contact.create` Create Contact write
- `brightpearl.contact.forget` Forget (anonymise) a contact destructive
- `brightpearl.contact.get` Get Contact read
- `brightpearl.contact.patch` Patch Contact write
- `brightpearl.contact.search` Search Contact read
- `brightpearl.contact.uris` Get request URIs for Contact read
- `brightpearl.contact_custom_field.get` Get Custom Field read
- `brightpearl.contact_custom_field.patch` Patch Custom Field write
- `brightpearl.contact_custom_field_metadata.get` Get Custom Field Metadata read
- `brightpearl.contact_group.create` Create Contact Group write
- `brightpearl.contact_group.get` Get Contact Group read
- `brightpearl.contact_group.search` Search Contact Group read
- `brightpearl.contact_group.update` Update Contact Group write
- `brightpearl.contact_group_member.create` Create Contact Group Member write
- `brightpearl.contact_group_member.delete` Delete Contact Group Member destructive
- `brightpearl.contact_group_member.get` Get Contact Group Member read
- `brightpearl.contact_group_member.search` Search Contact Group Member read
- `brightpearl.contact_note.create` Create Contact Note write
- `brightpearl.contact_postal_address.update` Update Contact Postal Address write
- `brightpearl.contact_status.update` Update Contact Status write
- `brightpearl.contact_tag.create` Add tags to contacts write
- `brightpearl.contact_tag.delete` Remove a tag from contacts destructive
- `brightpearl.lead_source.get` Get Lead Source read
- `brightpearl.postal_address.create` Create Postal Address write
- `brightpearl.postal_address.get` Get Postal Address read
- `brightpearl.postal_address.update` Update Postal Address write
- `brightpearl.project.get` Get Project read
- `brightpearl.tag.get` Get Tag read

**Integration 7**

- `brightpearl.account_configuration.get` Get Account Configuration read
- `brightpearl.integration_instance.get` Get Integration Instance read
- `brightpearl.integration_instance.update` Update Integration Instance write
- `brightpearl.webhook.create` Create Webhook write
- `brightpearl.webhook.delete` Delete Webhook destructive
- `brightpearl.webhook.get` Get Webhook read
- `brightpearl.webhook.simulate` Simulate a webhook write

**Pricing 1**

- `brightpearl.customer_product_price.get` Get Customer Product Price read

Questions

## The Brightpearl by Sage MCP server, answered.

**Is there a Brightpearl by Sage MCP server for Claude?**

Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 215 Brightpearl by Sage actions across warehouse, products, accounting and orders, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Brightpearl by Sage.

**What do I need to connect Brightpearl by Sage?**

Brightpearl private app reference, e.g. `myaccount_myapp` (Brightpearl > App Store > Private apps) and The staff token generated when the private app was added. Plus your account code and your datacenter. The free call account { op: "connections.requirements", service: "brightpearl" } lists exactly what to paste.

**Can an AI agent delete or change things in Brightpearl by Sage?**

Only if its key allows it, and only with an explicit confirmation. 16 Brightpearl by Sage actions are destructive, including delete Zone, forget (anonymise) a contact and delete Webhook. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.

**Will an AI agent use up my Brightpearl by Sage API limit?**

actionlake paces every call to the limits in the Brightpearl by Sage service file: 200 calls a minute per connection. Repeated reads are answered from cache (111 Brightpearl by Sage actions can be), which never reaches Brightpearl by Sage.

**What does a Brightpearl by Sage action cost?**

One upstream call, the only unit actionlake bills. A list that pages bills one call per page (215 Brightpearl by Sage actions page). Cache hits, searches, dry runs and calls Brightpearl by Sage refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.

**Which Brightpearl by Sage API does it cover?**

The Brightpearl public API (api-docs.brightpearl.com, scraped 2026-10-23) at euw1.brightpearlconnect.com/public-api by default, or the base URL set when you connect. It is built from Brightpearl by Sage's documentation as read on 23 October 2026. 215 actions in 7 areas, each one in the signed service file (version 1.0.0).

**Does actionlake keep my Brightpearl by Sage data, and where?**

actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to 5 minutes, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Brightpearl by Sage credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.

**Which AI clients can use it?**

Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.

## More connectors like Brightpearl by Sage

Joins with, on shared entities

- [BigCommerce 4](https://actionlake.com/connectors/bigcommerce)
- [Shopify Admin 4](https://actionlake.com/connectors/shopify-admin)
- [Cin7 Core 4](https://actionlake.com/connectors/cin7-core)
- [Sellercloud 4](https://actionlake.com/connectors/sellercloud)
- [Lightspeed Retail X-Series 4](https://actionlake.com/connectors/lightspeed-retail-x-series)
- [Veeqo 4](https://actionlake.com/connectors/veeqo)

Browse

- [All Accounting & finance connectors](https://actionlake.com/connectors/category/accounting-and-finance)
- [All connectors](https://actionlake.com/connectors)
- [How actionlake compares](https://actionlake.com/compare)

actionlake is independent. It is not made or endorsed by Brightpearl by Sage; the name is the vendor's own. Counts are from the Brightpearl by Sage service file, version 1.0.0.

## Give your agent Brightpearl by Sage today.

[Connect Brightpearl by Sage free](https://actionlake.com/console?start=sandbox) [See pricing](https://actionlake.com/pricing)

Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.

---

Source: https://actionlake.com/connectors/brightpearl-by-sage
More: https://actionlake.com/llms.txt
