{"name":"AutoHX","description":"Orchestration platform. Runs automation defined as job profiles and flows, with human approval where the action requires it.","version":"0.1.0","supportedInterfaces":[{"url":"https://autohx-dev.rnd.itgroup.id/a2a","protocolBinding":"HTTP+JSON","protocolVersion":"1.0"},{"url":"https://autohx-dev.rnd.itgroup.id/a2a","protocolBinding":"JSONRPC","protocolVersion":"1.0"}],"capabilities":{"streaming":false,"pushNotifications":true},"defaultInputModes":["text/plain","application/json"],"defaultOutputModes":["text/plain","application/json"],"skills":[{"id":"list-form-skills","name":"List the automations this peer may run","description":"The forms published to A2A on this install, filtered to what the CALLER's credential may use -- two peers may see different lists. Each entry has an id for get-form-skill and submit-form-skill. Send {\"skill\": \"list-form-skills\"}.","tags":["automation","catalog","read-only"]},{"id":"get-form-skill","name":"Get the input specification for one automation","description":"The field spec for a published form: names, types, allowed values, which are required, and the version. A2A skills carry no input schema, so this is how the contract is delivered. Send {\"skill\": \"get-form-skill\", \"id\": 12}.","tags":["automation","schema","read-only"]},{"id":"run-integration-flow","name":"Run a published integration flow","description":"Execute a published node graph -- read a system, branch on what it says, and act. Runs as the CALLER, so a peer can only run flows its own credential may run (integration_flow.run). Send {\"skill\": \"run-integration-flow\", \"id\": 4, \"body\": {...}}; the body is what the graph templates from ($.body). A peer that requires approval CANNOT use this: a graph has no single approval gate to verify, so it is refused rather than assumed safe. List flows with list-integration-flows.","tags":["automation","flow","execute","write"]},{"id":"submit-form-skill","name":"Run an automation","description":"Submit values for a published form, which launches the job profile behind it. Values are validated by AutoHX, not by this agent, and the launch runs as the CALLER -- so a peer can only run what its own credential may launch, and an automation configured to need approval waits for a human. Send {\"skill\": \"submit-form-skill\", \"id\": 12, \"values\": {...}, \"version\": 3}. Include the version from get-form-skill: a mismatch is refused rather than validated against a spec you never saw.","tags":["automation","execute","write"]},{"id":"list-job-profiles","name":"List job profiles","description":"The automation this AutoHX install can run. Returns the job profiles the CALLER's credential is allowed to see -- two peers may get different lists. Send {\"skill\": \"list-job-profiles\"} as a data part.","tags":["automation","catalog","read-only"]},{"id":"get-job-status","name":"Get the status of a job run","description":"Current state of one job request. Send {\"skill\": \"get-job-status\", \"id\": 123} as a data part.","tags":["automation","status","read-only"]},{"id":"list-integration-flows","name":"List integration flows","description":"The DB-defined node graphs this install can run. Send {\"skill\": \"list-integration-flows\"} as a data part.","tags":["automation","catalog","read-only"]}],"provider":{"organization":"PT. IT Group Indonesia","url":"https://autohx-dev.rnd.itgroup.id"},"securitySchemes":{"autohxBearer":{"httpAuthSecurityScheme":{"scheme":"bearer","description":"The same AutoHX API key, sent as `Authorization: Bearer <key>`. Send this OR X-API-Key, never both: two different credentials in one request are refused rather than resolved by header order."}},"autohxApiKey":{"apiKeySecurityScheme":{"location":"header","name":"X-API-Key","description":"An AutoHX API key whose account is registered as an A2A peer on this install. Skills execute as this caller, so what the key may do is what the peer may do."}}},"securityRequirements":[{"autohxApiKey":[]},{"autohxBearer":[]}]}