Skip to main content

Endpoints Reference

Overview

The Cidadão.AI API provides 50+ endpoints organized into functional modules. Each endpoint is documented with request/response schemas, authentication requirements, and practical examples.

Endpoint Categories

Core Functionality

ModuleDescriptionEndpoints
InvestigationsAnomaly detection in government data6 endpoints
AnalysisPattern analysis and correlations7 endpoints
ReportsAutomated report generation7 endpoints
Multi-AgentAgent orchestration system4 endpoints

Authentication & Security

ModuleDescriptionEndpoints
AuthenticationUser authentication and JWT9 endpoints
OAuthThird-party authentication9 endpoints
AuditSecurity audit logs10 endpoints

System & Monitoring

ModuleDescriptionEndpoints
HealthSystem health monitoring4 endpoints
WebSocketReal-time communications3 endpoints

Common Patterns

Request Format

All endpoints accept JSON payloads with the following structure:

{
"data": {
"type": "investigation",
"attributes": {
"query": "Suspicious contracts in 2024",
"filters": {
"year": 2024,
"min_value": 1000000
}
}
}
}

Response Format

Successful responses follow JSON:API specification:

{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"type": "investigation",
"attributes": {
"status": "completed",
"anomalies_found": 12
},
"relationships": {
"report": {
"data": { "type": "report", "id": "123" }
}
}
},
"meta": {
"request_id": "req_123",
"duration_ms": 245
}
}

Pagination

List endpoints support pagination:

GET /api/v1/investigations?page[number]=2&page[size]=20

Filtering

Complex filtering via query parameters:

GET /api/v1/investigations?filter[status]=completed&filter[anomalies_found][gte]=5

Sorting

Multi-field sorting:

GET /api/v1/investigations?sort=-anomalies_found,created_at

Field Selection

Sparse fieldsets for optimization:

GET /api/v1/investigations?fields[investigation]=id,status,anomalies_found

Authentication Requirements

SymbolRequirementDescription
🔓PublicNo authentication required
🔐AuthenticatedValid JWT token required
👤UserStandard user permissions
👨‍💼AnalystAnalyst role required
🛡️AdminAdministrator role required

Rate Limiting

All endpoints are subject to rate limiting:

TierLimitWindowBurst
Anonymous1001 hour10
Authenticated1,0001 hour100
Premium10,0001 hour1,000

Error Responses

Consistent error format across all endpoints:

{
"error": {
"code": "RESOURCE_NOT_FOUND",
"message": "Investigation not found",
"details": {
"id": "550e8400-e29b-41d4-a716-446655440000"
},
"request_id": "req_123",
"timestamp": "2025-01-30T10:15:30Z"
}
}

SDK Examples

Python

from cidadao_ai import Client

client = Client(api_key="your-key")

# Create investigation
investigation = client.investigations.create(
query="Contratos suspeitos",
data_source="portal_transparencia"
)

# Check status
status = client.investigations.get_status(investigation.id)

JavaScript/TypeScript

import { CidadaoAI } from '@cidadao-ai/sdk';

const client = new CidadaoAI({ apiKey: 'your-key' });

// Create investigation
const investigation = await client.investigations.create({
query: 'Contratos suspeitos',
dataSource: 'portal_transparencia'
});

// Stream results
const stream = client.investigations.stream(investigation.id);
stream.on('data', (chunk) => console.log(chunk));

Webhook Integration

Configure webhooks for async events:

{
"url": "https://your-app.com/webhooks/cidadao-ai",
"events": [
"investigation.completed",
"anomaly.detected",
"report.generated"
],
"secret": "whsec_..."
}

Navigate to specific endpoint documentation for detailed specifications and examples.