> For the complete documentation index, see [llms.txt](https://docs.platform.softwareone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.platform.softwareone.com/developer-resources/rest-api/currency-api.md).

# Currency API

The **Currency API** manages everything related to currencies and exchange rates in the SoftwareOne Marketplace.&#x20;

With this API, you can define currencies, create currency pairs (for example, EUR: USD), and define and manage exchange rates for those pairs. You can also perform additional operations, including:&#x20;

* Updating the currency to modify fields like name, code, and precision (not status).
* Delete a currency (only if not used by a pair), currency pair, or rate.
* Modify the `externalId` and `notes` within a currency pair.
* Modify the currency rate, for example, to override a rate for hedging.

## Before you start

Review the shared API docs before you work with currency resources.

* [Authentication](/developer-resources/rest-api.md)
* [URL structure](/developer-resources/api-usage-and-reference/url-structure.md)
* [Error handling](/developer-resources/api-usage-and-reference/errors-handling.md)

## Core concepts

The Currency API is built around the following core resources:

* **Currency** – Represents the `currency` that sellers use to invoice their products.
* **Pairs** – Represents a currency pair, for example `GBP:EUR`.
* **Rates** – Represent an exchange rate between two currencies, used by sellers to invoice their products.

## Browse collections

The API is organized into collections, each containing a set of operations. Access to these operations varies by role, depending on whether you are a `client`, `vendor`, or `operations` user.&#x20;

See the following sections to determine which roles are authorized to perform specific operations within each collection:

### Currency

<table><thead><tr><th width="198">Operation</th><th width="134">Method</th><th>Description</th><th>Access</th></tr></thead><tbody><tr><td><a href="/pages/35ejSFnAov3R4HMReikc">Create currency</a></td><td>POST</td><td>Creates a new currency.</td><td>ops, exchange-module</td></tr><tr><td><a href="/pages/VZna9K2KVXgJJJTqu8Fd">List currencies</a></td><td>GET</td><td>Gets a list of currencies.</td><td>vendor, client, ops</td></tr><tr><td><a href="/pages/lp4lD7cqsD3CdHMYAWrX">Get currency by id</a></td><td>GET</td><td>Gets currency details.</td><td>vendor, client, ops</td></tr><tr><td><a href="/pages/MDnORsbt18Pw1pR1BfB0">Modify currency</a></td><td>PUT</td><td>Modifies an existing currency.</td><td>ops, exchange-module</td></tr><tr><td><a href="/pages/lRUNHBMy23lktr0FmIRo">Delete currency</a></td><td>DELETE</td><td>Changes a currency’s status to deleted.</td><td>ops, exchange-module</td></tr></tbody></table>

### Pairs

<table><thead><tr><th width="213">Operation</th><th width="121">Method</th><th>Description</th><th>Access</th></tr></thead><tbody><tr><td><a href="/pages/OOP0q1vpv19MJ9QbtLIR">Create currency pair</a></td><td>POST</td><td>Creates matched pairs.</td><td>ops, exchange-module</td></tr><tr><td><a href="/pages/98QuxuOlojAtYsSEBzzV">List currency pairs</a></td><td>GET</td><td>Gets a list of pairs.</td><td>vendor, client, ops</td></tr><tr><td><a href="/pages/MvDlj5iICofs2W4Q1rlb">Get currency pair by id</a></td><td>GET</td><td>Gets pair details.</td><td>vendor, client, ops</td></tr><tr><td><a href="/pages/waCXGvdWsorOGk0vpU4b">Update currency pairs</a></td><td>PUT</td><td>Modifies pairs.</td><td>ops, exchange-module</td></tr><tr><td><a href="/pages/G7zB1LQUXPxnMnS0VObl">Delete currency pairs</a></td><td>DELETE</td><td>Modifies the status of pairs to deleted.</td><td>ops, exchange-module</td></tr></tbody></table>

### Rates

<table><thead><tr><th width="192">Operation</th><th width="120">Method</th><th>Description</th><th>Access</th></tr></thead><tbody><tr><td><a href="/pages/9y9ORaQY3uxFz5VUHIOc">Bulk create rates</a></td><td>POST</td><td>Creates matched rates.</td><td>ops, exchange-module</td></tr><tr><td><a href="/pages/T2ylu5HW4PbbDbUgDwJs">List rates</a></td><td>GET</td><td>Gets a list of rates between two currencies.</td><td>vendor, client, ops</td></tr><tr><td><a href="/pages/9cSeYJsG1hJK7sdP8SDU">Get rate by id</a></td><td>GET</td><td>Gets a specific rate between two currencies at a given point in time.</td><td>vendor, client, ops</td></tr><tr><td><a href="/pages/UOOgHKUiq6jwrGkFk1wv">Bulk update rates</a></td><td>PUT</td><td>Modifies matched rates.</td><td>ops, exchange-module</td></tr><tr><td><a href="/pages/mB0O85nIgFYQURBPntli">Bulk delete rates</a></td><td>DELETE</td><td>Modifies the status of matched rates to deleted.</td><td>ops, exchange-module</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.platform.softwareone.com/developer-resources/rest-api/currency-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
