{"openapi":"3.1.0","info":{"title":"Asyrx Action Assessment API","version":"1.0.0","summary":"Know the risk before an AI agent acts.","description":"Asyrx evaluates the contextual risk and potential blast radius of a proposed AI-agent action before execution.\n\nAsyrx provides risk intelligence and decision-support recommendations for proposed AI-agent actions. Customers remain responsible for authorization, execution and final operational decisions.","contact":{"name":"Asyrx Enterprise","url":"https://asyrx.com/company"}},"servers":[{"url":"https://asyrx.com","description":"Production"}],"security":[{"bearerAuth":[]}],"tags":[{"name":"Actions","description":"Assess and retrieve proposed agent actions."},{"name":"Assessments","description":"Retrieve immutable assessment evidence."},{"name":"Status","description":"Service availability."}],"paths":{"/api/v1/actions/assess":{"post":{"tags":["Actions"],"operationId":"assessAction","summary":"Assess a proposed agent action","description":"Returns an Action Risk Score, Blast Radius Score, risk factors, reason codes, behavioral context, policy context and recommended controls. Asyrx never authorizes, approves, denies, blocks or executes the action.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string","maxLength":200},"description":"Retry-safe key. The same key and payload returns the original assessment."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssessRequest"}}}},"responses":{"200":{"description":"Assessment produced (complete or incomplete).","headers":{"asyrx-request-id":{"schema":{"type":"string"}},"asyrx-ratelimit-remaining":{"schema":{"type":"integer"}}},"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssessResponse"}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"409":{"$ref":"#/components/responses/Error"},"413":{"$ref":"#/components/responses/Error"},"422":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/api/v1/assessments/{assessment_id}":{"get":{"tags":["Assessments"],"operationId":"getAssessment","summary":"Retrieve an assessment","parameters":[{"name":"assessment_id","in":"path","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Assessment evidence."},"404":{"$ref":"#/components/responses/Error"}}}},"/api/v1/actions":{"get":{"tags":["Actions"],"operationId":"listActions","summary":"List assessed actions","parameters":[{"name":"limit","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":25}},{"name":"cursor","in":"query","schema":{"type":"string","format":"date-time"}},{"name":"q","in":"query","schema":{"type":"string","maxLength":120}}],"responses":{"200":{"description":"Cursor-paginated action history."}}}},"/api/public/v1/status":{"get":{"tags":["Status"],"operationId":"getStatus","summary":"Service status","security":[],"responses":{"200":{"description":"Component status."}}}}},"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Asyrx API key: asyrx_live_… or asyrx_test_…"}},"responses":{"Error":{"description":"Structured, informational error. Never an authorization signal.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"schemas":{"AssessRequest":{"type":"object","required":["action_type","environment"],"additionalProperties":false,"properties":{"agent_id":{"type":"string","maxLength":120,"description":"Customer identifier for the acting agent."},"target_system":{"type":"string","maxLength":80,"examples":["salesforce","shopify","github"]},"action_type":{"type":"string","maxLength":160,"examples":["crm.contacts.bulk_export"]},"environment":{"type":"string","enum":["production","staging","sandbox","development"]},"financial_value":{"type":"number","minimum":0},"currency":{"type":"string","pattern":"^[A-Za-z]{3}$"},"entities_affected":{"type":"integer","minimum":0},"records_affected":{"type":"integer","minimum":0},"destination":{"type":"string","maxLength":240},"data_classification":{"type":"string","enum":["public","internal","confidential","restricted","regulated","unknown"]},"reversibility":{"type":"string","enum":["fully_reversible","mostly_reversible","partially_reversible","difficult_to_reverse","irreversible","unknown"]},"privilege_change":{"type":"boolean"},"production_impact":{"type":"boolean"},"action_description":{"type":"string","maxLength":2000},"target_resource":{"type":"string","maxLength":240},"metadata":{"type":"object","additionalProperties":true}}},"AssessResponse":{"type":"object","properties":{"api_version":{"type":"string","examples":["v1"]},"assessment_id":{"type":"string","format":"uuid"},"action_id":{"type":"string","format":"uuid"},"request_id":{"type":"string","examples":["req_01h..."]},"assessment_status":{"type":"string","enum":["complete","incomplete"]},"action_risk":{"type":"object","properties":{"score":{"type":"integer","minimum":0,"maximum":100},"level":{"type":"string","enum":["low","moderate","high","critical"]},"confidence":{"type":"number"}}},"blast_radius":{"type":"object","properties":{"score":{"type":"integer","minimum":0,"maximum":100},"level":{"type":"string"},"dimensions":{"type":"object","properties":{"financial_impact":{"type":"integer"},"entity_impact":{"type":"integer"},"data_impact":{"type":"integer"},"operational_impact":{"type":"integer"},"privilege_impact":{"type":"integer"},"reversibility":{"type":"integer"}}}}},"risk_factors":{"type":"array","items":{"type":"object"}},"recommended_control":{"type":"object"},"recommendations":{"type":"array","items":{"type":"string"}},"behavioral_context":{"type":"object"},"policy_context":{"type":"array","items":{"type":"object"}},"timing":{"type":"object"},"disclaimer":{"type":"string"}}},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["MISSING_API_KEY","INVALID_API_KEY","INSUFFICIENT_SCOPE","SANDBOX_EXPIRED","MALFORMED_JSON","PAYLOAD_TOO_LARGE","VALIDATION_FAILED","INVALID_ENVIRONMENT","IDEMPOTENCY_KEY_REUSED","RATE_LIMITED","ASSESSMENT_INCOMPLETE","ASSESSMENT_UNAVAILABLE","NOT_FOUND","METHOD_NOT_ALLOWED"]},"message":{"type":"string"},"request_id":{"type":"string"},"retryable":{"type":"boolean"},"retry_after_seconds":{"type":"integer"},"documentation_url":{"type":"string"}}},"disclaimer":{"type":"string"}}}}}}