canonical: https://jentic.com/apis/hubspot.com/hubspot-multicurrency

# HubSpot Multicurrency

The HubSpot Multicurrency API manages the currency configuration that every deal, quote, and revenue report on a HubSpot portal depends on. It exposes the company's home currency, the supported ISO currency code list, and the active and historical exchange rates used to convert deal amounts back to the home currency. Rates can be created, batch updated, hidden from the UI, and queried by ID so finance teams can keep HubSpot's reporting aligned with their accounting source of truth.

## For AI agents

Read and update the HubSpot company currency, supported currency list, and the exchange rates used to convert deal amounts in reporting.

## Scope

Does not process payments, file taxes, or post journal entries - use for HubSpot home currency configuration and exchange rate management only.

## Capabilities

- Get the home currency configured for the HubSpot account
- Update the company home currency that all reports normalise to
- List the supported ISO currency codes that can be enabled on the portal
- List current and historical exchange rates against the home currency
- Create a new exchange rate entry between two currencies
- Batch create or batch update multiple exchange rates in a single call
- Hide outdated exchange rates from the HubSpot reporting UI without deleting them

## Use cases

### Month-end exchange rate sync from accounting

Pull the official month-end exchange rates from the company's ERP or accounting system and push them into HubSpot in a single batch so deal pipeline reports normalise to the home currency using the same rates finance closed the books with. The batch create endpoint handles dozens of currency pairs in one call rather than per-pair updates.

Example prompt: Read month-end rates from the ERP, then POST /settings/v3/currencies/exchange-rates/batch/create with an array of {fromCurrencyCode, toCurrencyCode, exchangeRate, effectiveAt} objects.

### Auditing the home currency configuration

Verify that a HubSpot portal's home currency and enabled currency list match the legal entity setup before pushing deals from a CRM migration. The API returns the company-currency record and the full supported ISO code list so the migration script can fail fast if a currency the source system uses is not yet enabled.

Example prompt: Call GET /settings/v3/currencies/company-currency and GET /settings/v3/currencies/codes, then verify each currency present on incoming deals exists in the codes list.

### Cleaning up stale FX rates

Hide outdated exchange rates from HubSpot's reporting UI without losing them from the historical record. The visibility update endpoint flips rates between visible and hidden so reps see only current rates in the UI while finance retains the full audit trail tied by exchange rate ID.

Example prompt: Call POST /settings/v3/currencies/exchange-rates/update-visibility with the IDs of last quarter's rates and visibility=false to remove them from the reporting UI.

### Agent-driven currency operations through Jentic

An AI agent that reconciles cross-region pipeline reports searches Jentic for the HubSpot exchange rate operations, loads their schemas, and pushes corrected rates without ever holding a HubSpot OAuth token in its context. Jentic's credential vault means the same agent can run against multiple HubSpot portals safely.

Example prompt: Through Jentic, search 'update HubSpot exchange rate', load the schema for POST /settings/v3/currencies/exchange-rates, and execute it with the corrected USD-to-EUR rate.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /settings/v3/currencies/company-currency | Get the configured home currency for the portal |
| PUT | /settings/v3/currencies/company-currency | Update the portal home currency |
| GET | /settings/v3/currencies/codes | List the supported ISO currency codes |
| GET | /settings/v3/currencies/exchange-rates | List historical and current exchange rates |
| POST | /settings/v3/currencies/exchange-rates | Create a new exchange rate entry |
| POST | /settings/v3/currencies/exchange-rates/batch/create | Batch create exchange rates |
| POST | /settings/v3/currencies/exchange-rates/batch/update | Batch update existing exchange rates |
| POST | /settings/v3/currencies/exchange-rates/update-visibility | Hide or show exchange rates in the reporting UI |

## Key resources

- **Currency** — Manage the home currency, supported currency codes, and the exchange rate table used by HubSpot reporting

## Why Jentic

- **Setup:** Wiring HubSpot Multicurrency by hand means running its OAuth flow or minting a private-app token, targeting api.hubapi.com, and batching exchange-rate updates against currency codes yourself. Through Jentic you install once, import HubSpot Multicurrency from the API Directory, store the credential once, and your agent calls it.
- **Permission scoping:** This API addresses currencies and exchange rates through fixed settings paths and request-body fields like fromCurrencyCode, so limit the agent to the operations it needs, such as reading currency codes or listing exchange rates. You choose the operations it may call, so setting the company currency or a batch rate update is not included unless you add it.
- **Credential handling:** Your HubSpot OAuth or private-app token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'update a HubSpot exchange rate' or 'list HubSpot currencies', and Jentic returns the matching operation with its input schema, including required fields like fromCurrencyCode and effectiveAt, so the agent calls the right endpoint without browsing the HubSpot reference docs.

## Related APIs

- **ExchangeRate-API** — Live and historical FX rate source that feeds the values pushed into HubSpot
- **ExchangeRatesAPI.io** — Alternative FX rate feed with historical end-of-day rates suitable for month-end close
- **HubSpot CRM Deals** — Deals API whose amount fields are converted using the rates this API manages
- **Stripe** — Payment platform that maintains its own settlement currency and FX rates separate from HubSpot

## FAQ

### What authentication does the HubSpot Multicurrency API use?

It accepts HubSpot OAuth 2.0 tokens and private-app tokens passed as a Bearer header. Through Jentic the token sits in your encrypted Jentic One instance and is injected at execution time so it stays out of the agent's context.

### Can I batch update exchange rates for many currency pairs at once?

Yes. POST /settings/v3/currencies/exchange-rates/batch/update accepts an array of rate updates in a single call, which is the right endpoint to use for a month-end FX sync from an ERP.

### What are the rate limits for the HubSpot Multicurrency API?

HubSpot's standard public API limits apply: 100 requests per 10 seconds for OAuth apps and 110 per 10 seconds for private apps. Use the batch endpoints to avoid burning request budget on per-pair updates.

### How do I change the home currency through Jentic?

Search Jentic for 'update HubSpot home currency', load the schema for PUT /settings/v3/currencies/company-currency, and execute it with the new ISO currency code. All deal reporting recalculates against the new home currency.

### Does deleting an exchange rate change historical reports?

Use the visibility endpoint POST /settings/v3/currencies/exchange-rates/update-visibility instead of deletion. Hiding a rate removes it from the UI but preserves the historical conversion record so closed-period reports stay consistent.

### Which currencies can I enable on a HubSpot portal?

Call GET /settings/v3/currencies/codes to retrieve the full list of ISO currency codes HubSpot supports for the portal before attempting to add a new exchange rate against an unsupported code.

### Can I limit what my agent is allowed to do with the HubSpot Multicurrency API?

Yes. Because you run Jentic One yourself, your own rules decide which HubSpot Multicurrency operations and credentials the agent may use. You can allow read-only calls such as GET /settings/v3/currencies/codes and GET /settings/v3/currencies/exchange-rates while withholding write operations like PUT /settings/v3/currencies/company-currency or the batch rate updates. Those higher-impact operations are not available to the agent unless you explicitly add them.
