# Request Structure

## Sample Request Structure

Here's an example of how to send an API request :

**Sample Request&#x20;*****(Curl)***

<pre data-title="Curl"><code><strong>curl --location -g '{<a data-footnote-ref href="#user-content-fn-1">baseurl</a>}/api/account/<a data-footnote-ref href="#user-content-fn-2">{version}</a>/create' \
</strong>--header 'Authorization: bearer <a data-footnote-ref href="#user-content-fn-3">{token}</a>' \
--header 'request-reference: <a data-footnote-ref href="#user-content-fn-4">{unique_reference</a>}' \
--header 'Content-Type: application/json' \
--data '{
}'
</code></pre>

<table><thead><tr><th>Name</th><th width="164">Type</th><th>Description</th></tr></thead><tbody><tr><td><code>baseurl</code><mark style="color:red;">*</mark></td><td>string</td><td>This is the base URL section for your API request, which can be in staging or production.</td></tr><tr><td><code>token</code><mark style="color:red;">*</mark></td><td>string</td><td>The token will be the access token generated from your "<a href="authentication/accesstoken">get access token</a>" API.</td></tr><tr><td><code>unique_reference</code><mark style="color:red;">*</mark></td><td>string</td><td><code>unique_reference</code> is a unique reference for your API calls, used for reference purposes and to track each request in the CBA database.</td></tr><tr><td><code>version</code></td><td>string</td><td>The API version. The version is currently at <code>v1</code>.</td></tr></tbody></table>

{% hint style="warning" %}
**Note**: Every request that creates or modifies data must include a unique request reference in the header with a maximum string length of 100 characters.
{% endhint %}

## Request Header

When making an API call, including the appropriate header for a successful API request is essential. Failing to pass the header correctly will result in an error. This header is necessary to authenticate the user making the request.

| Header                | Description                                                                                                                                      |
| --------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Authorization**     | Bearer token supplied to you on request                                                                                                          |
| **Request-Reference** | When creating or modifying data, ensure that the request header contains a unique reference. The maximum length of the string is 100 characters. |

## Date Format

When using an API, make sure to use the correct date format as specified in the documentation, such as "`YYYY`-`MM`-`DD`". For example, "`2025`-`01`-`31`" is a valid date format. You can always refer to this page to confirm the required date format for your API request.

## Amount Format&#x20;

When sending a parameter to an API request, use the amount in the smallest currency unit. For example, 100 naira should be passed as 10000 kobo. Our system supports multi-currency.

{% hint style="info" %}

## Optional Fields

For optional fields, pass null as the value or exclude the field from the payload.
{% endhint %}

[^1]: This is the base URL section for your API request, which can be in staging or production.

[^2]: The version is currently at `v1`.

[^3]: The token will be the access token generated from your "get access token" API.

[^4]: `unique_reference` is a unique reference for your API calls, used for reference purposes and to track each request in the CBA database.
