{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://www.monocrawl.com/schemas/web/crawl.json","title":"web/crawl data fields","description":"Required core structure for successful data, with optional source fields. Additional fields are allowed. This is not a completeness guarantee.","type":"object","properties":{"id":{"type":["string","null"],"description":"Exact source identifier; preserve it as a string."},"kind":{"type":["string","null"],"description":"kind"},"status":{"type":["string","null"],"description":"status"},"created_at":{"type":["string","null"],"description":"created at"},"started_at":{"type":["string","null"],"description":"started at"},"completed_at":{"type":["string","null"],"description":"completed at"},"poll":{"type":["string","null"],"description":"poll"},"refund_status":{"type":["string","null"],"description":"refund status"},"credits_charged":{"type":["number","null"],"description":"credits charged; null is unknown."},"credits_refunded":{"type":["number","null"],"description":"credits refunded; null is unknown."},"attempts":{"type":["number","null"],"description":"attempts; null is unknown."},"progress":{"type":["object","null"],"properties":{},"additionalProperties":true},"result":{"type":["object","null"],"properties":{},"additionalProperties":true},"error":{"type":["string","null"],"description":"Failure details if present."}},"additionalProperties":true,"allOf":[{"anyOf":[{"required":["id"],"properties":{"id":{"type":["string"],"description":"Exact source identifier; preserve it as a string.","minLength":1}}},{"required":["created_at"],"properties":{"created_at":{"type":["string"],"description":"created at","minLength":1}}},{"required":["started_at"],"properties":{"started_at":{"type":["string"],"description":"started at","minLength":1}}},{"required":["completed_at"],"properties":{"completed_at":{"type":["string"],"description":"completed at","minLength":1}}},{"required":["poll"],"properties":{"poll":{"type":["string"],"description":"poll","minLength":1}}},{"required":["refund_status"],"properties":{"refund_status":{"type":["string"],"description":"refund status","minLength":1}}},{"required":["credits_charged"],"properties":{"credits_charged":{"type":["number"],"description":"credits charged; null is unknown."}}},{"required":["credits_refunded"],"properties":{"credits_refunded":{"type":["number"],"description":"credits refunded; null is unknown."}}},{"required":["attempts"],"properties":{"attempts":{"type":["number"],"description":"attempts; null is unknown."}}},{"required":["progress"],"properties":{"progress":{"type":["object"],"properties":{},"additionalProperties":true}}},{"required":["result"],"properties":{"result":{"type":["object"],"properties":{},"additionalProperties":true}}},{"required":["error"],"properties":{"error":{"type":["string"],"description":"Failure details if present.","minLength":1}}}]}],"x-contract-version":"2026-09-22","x-validation-scope":"Required success payload structure; optional fields and source completeness remain separate.","examples":[{"id":"job_example","status":"queued"}]}