{"openapi":"3.1.0","info":{"title":"Remove EXIF Online public guidance API","version":"1.0.0","description":"Selected originals are uploaded to private storage before browser processing. The synthetic sample stays local. Agent APIs return public guidance only and cannot access files, metadata values, or the upload library."},"servers":[{"url":"https://removeexifonline.com"}],"paths":{"/agent/catalog":{"get":{"operationId":"getCatalog","responses":{"200":{"description":"Public workflows and limits","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/agent/health":{"get":{"operationId":"getHealth","responses":{"200":{"description":"Guidance interface availability","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/agent/guidance":{"get":{"operationId":"getGuidance","security":[{"agentOAuth":["guidance:read"]}],"parameters":[{"name":"workflow","in":"query","schema":{"type":"string","enum":["remove-photo-metadata","remove-video-metadata","browse-exif-fields"]}}],"responses":{"200":{"description":"Public workflow guidance","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Unknown workflow","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Invalid or expired bearer token","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/agent/register":{"post":{"operationId":"registerAnonymousClient","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","additionalProperties":false}}}},"responses":{"201":{"description":"Temporary client credentials","content":{"application/json":{"schema":{"type":"object"}}}},"429":{"description":"Registration limit reached","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/agent/token":{"post":{"operationId":"issueToken","requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"grant_type":{"type":"string"},"client_id":{"type":"string"},"client_secret":{"type":"string"}},"required":["grant_type","client_id","client_secret"]}}}},"responses":{"200":{"description":"One-hour bearer token","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Invalid grant or scope","content":{"application/json":{"schema":{"type":"object"}}}},"401":{"description":"Invalid client","content":{"application/json":{"schema":{"type":"object"}}}}}}},"/agent/revoke":{"post":{"operationId":"revokeToken","requestBody":{"required":true,"content":{"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"client_id":{"type":"string"},"client_secret":{"type":"string"},"token":{"type":"string"}},"required":["client_id","client_secret","token"]}}}},"responses":{"200":{"description":"Token revoked or already invalid"},"401":{"description":"Invalid client","content":{"application/json":{"schema":{"type":"object"}}}}}}}},"components":{"securitySchemes":{"agentOAuth":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://removeexifonline.com/agent/token","scopes":{"guidance:read":"Read public workflow guidance only"}}}}}}}