API Keys
Manage API keys for accessing the Uniwire API. Note that create, edit, and delete operations for API keys, as well as access to api_secret and callback_token fields, are only available using special "Integrator API" keys upon request.
List API Keys
Retrieve all API keys associated with your account. Fields api_secret and callback_token are only fully accessible when using special "Integrator API" keys. Using regular API keys will display these fields as ******** for security.
HTTP Request
GET /v1/api-keys/
response = uniwire_api_request('/v1/api-keys/')uniwire_api_request('/v1/api-keys/').then(function(response) {
console.log(response);
}).catch(function(error) {
console.log(error);
});The above command returns JSON structured like this:
{
"result": [
{
"id": "<ID>",
"api_key": "<API_KEY>",
"api_secret": "<SECRET>",
"name": "KEY 1700572804",
"created_by": "user@example.com",
"updated_at": "2023-11-21T13:46:50.843596+00:00",
"is_integrator_key": true,
"account_id": "<ACCOUNT_ID>",
"max_payout": "55.00",
"whitelist_ip": [
"127.0.0.1",
"123.123.123.123"
],
"permissions": [
"invoices:write",
"transactions:write",
"payouts:write",
"auto-payouts:write",
"profiles:write",
"wallets:write",
"exchange-rates:write",
"auto-conversions:write",
"auto-funding:write",
"conversions:write",
"account:write",
"api-keys:write"
]
}
]
}Get API Key
This endpoint retrieves a specific api-key.
Field api_secret are only fully accessible when using special "Integrator API" keys, which are available upon request.
Using any API key other than the special 'Integrator API' key results in the values of the api_secret fields being displayed as ********.
This measure is implemented to maintain security and confidentiality, ensuring sensitive information is only fully accessible through the designated Integrator API key.
HTTP Request
GET /v1/api-keys/<ID>/
URL Parameters
| Parameter | Description |
|---|---|
| ID | The ID of the api-key to retrieve |
response = uniwire_api_request('/v1/api-keys/<id>/')uniwire_api_request('/v1/api-keys/<id>/').then(function(response) {
console.log(response);
}).catch(function(error) {
console.log(error);
});The above command returns JSON structured like this:
{
"result": {
"id": "<ID>",
"api_key": "<API_KEY>",
"api_secret": "<SECRET>",
"name": "Production Api Key",
"created_by": "user@example.com",
"updated_at": "2023-11-21T13:46:50.843596+00:00",
"is_integrator_key": true,
"account_id": "<ACCOUNT_ID>",
"max_payout": "55.00",
"whitelist_ip": [
"127.0.0.1",
"123.123.123.123"
],
"permissions": [
"invoices:write",
"transactions:write",
"payouts:write",
"auto-payouts:write",
"profiles:write",
"wallets:write",
"exchange-rates:write",
"auto-conversions:write",
"auto-funding:write",
"conversions:write",
"account:write",
"api-keys:write"
]
}
}Create API Key
This endpoint allows creating api-key. This is only accessible using special "Integrator API" keys and are available upon request.
HTTP Request
POST /v1/api-keys/
Payload Parameters
| Parameter | Description | Required |
|---|---|---|
| name | Text field maximum length 64 | Yes |
| account_id | Sub Account ID | Yes |
| max_payout | Decimal number | No |
| whitelist_ip | Array of strings | No |
| permissions | Array of strings Available Values | Yes |
import json
payload = {
'name': 'Production Api Key',
'max_payout': "55",
"account_id": "8dd75ab0-9f11-4c7f-9bd2-77eb2fb84963",
'whitelist_ip': [
"127.0.0.1",
"123.123.123.123"
],
"permissions": [
"invoices:read",
"transactions:read",
"payouts:read",
"auto-payouts:read",
"profiles:read",
"wallets:read",
"exchange-rates:read",
"auto-conversions:read",
"auto-funding:read",
"conversions:read",
"account:read",
"api-keys:read"
]
}
response = uniwire_api_request('/v1/api-keys/', payload, 'POST')
print(json.dumps(response, indent=2))let payload = {
'name': 'Production Api Key',
'max_payout': "55",
"account_id": "8dd75ab0-9f11-4c7f-9bd2-77eb2fb84963",
'whitelist_ip': [
"127.0.0.1",
"123.123.123.123"
],
"permissions": [
"invoices:read",
"transactions:read",
"payouts:read",
"auto-payouts:read",
"profiles:read",
"wallets:read",
"exchange-rates:read",
"auto-conversions:read",
"auto-funding:read",
"conversions:read",
"account:read",
"api-keys:read"
]
}
uniwire_api_request('/v1/api-keys/', payload, 'POST').then(function(response) {
console.log(response)
}).catch(function(error) {
console.log(error)
})JSON response for Create api-key endpoint:
{
"result": {
"id": "<ID>",
"api_key": "<API_KEY>",
"api_secret": "<SECRET>",
"name": "Production Api Key",
"created_by": "user@example.com",
"updated_at": "2023-11-21T13:46:50.843596+00:00",
"is_integrator_key": true,
"account_id": "<ACCOUNT_ID>",
"max_payout": "55.00",
"whitelist_ip": [
"127.0.0.1",
"123.123.123.123"
],
"permissions": [
"invoices:write",
"transactions:write",
"payouts:write",
"auto-payouts:write",
"profiles:write",
"wallets:write",
"exchange-rates:write",
"auto-conversions:write",
"auto-funding:write",
"conversions:write",
"account:write",
"api-keys:write"
]
}
}Update API Key
This endpoint allows updating api-key. This is only accessible using special "Integrator API" keys and are available upon request.
Editable fields: name,max_payout,whitelist_ip,permissions.
HTTP Request
PUT https://api.uniwire.com/v1/api-keys/<ID>/
URL Parameters
| Parameter | Description |
|---|---|
| ID | The ID of the api-key to retrieve |
Payload Parameters
| Parameter | Description |
|---|---|
| name | Text field maximum length 64 |
| account_id | Sub Account ID |
| max_payout | Decimal number |
| whitelist_ip | Array of strings |
| permissions | Array of strings Available Values |
import json
payload = {
'name': 'Production Api Key',
'max_payout': "55",
"account_id": "8dd75ab0-9f11-4c7f-9bd2-77eb2fb84963",
'whitelist_ip': [
"127.0.0.1",
"123.123.123.123"
],
"permissions": [
"invoices:read",
"transactions:read",
"payouts:read",
"auto-payouts:read",
"profiles:read",
"wallets:read",
"exchange-rates:read",
"auto-conversions:read",
"auto-funding:read",
"conversions:read",
"account:read",
"api-keys:read"
]
}
response = uniwire_api_request('/v1/api-keys/<id>', payload, 'PUT')
print(json.dumps(response, indent=2))let payload = {
'name': 'Production Api Key',
'max_payout': "55",
"account_id": "8dd75ab0-9f11-4c7f-9bd2-77eb2fb84963",
'whitelist_ip': [
"127.0.0.1",
"123.123.123.123"
],
"permissions": [
"invoices:read",
"transactions:read",
"payouts:read",
"auto-payouts:read",
"profiles:read",
"wallets:read",
"exchange-rates:read",
"auto-conversions:read",
"auto-funding:read",
"conversions:read",
"account:read",
"api-keys:read"
]
}
uniwire_api_request('/v1/api-keys/<id>', payload, 'PUT').then(function(response) {
console.log(response)
}).catch(function(error) {
console.log(error)
})JSON response for Create api-key endpoint:
{
"result": {
"id": "<ID>",
"api_key": "<API_KEY>",
"api_secret": "<SECRET>",
"name": "Production Api Key",
"created_by": "user@example.com",
"updated_at": "2023-11-21T13:46:50.843596+00:00",
"is_integrator_key": true,
"account_id": "<ACCOUNT_ID>",
"max_payout": "55.00",
"whitelist_ip": [
"127.0.0.1",
"123.123.123.123"
],
"permissions": [
"invoices:write",
"transactions:write",
"payouts:write",
"auto-payouts:write",
"profiles:write",
"wallets:write",
"exchange-rates:write",
"auto-conversions:write",
"auto-funding:write",
"conversions:write",
"account:write",
"api-keys:write"
]
}
}Delete API Key
This endpoint allows deleting api-key. This is only accessible using special "Integrator API" keys and are available upon request.
HTTP Request
DELETE https://api.uniwire.com/v1/api-keys/<ID>/
URL Parameters
| Parameter | Description |
|---|---|
| ID | The ID of the api-key to delete |
import json
payload = None
response = uniwire_api_request('/v1/api-keys/<id>', payload, 'DELETE')
print(json.dumps(response, indent=2))var payload = null
uniwire_api_request('/v1/api-keys/<id>', payload, 'DELETE').then(function(response) {
//
}).catch(function(error) {
console.log(error);
});API Key Permissions
Following are the supported list of API Key permissions:
| Permission | Description |
|---|---|
invoices:read | Read access to invoices |
invoices:write | Write access to invoices |
transactions:read | Read access to transactions |
transactions:write | Write access to transactions |
payouts:read | Read access to payouts |
payouts:write | Write access to payouts |
payouts:approve | Approve payouts |
auto-payouts:read | Read access to auto-payouts |
auto-payouts:write | Write access to auto-payouts |
profiles:read | Read access to profiles |
profiles:write | Write access to profiles |
wallets:read | Read access to wallets |
wallets:write | Write access to wallets |
exchange-rates:read | Read access to exchange rates |
exchange-rates:write | Write access to exchange rates |
auto-conversions:read | Read access to auto-conversions |
auto-conversions:write | Write access to auto-conversions |
auto-funding:read | Read access to auto-funding |
auto-funding:write | Write access to auto-funding |
conversions:read | Read access to conversions |
conversions:write | Write access to conversions |
account:read | Read access to account |
account:write | Write access to account |
api-keys:read | Read access to API keys |