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:

    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 ID
    • status (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 ID
    • status (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 ID
    • status (optional): Filter by status
    • severity (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 ID
    • status (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 ID
    • senderId (optional): Filter by sender ID
    • receiverId (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}"
    Read-Only Endpoints Reference | AIRTA Systems Support