Request Format
This guide explains how to structure and format requests to the Audian API.
Request Structure​
Every API request consists of:
[METHOD] [BASE_URL]/v2/accounts/{ACCOUNT_ID}/[ENDPOINT]
Headers:
X-Auth-Token: [TOKEN]
Content-Type: application/json
Body (if applicable):
JSON payload
Base URL​
All API requests use the base URL:
https://api.audian.com:8443/v2
HTTP Methods​
The Audian API uses standard HTTP methods:
GET - Retrieve Data​
curl -X GET "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/users" \
-H "X-Auth-Token: YOUR_API_KEY"
Use for:
- Fetching resources
- Listing resources
- Checking status
PUT - Create Resource​
curl -X PUT "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/users" \
-H "X-Auth-Token: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": {
"username": "jsmith",
"first_name": "John",
"last_name": "Smith",
"email": "jsmith@example.com"
}
}'
Use for:
- Creating new resources
POST - Update Resource​
curl -X POST "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/users/{USER_ID}" \
-H "X-Auth-Token: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": {
"first_name": "Jonathan"
}
}'
Use for:
- Updating existing resources
- Partial updates
DELETE - Remove Resource​
curl -X DELETE "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/users/{USER_ID}" \
-H "X-Auth-Token: YOUR_API_KEY"
Use for:
- Deleting resources
Headers​
Required Headers​
| Header | Value | Description |
|---|---|---|
X-Auth-Token | Your API token | Authentication |
Content-Type | application/json | Required for PUT/POST |
Accept | application/json | Response format |
Example with All Headers​
curl -X GET "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/users" \
-H "X-Auth-Token: YOUR_API_KEY" \
-H "Accept: application/json" \
-H "Content-Type: application/json"
Request Body​
JSON Format​
All request bodies must be valid JSON wrapped in a data object:
{
"data": {
"username": "jsmith",
"first_name": "John",
"last_name": "Smith"
}
}
Creating a User​
curl -X PUT "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/users" \
-H "X-Auth-Token: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": {
"username": "jsmith",
"first_name": "John",
"last_name": "Smith",
"email": "jsmith@example.com",
"priv_level": "user"
}
}'
Creating a Device​
curl -X PUT "https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/devices" \
-H "X-Auth-Token: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"data": {
"name": "John Desk Phone",
"device_type": "sip_device",
"sip": {
"username": "device001",
"password": "securepassword"
}
}
}'
URL Parameters​
Path Parameters​
Include resource IDs in the URL path:
# Get specific user
GET /accounts/{ACCOUNT_ID}/users/{USER_ID}
# Get specific device
GET /accounts/{ACCOUNT_ID}/devices/{DEVICE_ID}
Query Parameters​
Add filters and options as query strings:
# With filtering
GET /accounts/{ACCOUNT_ID}/users?filter_status=enabled
# With pagination
GET /accounts/{ACCOUNT_ID}/users?page_size=25
# Combined
GET /accounts/{ACCOUNT_ID}/users?filter_status=enabled&page_size=25
Code Examples​
Python​
import requests
import json
API_KEY = 'your_api_key'
ACCOUNT_ID = 'your_account_id'
# GET request
response = requests.get(
f'https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/users',
headers={'X-Auth-Token': API_KEY}
)
# PUT request (create)
response = requests.put(
f'https://api.audian.com:8443/v2/accounts/{ACCOUNT_ID}/users',
headers={
'X-Auth-Token': API_KEY,
'Content-Type': 'application/json'
},
json={
'data': {
'username': 'jsmith',
'first_name': 'John',
'last_name': 'Smith'
}
}
)
Node.js​
const API_KEY = 'your_api_key';
const ACCOUNT_ID = 'your_account_id';
// GET request
const response = await fetch(
`https://api.audian.com:8443/v2/accounts/${ACCOUNT_ID}/users`,
{
headers: { 'X-Auth-Token': API_KEY }
}
);
// PUT request (create)
const createResponse = await fetch(
`https://api.audian.com:8443/v2/accounts/${ACCOUNT_ID}/users`,
{
method: 'PUT',
headers: {
'X-Auth-Token': API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
data: {
username: 'jsmith',
first_name: 'John',
last_name: 'Smith'
}
})
}
);
Best Practices​
Do's ✓​
- Always include the
X-Auth-Tokenheader - Use
Content-Type: application/jsonfor PUT/POST - Wrap request body in a
dataobject - URL-encode query parameters
Don'ts ✗​
- Don't send request body for GET/DELETE
- Don't use form-encoded data
- Don't include sensitive data in URLs
Next Steps​
- Response Format - Understanding responses
- Authentication - Getting your API token
- Pagination - Handling large result sets