> ## Documentation Index
> Fetch the complete documentation index at: https://developers.readyforcommerce.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API reference

> The base URL, how a call authenticates, how it fails, and every group of operations.

## Base URL

```text theme={null}
https://app.readyforcommerce.com
```

Every operation's path starts with `/api/v1`, and an organization's operations sit under `/api/v1/orgs/{orgId}/`. Requests and answers are JSON.

## Authentication

Every call sends an organization's API key as a Bearer token, in the `Authorization` header. A person of the organization creates the key in the app, in **Settings › API and connections › API keys**. Keep it out of your code: read it from an environment variable or a secret store, as these examples do with `RFC_API_KEY`.

```bash curl theme={null}
curl https://app.readyforcommerce.com/api/v1/credential \
  --header "Authorization: Bearer $RFC_API_KEY"
```

```python Python theme={null}
import os

import requests

response = requests.get(
    "https://app.readyforcommerce.com/api/v1/credential",
    headers={"Authorization": f"Bearer {os.environ['RFC_API_KEY']}"},
)
print(response.json())
```

```php PHP theme={null}
<?php
$curl = curl_init('https://app.readyforcommerce.com/api/v1/credential');
curl_setopt_array($curl, [
    CURLOPT_HTTPHEADER => ['Authorization: Bearer ' . getenv('RFC_API_KEY')],
    CURLOPT_RETURNTRANSFER => true,
]);
echo curl_exec($curl);
```

```javascript JavaScript theme={null}
const response = await fetch('https://app.readyforcommerce.com/api/v1/credential', {
  headers: { Authorization: `Bearer ${process.env.RFC_API_KEY}` },
});
console.log(await response.json());
```

This first call, [Get the calling credential](https://developers.readyforcommerce.com/api-reference/core-get-credential.md), reads the key itself: its organization, whose `org.id` is the `orgId` of every other path, its permissions, its limits and the calls it may still make. It counts against no limit. A key that is unknown, revoked or expired gets `401` with the code `core.invalid_credential`.

## Errors

A failed call answers `application/problem+json`: its `code` names what went wrong, such as `core.validation_failed` or `core.rate_limited`, and its `params` hold the values that explain it. Each operation's page lists the codes it may answer.

## Groups of operations

> [card] [Credentials](https://developers.readyforcommerce.com/api-reference/core-get-credential.md)
>
> The credential that calls: its organization, its permissions, its limits and the calls it may
> still make.

> [card] [Organization](https://developers.readyforcommerce.com/api-reference/core-get-org.md)
>
> The organization's settings: its name, slug and currency.

> [card] [Billing](https://developers.readyforcommerce.com/api-reference/core-get-billing.md)
>
> The organization's subscription, each module's bill and cap, and this month's usage.

> [card] [Record types](https://developers.readyforcommerce.com/api-reference/core-list-dataio-adapters.md)
>
> The kinds of record the credential may import or export, with each one's fields and options.

> [card] [Imports](https://developers.readyforcommerce.com/api-reference/core-list-imports.md)
>
> Bring CSV or Excel files in: upload or fetch a file, inspect and check it, then import it.

> [card] [Files](https://developers.readyforcommerce.com/api-reference/core-get-file.md)
>
> An uploaded file's status, until it is ready or rejected.

> [card] [Exports](https://developers.readyforcommerce.com/api-reference/core-list-exports.md)
>
> Export the records a filter matches to CSV or Excel files.

> [card] [Export templates](https://developers.readyforcommerce.com/api-reference/core-list-export-templates.md)
>
> Saved export setups, by name, to run the same export again.

> [card] [Jobs](https://developers.readyforcommerce.com/api-reference/core-get-job.md)
>
> Follow long work: its state and progress, its messages and files, or cancel it.

> [card] [Search](https://developers.readyforcommerce.com/api-reference/core-search.md)
>
> Find the organization's records by words, a typo included, grouped by kind.

> [card] [Version history](https://developers.readyforcommerce.com/api-reference/core-list-versions.md)
>
> A record's versions: compare one with another and restore the record to it.

> [card] [Incidents](https://developers.readyforcommerce.com/api-reference/core-list-incidents.md)
>
> The organization's problems you may see: mark them read or unread, and resolve them.

> [card] [Notifications](https://developers.readyforcommerce.com/api-reference/core-list-notifications.md)
>
> Your notifications, newest first: mark one read or unread, or all of them read.

> [card] [Saved views](https://developers.readyforcommerce.com/api-reference/core-list-views.md)
>
> A table's search, filters, order and columns saved under a name, yours or shared.

> [card] [Store connections](https://developers.readyforcommerce.com/api-reference/integrations-list-connections.md)
>
> The organization's stores: list them, connect one, reconnect it with new keys or disconnect it.

> [card] [Products](https://developers.readyforcommerce.com/api-reference/catalog-get-product.md)
>
> The organization's products with their options and variants: read one or create one.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.