> For the complete documentation index, see [llms.txt](https://docs.oyf.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.oyf.io/developer-guide/basic-concepts.md).

# Basic concepts

## Authentication

All requests must be authenticated.

In order to make an authenticated request, please include a header containing your token as follows: X-Authorization: YOUR\_TOKEN The token is provided to the user associated with the Partner. One user - one token.

To get a test account with an API token - please - contact the **<dev@oyf.io>** or contact the sales team.

## Permissions

Privileges are an internal mechanism for restricting user actions. The set of privileges is given to the user during account creation and determines the actions that he is allowed to do. In an integration context, you will only encounter privileges when you get a "permission denied" error.

## Requests

All requests should be made using the HTTPS protocol so that traffic is encrypted.

When passing parameters in a Post request, parameters must be passed as a form object containing attribute names and values as key-value pairs.

## Responses

All the responses will be JSON structures (Except file downloading). The API aim to conform to the Restful concept. All meaningful information is passed in the BODY of response. API only supports GET and Post requests.

## Getting the Currency <a href="#getting_the_currency" id="getting_the_currency"></a>

{% code lineNumbers="true" fullWidth="true" %}

```php
$apiURL = 'https://live.oyf.io/api/payment/get-currencies-list';
$secret_key = 'aij3vg2bmucgbzrkgzsfgkenaabhdf8be81mgzz7yj38787rav8ai';
$profile_id = 'c83821798-286c-0007-bb29-2ce849e0de10';
$curl = curl_init($apiURL);
curl_setopt($curl, CURLOPT_URL, $apiURL);
curl_setopt($curl, CURLOPT_POST, true);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
$headers = array('Content-Type: application/json','X-Authorization:' . $secret_key);
curl_setopt($curl, CURLOPT_HTTPHEADER,$headers);
$data['profile_id'] = $profile_id;
$data= json_encode($data);
curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
```

{% endcode %}

## Response

<pre class="language-json"><code class="lang-json">{
"_metadata": {
"outcome": "SUCCESS",
<strong>"outcomeCode": 200,
</strong>"numOfRecords": 1,
"message": "Currency list"
"records": [
{
"uuid": "c7b5e721-72c3-4222-b2c4-d4a244daa1ae",
"name": "Tether Test",
"network_type": "BEP20",
"logo": "https://dhsf9xmf10p0r.cloudfront.net/oyf/uploads/1684244567-Group%201000004067.png",
}
],
"errors": []
}
</code></pre>
