Developer API Reference
Secure proxy and configuration management for AI agents.
Authentication
All API requests require your API key in the x-api-key header.
bash
curl -H "x-api-key: YOUR_API_KEY" https://api.guardiar.io/api/v1/...Proxy Request
GET | POST | PUT | DELETE | PATCH
/api/v1/origin-api/{path}Proxy requests to external APIs with validation, rate limiting, and JSON filtering.
Headers
| Name | Required | Description |
|---|---|---|
| x-api-key | Yes | Your Guardiar API key |
| x-config-id | Yes | Configuration ID defining allowed APIs |
| x-target-url | Yes | Target API URL to proxy to |
| x-json-fields | No | Comma-separated fields to extract (e.g., 'id,name,email') |
| x-json-selectors | No | Smart dot notation selectors (e.g., 'users[:5].name') |
| x-json-limit | No | Limit array results (max 1000) |
Examples
# Basic proxy request
curl -X GET "https://api.guardiar.io/api/v1/origin-api/" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-config-id: YOUR_CONFIG_ID" \
-H "x-target-url: https://jsonplaceholder.typicode.com/users"
# With JSON filtering - get only id and name fields
curl -X GET "https://api.guardiar.io/api/v1/origin-api/" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-config-id: YOUR_CONFIG_ID" \
-H "x-target-url: https://jsonplaceholder.typicode.com/users" \
-H "x-json-fields: id,name,email"
# With smart selectors - first 5 users, only names
curl -X GET "https://api.guardiar.io/api/v1/origin-api/" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-config-id: YOUR_CONFIG_ID" \
-H "x-target-url: https://jsonplaceholder.typicode.com/users" \
-H "x-json-selectors: [:5].name"Create Configuration
POST
/api/v1/agent-config/configsCreate a new API configuration defining allowed endpoints, methods, and rate limits.
Headers
| Name | Required | Description |
|---|---|---|
| x-api-key | Yes | Your Guardiar API key |
| X-User-Id | Yes | Your user ID |
Examples
curl -X POST "https://api.guardiar.io/api/v1/agent-config/configs" \
-H "x-api-key: YOUR_API_KEY" \
-H "X-User-Id: YOUR_USER_ID" \
-H "Content-Type: application/json" \
-d '{
"name": "OpenAI Config",
"description": "Config for GPT-4 access",
"allowedApis": [
{
"name": "OpenAI Chat",
"url": "https://api.openai.com/v1/chat/completions",
"apiKey": "sk-...",
"allowedMethods": ["POST"],
"requestLimit": 1000,
"allowedHeaders": ["Content-Type", "Authorization"]
}
]
}'List Configurations
GET
/api/v1/agent-config/configsList all configurations for the authenticated user.
Headers
| Name | Required | Description |
|---|---|---|
| x-api-key | Yes | Your Guardiar API key |
| X-User-Id | Yes | Your user ID |
Examples
curl -X GET "https://api.guardiar.io/api/v1/agent-config/configs" \
-H "x-api-key: YOUR_API_KEY" \
-H "X-User-Id: YOUR_USER_ID"Get / Update / Delete Configuration
GET | PUT | DELETE
/api/v1/agent-config/configs/{configId}Retrieve, update, or delete a specific configuration by ID.
Headers
| Name | Required | Description |
|---|---|---|
| x-api-key | Yes | Your Guardiar API key |
| X-User-Id | Yes | Your user ID |
Examples
# Get a configuration
curl -X GET "https://api.guardiar.io/api/v1/agent-config/configs/CONFIG_ID" \
-H "x-api-key: YOUR_API_KEY" \
-H "X-User-Id: YOUR_USER_ID"
# Update a configuration
curl -X PUT "https://api.guardiar.io/api/v1/agent-config/configs/CONFIG_ID" \
-H "x-api-key: YOUR_API_KEY" \
-H "X-User-Id: YOUR_USER_ID" \
-H "Content-Type: application/json" \
-d '{
"name": "Updated Config Name",
"allowedApis": [...]
}'
# Delete a configuration
curl -X DELETE "https://api.guardiar.io/api/v1/agent-config/configs/CONFIG_ID" \
-H "x-api-key: YOUR_API_KEY" \
-H "X-User-Id: YOUR_USER_ID"Configuration Statistics
GET
/api/v1/agent-config/configs/{configId}/statsGet usage statistics for a configuration including request counts and rate limit status.
Headers
| Name | Required | Description |
|---|---|---|
| x-api-key | Yes | Your Guardiar API key |
| X-User-Id | Yes | Your user ID |
Examples
curl -X GET "https://api.guardiar.io/api/v1/agent-config/configs/CONFIG_ID/stats" \
-H "x-api-key: YOUR_API_KEY" \
-H "X-User-Id: YOUR_USER_ID"Health Check
GET
/api/v1/origin-api/healthCheck API service health status. No authentication required.
Examples
curl "https://api.guardiar.io/api/v1/origin-api/health"
# Response:
# {"status":"ok","service":"origin-api","version":"1.0.0"}JSON Selector Syntax
Use the x-json-selectors header to filter JSON responses and reduce token usage.
Syntax Examples
| Selector | Description |
|---|---|
| user.name | Nested property access |
| items[:5] | First 5 items |
| items[-3:] | Last 3 items |
| items[2:5] | Items 2-4 (exclusive end) |
| users[*].id | All user IDs |
| users[:2].name | Names of first 2 users |
Example
bash
# Get first 3 users, only id and name
curl "https://api.guardiar.io/api/v1/origin-api/" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-config-id: CONFIG_ID" \
-H "x-target-url: https://api.example.com/users" \
-H "x-json-selectors: [:3].id,[:3].name"