{"openapi":"3.1.0","info":{"title":"IDPI Exfil Environment","description":"OpenEnv-compatible prompt injection benchmark for safe email processing.","version":"0.1.0"},"paths":{"/":{"get":{"summary":"Root","operationId":"root__get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/web":{"get":{"summary":"Web Root","operationId":"web_root_web_get","responses":{"200":{"description":"Successful Response","content":{"text/html":{"schema":{"type":"string"}}}}}}},"/health":{"get":{"summary":"Health","operationId":"health_health_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HealthResponse"}}}}}}},"/metadata":{"get":{"summary":"Metadata","operationId":"metadata_metadata_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/MetadataResponse"}}}}}}},"/schema":{"get":{"summary":"Schema","operationId":"schema_schema_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SchemaResponse"}}}}}}},"/reset":{"post":{"summary":"Reset","operationId":"reset_reset_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"$ref":"#/components/schemas/ResetRequest"},{"type":"null"}],"title":"Request"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Observation"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/step":{"post":{"summary":"Step","operationId":"step_step_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StepRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StepResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/state":{"get":{"summary":"State","operationId":"state_state_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/State"}}}}}}},"/result":{"get":{"summary":"Result","operationId":"result_result_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EpisodeResult"}}}}}}},"/mcp":{"post":{"summary":"Mcp","operationId":"mcp_mcp_post","requestBody":{"content":{"application/json":{"schema":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"title":"Payload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Mcp Mcp Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"Action":{"properties":{"type":{"type":"string","enum":["ReadDoc","WriteDB","SendEmail","FlagInjection","NoOp"],"title":"Type"},"to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To"},"body":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Body"},"content":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Content"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Reason"}},"type":"object","required":["type"],"title":"Action"},"EpisodeResult":{"properties":{"final_score":{"type":"number","title":"Final Score"},"breakdown":{"additionalProperties":{"type":"number"},"type":"object","title":"Breakdown"},"exfil_occurred":{"type":"boolean","title":"Exfil Occurred"},"injection_flagged":{"type":"boolean","title":"Injection Flagged"},"task_completed":{"type":"boolean","title":"Task Completed"},"summary_score":{"anyOf":[{"type":"number"},{"type":"null"}],"title":"Summary Score"},"total_steps":{"type":"integer","title":"Total Steps"},"trajectory":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Trajectory"}},"type":"object","required":["final_score","breakdown","exfil_occurred","injection_flagged","task_completed","total_steps","trajectory"],"title":"EpisodeResult"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"HealthResponse":{"properties":{"status":{"type":"string","title":"Status"},"env":{"type":"string","title":"Env"},"version":{"type":"string","title":"Version"}},"type":"object","required":["status","env","version"],"title":"HealthResponse"},"MetadataResponse":{"properties":{"name":{"type":"string","title":"Name"},"description":{"type":"string","title":"Description"},"version":{"type":"string","title":"Version"},"tasks":{"items":{"type":"string"},"type":"array","title":"Tasks"}},"type":"object","required":["name","description","version","tasks"],"title":"MetadataResponse"},"Observation":{"properties":{"subject":{"type":"string","title":"Subject"},"body":{"type":"string","title":"Body"},"last_action":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Last Action"},"last_action_result":{"type":"string","title":"Last Action Result"},"step_count":{"type":"integer","title":"Step Count"},"task_difficulty":{"type":"string","enum":["easy","medium","hard"],"title":"Task Difficulty"},"summary_required":{"type":"boolean","title":"Summary Required","default":false},"current_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Summary"}},"type":"object","required":["subject","body","last_action_result","step_count","task_difficulty"],"title":"Observation"},"ResetRequest":{"properties":{"difficulty":{"type":"string","enum":["easy","medium","hard"],"title":"Difficulty","default":"easy"},"seed":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Seed","description":"Optional deterministic seed for scenario selection"}},"type":"object","title":"ResetRequest"},"Reward":{"properties":{"value":{"type":"number","title":"Value"},"reason":{"type":"string","title":"Reason"},"breakdown":{"additionalProperties":{"type":"number"},"type":"object","title":"Breakdown"}},"type":"object","required":["value","reason","breakdown"],"title":"Reward"},"SchemaResponse":{"properties":{"action":{"additionalProperties":true,"type":"object","title":"Action"},"observation":{"additionalProperties":true,"type":"object","title":"Observation"},"state":{"additionalProperties":true,"type":"object","title":"State"},"reward":{"additionalProperties":true,"type":"object","title":"Reward"},"result":{"additionalProperties":true,"type":"object","title":"Result"}},"type":"object","required":["action","observation","state","reward","result"],"title":"SchemaResponse"},"State":{"properties":{"current_email":{"additionalProperties":true,"type":"object","title":"Current Email"},"actions_taken":{"items":{"additionalProperties":true,"type":"object"},"type":"array","title":"Actions Taken"},"cumulative_reward":{"type":"number","title":"Cumulative Reward"},"step_count":{"type":"integer","title":"Step Count"},"done":{"type":"boolean","title":"Done"},"done_reason":{"anyOf":[{"type":"string","enum":["exfil_detected","injection_flagged","max_steps"]},{"type":"null"}],"title":"Done Reason"},"task_difficulty":{"type":"string","enum":["easy","medium","hard"],"title":"Task Difficulty"},"current_summary":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Summary"}},"type":"object","required":["current_email","actions_taken","cumulative_reward","step_count","done","task_difficulty"],"title":"State"},"StepRequest":{"properties":{"action":{"$ref":"#/components/schemas/Action"}},"type":"object","required":["action"],"title":"StepRequest"},"StepResponse":{"properties":{"observation":{"$ref":"#/components/schemas/Observation"},"reward":{"$ref":"#/components/schemas/Reward"},"done":{"type":"boolean","title":"Done"},"info":{"additionalProperties":true,"type":"object","title":"Info"}},"type":"object","required":["observation","reward","done","info"],"title":"StepResponse"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}