# 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="/pages/CyH2xJQs9yWJ1S8BYNav">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.


---

# Agent Instructions: 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.udara360.io/udara360-docs-1/getting-started/request-structure.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.
