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

NameRequiredDescription
x-api-keyYesYour Guardiar API key
x-config-idYesConfiguration ID defining allowed APIs
x-target-urlYesTarget API URL to proxy to
x-json-fieldsNoComma-separated fields to extract (e.g., 'id,name,email')
x-json-selectorsNoSmart dot notation selectors (e.g., 'users[:5].name')
x-json-limitNoLimit 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/configs

Create a new API configuration defining allowed endpoints, methods, and rate limits.

Headers

NameRequiredDescription
x-api-keyYesYour Guardiar API key
X-User-IdYesYour 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/configs

List all configurations for the authenticated user.

Headers

NameRequiredDescription
x-api-keyYesYour Guardiar API key
X-User-IdYesYour 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

NameRequiredDescription
x-api-keyYesYour Guardiar API key
X-User-IdYesYour 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}/stats

Get usage statistics for a configuration including request counts and rate limit status.

Headers

NameRequiredDescription
x-api-keyYesYour Guardiar API key
X-User-IdYesYour 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/health

Check 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

SelectorDescription
user.nameNested property access
items[:5]First 5 items
items[-3:]Last 3 items
items[2:5]Items 2-4 (exclusive end)
users[*].idAll user IDs
users[:2].nameNames 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"