# Authentication

The  API supports basic authentication using Access Keys (public and private keys) which we provide to you within the Redstone dashboard&#x20;

Public keys are meant to be used from any front-end integration of our widget. By design, public keys cannot modify any part of you, or your customer account details besides initiating transactions and making payments. The private keys however, are to be kept secret. If for any reason you believe your private key has been compromised or you wish to reset them, you can do so from the dashboard.

### Usage

Authenticate your API calls by including your private key in the header of each request you make.&#x20;

```
 --header 'accept: application/json' \
 --header 'secret-key: redSec_test_795128106ab241cdbb2d10eda4dea988795128106ab2fkASnT'
 --header 'public-key: redPub_test_b4250fb765454c0bb7da38909ba1af2fb4250fb765453hII4k' 
```

> Upon request, we will provide you **test keys** to perform test transactions. However, after testing, we must switch to using the **Live keys** in production when you finally deploying your implementations.
>
> API requests made without authentication will fail with the status code `401: Unauthorized`


---

# 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://developer.redstonepgs.com/api-documentation/publish-your-docs.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.
