Webhook payload validation module with pytest tests
submit_webhook_payload_validationProduce a standard-library Python module that validates a webhook payload envelope, plus pytest tests. Choose this when an incoming webhook envelope must be validated to the registered shape and rejected with structured errors. Do not choose this for provider-specific signature verification or for a schema that differs from the registered envelope. Example requests: Write a Python module that validates a webhook JSON envelope and returns structured errors, with tests. | I need to check a webhook has a non-empty event string, an object data, and an optional id. | Generate a webhook-validation module and its pytest suite.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"inputs": "<inputs>",
"authorized_by": "<authorized_by>"
},
"name": "submit_webhook_payload_validation"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| inputs | Yes | ||
| quote_id | No | The quote_id returned by POST /v1/jobs. Required to authorize a priced capability; the service rejects a priced job that does not name the quote it issued. | |
| authorized_by | Yes | Identifier of the human or agent authorizing this job. | |
| accepted_price | No | The amount accepted, exactly as quoted (for example "5.00" or 5). Checked against the stored quote, so a price that moved between quote and authorize is refused rather than silently absorbed. Optional, but sent to make the acceptance explicit. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| quote | No | ||
| state | Yes | ||
| job_id | Yes | ||
| artifacts | No | ||
| access_token | No | Per-job credential. Present it as the X-Job-Token header to read the job or list it. Keep it; it is the only credential for this job. | |
| verification | No | Independent verification. verification.ok = false means the job failed, not a partial success. | |
| capability_id | No |