API Documentation
- API Keys Overview & Getting Started
- Creating & Managing API Keys
- Authentication & Scopes
- Read-Only Endpoints Reference
- Error Handling & Troubleshooting
- Best Practices & Security
- Python Integration Examples
- JavaScript Integration Examples
- Bulk Import API, AIRTA & Imported Reports
- AILP - LLM compliance SDK (@airtasystems/ailp)
Read-Only Endpoints Reference
Jan 15, 2025
Overview
All API key endpoints are read-only. They allow you to retrieve data but cannot create, update, or delete resources.
For complete integration examples, see:
- Python Integration Examples - Complete Python code samples
- JavaScript Integration Examples - Complete JavaScript/Node.js code samples
1. Programs
Get programs for your company.
Endpoint
GET /api/v2/programs/company/my-programs
Required Scope
read:programs
Query Parameters
category(optional): Filter by category
Example Request
curl -X GET "https://airtasystems.com/api/v2/programs/company/my-programs?category=ai-safety" \
-H "Authorization: Bearer gb_live_your_api_key_here"
Example Response
{
"success": true,
"data": {
"programs": [
{
"_id": "...",
"name": "My AI Safety Program",
"description": "...",
"category": "ai-safety",
"slug": "my-ai-safety-program",
"companyUserId": {
"companyName": "My Company",
"email": "contact@company.com"
},
"createdAt": "2024-01-15T10:00:00Z",
"updatedAt": "2024-01-20T15:30:00Z"
}
],
"count": 1
}
}
2. Compliance Documents
Get compliance documents (Annex VIII) for your company.
Endpoint
GET /api/v2/compliance
Required Scope
read:reports
Query Parameters
programId(optional): Filter by program IDstatus(optional): Filter by status (draft,submitted,in_audit,approved,rejected)
Example Request
curl -X GET "https://airtasystems.com/api/v2/compliance?programId=123&status=approved" \
-H "Authorization: Bearer gb_live_your_api_key_here"
Example Response
{
"success": true,
"data": {
"documents": [
{
"_id": "...",
"programId": {...},
"systemName": "My AI System",
"riskClassification": "high-risk",
"status": "approved",
"createdAt": "2024-01-15T10:00:00Z",
"updatedAt": "2024-01-20T15:30:00Z"
}
],
"count": 1
}
}
3. Submissions
Get submissions/reports for your company or as a whitehat.
Endpoint
GET /api/v2/submissions
Required Scope
read:submissions
Query Parameters
programId(optional): Filter by program IDstatus(optional): Filter by status (submitted,pending,accepted,rejected)
Example Request
curl -X GET "https://airtasystems.com/api/v2/submissions?status=accepted" \
-H "Authorization: Bearer gb_live_your_api_key_here"
Example Response
{
"success": true,
"data": {
"submissions": [
{
"_id": "...",
"title": "Security Vulnerability Found",
"description": "...",
"level": "high",
"status": "accepted",
"programId": {...},
"teamId": "...",
"teamName": "AI Safety Squad",
"teamMembers": ["user1", "user2"],
"createdAt": "2024-01-15T10:00:00Z"
}
],
"count": 1
}
}
7. Teams
Get your company's internal teams.
Endpoint
GET /api/v2/teams
Required Scope
read:teams
Example Request
curl -X GET "https://airtasystems.com/api/v2/teams" \
-H "Authorization: Bearer gb_live_your_api_key_here"
Example Response
{
"success": true,
"data": {
"teams": [
{
"_id": "...",
"name": "Internal Security Team",
"teamType": "internal",
"teamLead": {...},
"members": [{...}],
"stats": {
"totalMembers": 5,
"totalPoints": 450,
"totalSubmissions": 23,
"acceptedSubmissions": 20
},
"createdAt": "2024-01-15T10:00:00Z"
}
],
"count": 1
}
}
4. Incident Reports
Get incident reports for your company.
Endpoint
GET /api/v2/incidents/reports
Required Scope
read:reports
Query Parameters
programId(optional): Filter by program IDstatus(optional): Filter by statusseverity(optional): Filter by severity (critical,high,medium,low)
Example Request
curl -X GET "https://airtasystems.com/api/v2/incidents/reports?severity=high" \
-H "Authorization: Bearer gb_live_your_api_key_here"
5. FRIA Assessments
Get Fundamental Rights Impact Assessment (FRIA) documents.
Endpoint
GET /api/v2/fria/assessments
Required Scope
read:reports
Query Parameters
programId(optional): Filter by program IDstatus(optional): Filter by status (draft,submitted,completed,submitted_for_audit,approved,rejected)
Example Request
curl -X GET "https://airtasystems.com/api/v2/fria/assessments?status=approved" \
-H "Authorization: Bearer gb_live_your_api_key_here"
6. Messages
Get messages related to submissions or conversations.
Endpoint
GET /api/v2/messages
Required Scope
read:submissions
Query Parameters
submissionId(optional): Filter by submission IDsenderId(optional): Filter by sender IDreceiverId(optional): Filter by receiver ID
Example Request
curl -X GET "https://airtasystems.com/api/v2/messages?submissionId=123" \
-H "Authorization: Bearer gb_live_your_api_key_here"
Complete Workflow Example
# Set your API key
export API_KEY="gb_live_your_api_key_here"
export API_BASE="https://airtasystems.com"
# Get all programs
curl -X GET "${API_BASE}/api/v2/programs/company/my-programs" \
-H "Authorization: Bearer ${API_KEY}"
# Get all compliance documents
curl -X GET "${API_BASE}/api/v2/compliance" \
-H "Authorization: Bearer ${API_KEY}"
# Get submissions for a specific program
curl -X GET "${API_BASE}/api/v2/submissions?programId=123&status=accepted" \
-H "Authorization: Bearer ${API_KEY}"
# Get high-severity incidents
curl -X GET "${API_BASE}/api/v2/incidents/reports?severity=high" \
-H "Authorization: Bearer ${API_KEY}"
# Get approved FRIA assessments
curl -X GET "${API_BASE}/api/v2/fria/assessments?status=approved" \
-H "Authorization: Bearer ${API_KEY}"
# Get messages for a submission
curl -X GET "${API_BASE}/api/v2/messages?submissionId=456" \
-H "Authorization: Bearer ${API_KEY}"
# Get internal teams
curl -X GET "${API_BASE}/api/v2/teams" \
-H "Authorization: Bearer ${API_KEY}"