Sourcey
Qué hace este MCP
Searches, compares, and verifies startup credits, discounts, deals, and published agent-readiness assessments with supporting evidence.
Herramientas
Esquema de entrada
{'type': 'object', 'required': ['offers', 'facts'], 'properties': {'facts': {'type': 'object', 'description': 'Known typed company facts used only for explicit eligibility evaluation; omit unknown facts.', 'propertyNames': {'type': 'string', 'pattern': '^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$'}, 'additionalProperties': {'oneOf': [{'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'null'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'string'}, 'value': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'number'}, 'value': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'boolean'}, 'value': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'date'}, 'value': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'values'], 'properties': {'type': {'type': 'string', 'const': 'string-set'}, 'values': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'values'], 'properties': {'type': {'type': 'string', 'const': 'number-set'}, 'values': {'type': 'array', 'items': {'type': 'number'}}}, 'additionalProperties': False}]}}, 'offers': {'type': 'array', 'items': {'type': 'object', 'required': ['entity', 'offer'], 'properties': {'offer': {'type': 'string', 'minLength': 1, 'description': 'Current offer slug.'}, 'entity': {'type': 'string', 'minLength': 1, 'description': 'Current Entity slug or immutable Entity ID.'}}, 'additionalProperties': False}, 'maxItems': 10, 'minItems': 2, 'description': 'Two to ten exact startup credit or deal offers to compare in this order.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['release_id', 'data', 'stacking'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['entity', 'offer', 'eligibility', 'unresolved', 'evidence', 'canonical_url'], 'properties': {'offer': {'type': 'object', 'required': ['offer_id', 'slug', 'title', 'summary', 'economics', 'eligibility', 'access', 'lifecycle', 'effective_from', 'revision_digest'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'title': {'type': 'string', 'minLength': 1}, 'access': {'type': 'object', 'required': ['availability', 'method'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'method': {'enum': ['form', 'code', 'contact', 'automatic', 'other'], 'type': 'string'}, 'public_code': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'availability': {'enum': ['public', 'referral', 'membership', 'invite', 'automatic', 'other'], 'type': 'string'}, 'instructions': {'type': 'string', 'maxLength': 1000, 'minLength': 1}}, 'additionalProperties': False}, 'summary': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'offer_id': {'type': 'string', 'pattern': '^off_[0-9a-hjkmnp-tv-z]{26}$'}, 'economics': {'type': 'object', 'required': ['consideration', 'benefits'], 'properties': {'benefits': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['benefit_id', 'description', 'kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'credit'}, 'value': {'oneOf': [{'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'minimum', 'maximum'], 'properties': {'kind': {'type': 'string', 'const': 'range'}, 'maximum': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'minimum': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}]}, 'duration': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}]}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['benefit_id', 'description', 'kind', 'percentage'], 'properties': {'kind': {'type': 'string', 'const': 'discount'}, 'duration': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}]}, 'applies_to': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'percentage': {'oneOf': [{'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'minimum_basis_points', 'maximum_basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'range'}, 'maximum_basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}, 'minimum_basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}]}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['benefit_id', 'description', 'kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'cashback'}, 'value': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'money'}, 'value': {'oneOf': [{'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'minimum', 'maximum'], 'properties': {'kind': {'type': 'string', 'const': 'range'}, 'maximum': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'minimum': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}]}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'percentage'}, 'value': {'oneOf': [{'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'minimum_basis_points', 'maximum_basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'range'}, 'maximum_basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}, 'minimum_basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}]}}, 'additionalProperties': False}]}, 'duration': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}]}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['benefit_id', 'description', 'kind', 'waived_item'], 'properties': {'kind': {'type': 'string', 'const': 'waiver'}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'waived_item': {'type': 'string', 'maxLength': 240, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['benefit_id', 'description', 'kind', 'service'], 'properties': {'kind': {'type': 'string', 'const': 'free-service'}, 'service': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'duration': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}]}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['benefit_id', 'description', 'kind'], 'properties': {'kind': {'type': 'string', 'const': 'other'}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}]}, 'minItems': 1}, 'consideration': {'oneOf': [{'type': 'object', 'required': ['kind'], 'properties': {'kind': {'type': 'string', 'const': 'none'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'fixed'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'description'], 'properties': {'kind': {'type': 'string', 'const': 'variable'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'description'], 'properties': {'kind': {'type': 'string', 'const': 'unknown'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}]}}, 'additionalProperties': False}, 'lifecycle': {'enum': ['active', 'ended', 'withdrawn'], 'type': 'string'}, 'eligibility': {'type': 'object', 'required': ['rule'], 'properties': {'rule': {'$ref': '#/definitions/__schema0'}}, 'additionalProperties': False}, 'effective_from': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'effective_until': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'terms_assurance': {'type': 'object', 'required': ['status', 'assurance_id', 'checked_at', 'revision_digest', 'method_policy_digest', 'coverage_policy_digest', 'event_id', 'receipt_digest'], 'properties': {'status': {'type': 'string', 'const': 'checked'}, 'event_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'checked_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'assurance_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'receipt_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'method_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'coverage_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'entity': {'type': 'object', 'required': ['entity_id', 'slug', 'name', 'category', 'revision_digest'], 'properties': {'name': {'type': 'string', 'minLength': 1}, 'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'category': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'entity_id': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'identity_assurance': {'type': 'object', 'required': ['status', 'assurance_id', 'verified_at', 'identity_epoch_digest', 'method_policy_digest', 'coverage_policy_digest', 'event_id', 'receipt_digest'], 'properties': {'status': {'type': 'string', 'const': 'verified'}, 'event_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'verified_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'assurance_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'receipt_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'method_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'identity_epoch_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'coverage_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'program': {'type': 'object', 'required': ['program_id', 'slug', 'title', 'revision_digest'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'title': {'type': 'string', 'minLength': 1}, 'summary': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'program_id': {'type': 'string', 'pattern': '^prg_[0-9a-hjkmnp-tv-z]{26}$'}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'evidence': {'type': 'object', 'required': ['freshness', 'dispute', 'basis_event_ids', 'vendor_attestation'], 'properties': {'dispute': {'enum': ['none', 'open', 'resolved'], 'type': 'string'}, 'freshness': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'basis_event_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'vendor_attestation': {'oneOf': [{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'none'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'event_id', 'attested_at'], 'properties': {'status': {'type': 'string', 'const': 'current'}, 'event_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'attested_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}}, 'additionalProperties': False}]}}, 'additionalProperties': False}, 'unresolved': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'fact'], 'properties': {'fact': {'type': 'string', 'minLength': 1}, 'kind': {'type': 'string', 'const': 'fact_unknown'}, 'statement': {'type': 'string', 'minLength': 1}, 'criterion_id': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement'], 'properties': {'kind': {'type': 'string', 'const': 'manual_review'}, 'statement': {'type': 'string', 'minLength': 1}, 'criterion_id': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}]}}, 'eligibility': {'type': 'object', 'required': ['eligible', 'trace'], 'properties': {'trace': {'$ref': '#/definitions/__schema1'}, 'eligible': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'canonical_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'maxItems': 10, 'minItems': 2}, 'stacking': {'type': 'object', 'required': ['outcome', 'reason'], 'properties': {'reason': {'type': 'string', 'const': 'The Sourcey catalog does not carry pairwise stacking evidence.'}, 'outcome': {'type': 'string', 'const': 'not_evaluated'}}, 'additionalProperties': False}, 'release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'definitions': {'__schema0': {'anyOf': [{'anyOf': [{'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'fact', 'operator'], 'properties': {'fact': {'type': 'string', 'pattern': '^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$'}, 'kind': {'type': 'string', 'const': 'predicate'}, 'operator': {'enum': ['present', 'absent'], 'type': 'string'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'fact', 'operator', 'value'], 'properties': {'fact': {'type': 'string', 'pattern': '^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$'}, 'kind': {'type': 'string', 'const': 'predicate'}, 'value': {'oneOf': [{'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'string'}, 'value': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'number'}, 'value': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'boolean'}, 'value': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'date'}, 'value': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}}, 'additionalProperties': False}]}, 'operator': {'enum': ['eq', 'neq', 'contains'], 'type': 'string'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'fact', 'operator', 'value'], 'properties': {'fact': {'type': 'string', 'pattern': '^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$'}, 'kind': {'type': 'string', 'const': 'predicate'}, 'value': {'oneOf': [{'type': 'object', 'required': ['type', 'values'], 'properties': {'type': {'type': 'string', 'const': 'string-set'}, 'values': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'values'], 'properties': {'type': {'type': 'string', 'const': 'number-set'}, 'values': {'type': 'array', 'items': {'type': 'number'}, 'minItems': 1}}, 'additionalProperties': False}]}, 'operator': {'type': 'string', 'const': 'in'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'fact', 'operator', 'value'], 'properties': {'fact': {'type': 'string', 'pattern': '^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$'}, 'kind': {'type': 'string', 'const': 'predicate'}, 'value': {'oneOf': [{'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'number'}, 'value': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'date'}, 'value': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}}, 'additionalProperties': False}]}, 'operator': {'enum': ['lt', 'lte', 'gt', 'gte'], 'type': 'string'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}]}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'reason'], 'properties': {'kind': {'type': 'string', 'const': 'manual'}, 'reason': {'enum': ['vendor-discretion', 'external-verification', 'not-machine-evaluable', 'other'], 'type': 'string'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'constant'}, 'value': {'type': 'boolean'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'rules'], 'properties': {'kind': {'type': 'string', 'const': 'all'}, 'rules': {'type': 'array', 'items': {'$ref': '#/definitions/__schema0'}, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'rules'], 'properties': {'kind': {'type': 'string', 'const': 'any'}, 'rules': {'type': 'array', 'items': {'$ref': '#/definitions/__schema0'}, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'rule'], 'properties': {'kind': {'type': 'string', 'const': 'not'}, 'rule': {'$ref': '#/definitions/__schema0'}}, 'additionalProperties': False}]}, '__schema1': {'anyOf': [{'type': 'object', 'required': ['kind', 'outcome', 'rules'], 'properties': {'kind': {'enum': ['all', 'any'], 'type': 'string'}, 'rules': {'type': 'array', 'items': {'$ref': '#/definitions/__schema1'}, 'minItems': 1}, 'outcome': {'enum': ['met', 'unmet', 'unknown'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'outcome', 'rule'], 'properties': {'kind': {'type': 'string', 'const': 'not'}, 'rule': {'$ref': '#/definitions/__schema1'}, 'outcome': {'enum': ['met', 'unmet', 'unknown'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'outcome'], 'properties': {'kind': {'enum': ['predicate', 'manual', 'constant'], 'type': 'string'}, 'outcome': {'enum': ['met', 'unmet', 'unknown'], 'type': 'string'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}]}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'cursor': {'type': 'string', 'minLength': 1, 'description': 'Opaque signed cursor returned by the previous change-feed page.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['feed_contract', 'release_id', 'snapshot_id', 'diff_digest', 'retained_from_release_id', 'data', 'next_cursor'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['change_id', 'kind', 'subject_type', 'subject_id', 'basis_event_ids'], 'properties': {'kind': {'type': 'string', 'pattern': '^[a-z][a-z0-9-]*(?:\\.[a-z][a-z0-9-]*)+$', 'examples': ['entity.added', 'entity.updated', 'entity.retired', 'program.added', 'program.updated', 'program.retired', 'offer.added', 'offer.updated', 'offer.ended', 'offer.retired', 'offer.withdrawn', 'policy.added', 'policy.updated', 'policy.retired', 'agent-readiness.added', 'agent-readiness.updated', 'agent-readiness.regraded', 'agent-readiness.relocated', 'agent-readiness.ended', 'agent-readiness.withdrawn', 'asset.bound', 'asset.updated', 'asset.withdrawn'], 'description': 'Append-only release change kind. Known values are examples; new kinds may appear within public API v1.', 'x-sourcey-extensible-enum': True}, 'change_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'tombstone': {'type': 'object', 'required': ['reason'], 'properties': {'reason': {'enum': ['retired', 'ended', 'withdrawn'], 'type': 'string'}, 'canonical_route': {'type': 'string', 'pattern': '^\\/.*'}}, 'additionalProperties': False}, 'subject_id': {'anyOf': [{'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}]}, 'subject_type': {'enum': ['entity', 'program', 'offer', 'policy', 'agent_readiness_profile', 'asset_binding'], 'type': 'string'}, 'basis_event_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'projection_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'previous_revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'previous_projection_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}}, 'release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'diff_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'next_cursor': {'anyOf': [{'type': 'string', 'minLength': 1}, {'type': 'null'}]}, 'snapshot_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'feed_contract': {'type': 'string', 'const': 'sourcey.catalog-feed/v1alpha1'}, 'retained_from_release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'entity': {'type': 'string', 'minLength': 1, 'description': 'Current Sourcey Entity slug or immutable Entity ID.'}, 'funnel': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'product': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'profile_id': {'type': 'string', 'pattern': '^arp_[0-9a-hjkmnp-tv-z]{26}$'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['release_id', 'data'], 'properties': {'data': {'type': 'object', 'required': ['entity', 'profile'], 'properties': {'entity': {'type': 'object', 'required': ['entity_id', 'slug', 'name', 'category', 'revision_digest'], 'properties': {'name': {'type': 'string', 'minLength': 1}, 'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'category': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'entity_id': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'identity_assurance': {'type': 'object', 'required': ['status', 'assurance_id', 'verified_at', 'identity_epoch_digest', 'method_policy_digest', 'coverage_policy_digest', 'event_id', 'receipt_digest'], 'properties': {'status': {'type': 'string', 'const': 'verified'}, 'event_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'verified_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'assurance_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'receipt_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'method_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'identity_epoch_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'coverage_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'profile': {'type': 'object', 'required': ['agent_readiness_profile_id', 'entity_id', 'scope', 'lifecycle', 'effective_from', 'revision_digest', 'policy_digest', 'policy_version', 'policy_as_of', 'assessment_basis', 'surface_catalog', 'overall_outcome', 'public_state', 'state_label', 'grade', 'grade_derivation', 'publication', 'limitations', 'stages', 'coverage', 'last_tested_at', 'freshness', 'provenance', 'canonical_url', 'projection_digest'], 'properties': {'grade': {'enum': ['A+', 'A', 'B+', 'B', 'C+', 'C', 'D', 'F', 'unrated'], 'type': 'string'}, 'scope': {'type': 'object', 'required': ['product', 'funnel'], 'properties': {'funnel': {'type': 'object', 'required': ['key', 'name'], 'properties': {'key': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'name': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}, 'product': {'type': 'object', 'required': ['key', 'name'], 'properties': {'key': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'name': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'stages': {'type': 'array', 'items': {'type': 'object', 'required': ['stage', 'stage_label', 'outcome', 'public_state', 'state_label', 'primary_finding', 'secondary_context', 'signals', 'blockers', 'remediations'], 'properties': {'stage': {'enum': ['evaluate', 'sign_up', 'pay', 'provision', 'operate'], 'type': 'string'}, 'outcome': {'enum': ['pass', 'constrained', 'fail', 'unknown', 'not_applicable'], 'type': 'string'}, 'signals': {'type': 'array', 'items': {'type': 'object', 'required': ['signal_code', 'evaluation_role', 'required', 'value', 'value_label', 'outcome', 'public_state', 'condition', 'finding', 'evidence_status', 'freshness', 'tested_surfaces', 'determination_bases'], 'properties': {'note': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'value': {'enum': ['yes', 'no', 'partial', 'unknown', 'not_applicable'], 'type': 'string'}, 'blocker': {'type': 'object', 'required': ['signal_code', 'code', 'explanation'], 'properties': {'code': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'explanation': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}, 'finding': {'type': 'string', 'maxLength': 280, 'minLength': 1}, 'outcome': {'enum': ['pass', 'constrained', 'fail', 'unknown', 'not_applicable'], 'type': 'string'}, 'required': {'type': 'boolean'}, 'condition': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'freshness': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'observed_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'remediation': {'type': 'object', 'required': ['signal_code', 'code', 'instruction'], 'properties': {'code': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'instruction': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}, 'value_label': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'public_state': {'enum': ['ready', 'limited', 'blocked', 'unknown', 'not_applicable'], 'type': 'string'}, 'evaluation_role': {'enum': ['graded', 'barrier', 'informational'], 'type': 'string'}, 'evidence_status': {'enum': ['supported', 'contradicted', 'mixed', 'missing'], 'type': 'string'}, 'tested_surfaces': {'type': 'array', 'items': {'type': 'object', 'required': ['node_kind', 'node_id'], 'properties': {'node_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'node_kind': {'enum': ['resource', 'endpoint', 'interface', 'surface_exclusion'], 'type': 'string'}}, 'additionalProperties': False}}, 'assessment_method': {'type': 'object', 'required': ['name', 'version', 'method_digest'], 'properties': {'name': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}, 'version': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'method_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'determination_bases': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['kind', 'captures', 'artifact_digests', 'locators'], 'properties': {'kind': {'type': 'string', 'const': 'direct_observation'}, 'captures': {'type': 'array', 'items': {'type': 'object', 'required': ['retained_capture_digest', 'capture_rung'], 'properties': {'capture_rung': {'enum': ['http', 'headless', 'archive', 'manual'], 'type': 'string'}, 'retained_capture_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'minItems': 1}, 'locators': {'type': 'array', 'items': {'type': 'object', 'required': ['artifact_digest', 'start_byte', 'end_byte', 'value_digest'], 'properties': {'end_byte': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'start_byte': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'value_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'artifact_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'minItems': 1}, 'artifact_digests': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'captures', 'artifact_digests', 'coverage_scope', 'covered_surfaces', 'covered_branches'], 'properties': {'kind': {'type': 'string', 'const': 'bounded_absence'}, 'captures': {'type': 'array', 'items': {'type': 'object', 'required': ['retained_capture_digest', 'capture_rung'], 'properties': {'capture_rung': {'enum': ['http', 'headless', 'archive', 'manual'], 'type': 'string'}, 'retained_capture_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'minItems': 1}, 'coverage_scope': {'enum': ['exact_resource', 'tested_surfaces', 'exact_funnel'], 'type': 'string'}, 'artifact_digests': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'minItems': 1}, 'covered_branches': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'covered_surfaces': {'type': 'array', 'items': {'type': 'object', 'required': ['node_kind', 'node_id'], 'properties': {'node_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'node_kind': {'enum': ['resource', 'endpoint', 'interface', 'surface_exclusion'], 'type': 'string'}}, 'additionalProperties': False}, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'captures', 'artifact_digests', 'source_surface', 'locators'], 'properties': {'kind': {'type': 'string', 'const': 'explicit_first_party_declaration'}, 'captures': {'type': 'array', 'items': {'type': 'object', 'required': ['retained_capture_digest', 'capture_rung'], 'properties': {'capture_rung': {'enum': ['http', 'headless', 'archive', 'manual'], 'type': 'string'}, 'retained_capture_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'minItems': 1}, 'locators': {'type': 'array', 'items': {'type': 'object', 'required': ['artifact_digest', 'start_byte', 'end_byte', 'value_digest'], 'properties': {'end_byte': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}, 'start_byte': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'value_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'artifact_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'minItems': 1}, 'source_surface': {'type': 'object', 'required': ['node_kind', 'node_id'], 'properties': {'node_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'node_kind': {'enum': ['resource', 'endpoint', 'interface', 'surface_exclusion'], 'type': 'string'}}, 'additionalProperties': False}, 'artifact_digests': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'adapter_digest', 'evidence_record_digest', 'requirement', 'artifact_digests'], 'properties': {'kind': {'type': 'string', 'const': 'standard_requirement'}, 'requirement': {'type': 'object', 'required': ['namespace', 'version', 'requirement_id', 'relation'], 'properties': {'version': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'relation': {'enum': ['tests', 'informational-reference'], 'type': 'string'}, 'namespace': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}, 'requirement_id': {'type': 'string', 'maxLength': 240, 'minLength': 1}}, 'additionalProperties': False}, 'adapter_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'artifact_digests': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'minItems': 1}, 'evidence_record_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'certification_receipt_digest'], 'properties': {'kind': {'type': 'string', 'const': 'certification_receipt'}, 'certification_receipt_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}]}}}, 'additionalProperties': False}}, 'blockers': {'type': 'array', 'items': {'type': 'object', 'required': ['signal_code', 'code', 'explanation'], 'properties': {'code': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'explanation': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'stage_label': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'state_label': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'public_state': {'enum': ['ready', 'limited', 'blocked', 'unknown', 'not_applicable'], 'type': 'string'}, 'remediations': {'type': 'array', 'items': {'type': 'object', 'required': ['signal_code', 'code', 'instruction'], 'properties': {'code': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'instruction': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'primary_finding': {'type': 'object', 'required': ['signal_code', 'condition', 'finding'], 'properties': {'context': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'finding': {'type': 'string', 'maxLength': 280, 'minLength': 1}, 'condition': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}, 'secondary_context': {'type': 'array', 'items': {'type': 'object', 'required': ['signal_code', 'condition', 'finding'], 'properties': {'context': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'finding': {'type': 'string', 'maxLength': 280, 'minLength': 1}, 'condition': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'maxItems': 5, 'minItems': 5}, 'coverage': {'type': 'object', 'required': ['status', 'required_signals', 'covered_signals', 'ratio', 'barrier_signals', 'verified_barrier_signals', 'barrier_ratio'], 'properties': {'ratio': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'status': {'enum': ['complete', 'incomplete'], 'type': 'string'}, 'barrier_ratio': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'barrier_signals': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'covered_signals': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'required_signals': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'verified_barrier_signals': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'entity_id': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}, 'freshness': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'lifecycle': {'enum': ['active', 'ended', 'withdrawn'], 'type': 'string'}, 'provenance': {'type': 'object', 'required': ['freshness', 'dispute', 'coverage_policy_digest', 'freshness_policy_digest', 'basis_event_ids', 'fields', 'vendor_attestation'], 'properties': {'fields': {'type': 'array', 'items': {'type': 'object', 'required': ['path', 'supporting_event_ids', 'contradicting_event_ids', 'accepted_proof_kinds', 'evidence_proof_kinds', 'freshness'], 'properties': {'path': {'type': 'string', 'pattern': '^\\/.*'}, 'freshness': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'accepted_proof_kinds': {'type': 'array', 'items': {'enum': ['observed', 'derived', 'editorial', 'attested'], 'type': 'string'}, 'minItems': 1}, 'evidence_proof_kinds': {'type': 'array', 'items': {'enum': ['observed', 'derived', 'editorial', 'attested'], 'type': 'string'}}, 'supporting_event_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'latest_observation_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'contradicting_event_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}}, 'additionalProperties': False}, 'minItems': 1}, 'dispute': {'enum': ['none', 'open', 'resolved'], 'type': 'string'}, 'freshness': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'basis_event_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'vendor_attestation': {'oneOf': [{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'none'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'event_id', 'attested_at'], 'properties': {'status': {'type': 'string', 'const': 'current'}, 'event_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'attested_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}}, 'additionalProperties': False}]}, 'coverage_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'freshness_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'limitations': {'type': 'array', 'items': {'type': 'object', 'required': ['stage', 'stage_label', 'finding'], 'properties': {'stage': {'enum': ['evaluate', 'sign_up', 'pay', 'provision', 'operate'], 'type': 'string'}, 'finding': {'type': 'object', 'required': ['signal_code', 'condition', 'finding'], 'properties': {'context': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'finding': {'type': 'string', 'maxLength': 280, 'minLength': 1}, 'condition': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}, 'remediation': {'type': 'object', 'required': ['signal_code', 'code', 'instruction'], 'properties': {'code': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'instruction': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}, 'stage_label': {'type': 'string', 'maxLength': 40, 'minLength': 1}}, 'additionalProperties': False}}, 'publication': {'type': 'object', 'required': ['visibility', 'reasons'], 'properties': {'reasons': {'type': 'array', 'items': {'enum': ['lifecycle_not_active', 'coverage_incomplete', 'required_evidence_not_supported', 'freshness_not_fresh', 'unrated', 'no_useful_finding', 'open_dispute'], 'type': 'string'}}, 'visibility': {'enum': ['discoverable', 'resolvable_only', 'private'], 'type': 'string'}}, 'additionalProperties': False}, 'state_label': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'policy_as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'public_state': {'enum': ['ready', 'limited', 'blocked', 'unknown', 'not_applicable'], 'type': 'string'}, 'canonical_url': {'type': 'string', 'format': 'uri'}, 'policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'effective_from': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'last_tested_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'policy_version': {'type': 'string', 'minLength': 1}, 'effective_until': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'overall_outcome': {'enum': ['pass', 'constrained', 'fail', 'unknown', 'not_applicable'], 'type': 'string'}, 'primary_finding': {'type': 'object', 'required': ['stage', 'stage_label', 'public_state', 'finding'], 'properties': {'stage': {'enum': ['evaluate', 'sign_up', 'pay', 'provision', 'operate'], 'type': 'string'}, 'blocker': {'type': 'object', 'required': ['signal_code', 'code', 'explanation'], 'properties': {'code': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'explanation': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}, 'finding': {'type': 'object', 'required': ['signal_code', 'condition', 'finding'], 'properties': {'context': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'finding': {'type': 'string', 'maxLength': 280, 'minLength': 1}, 'condition': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}, 'stage_label': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'public_state': {'enum': ['limited', 'blocked'], 'type': 'string'}}, 'additionalProperties': False}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'surface_catalog': {'type': 'object', 'required': ['assessment_targets', 'participants', 'resources', 'endpoints', 'interfaces', 'relations', 'surface_exclusions'], 'properties': {'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['endpoint_id', 'uri', 'transport', 'roles', 'operated_by_participant_id', 'standard_bindings'], 'properties': {'uri': {'type': 'string', 'format': 'uri'}, 'roles': {'type': 'array', 'items': {'enum': ['service', 'authorization', 'token', 'registration', 'protected_resource', 'checkout', 'status', 'recovery', 'webhook'], 'type': 'string'}, 'minItems': 1}, 'transport': {'enum': ['http', 'websocket', 'grpc'], 'type': 'string'}, 'endpoint_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'standard_bindings': {'type': 'array', 'items': {'type': 'object', 'required': ['namespace', 'version', 'relation'], 'properties': {'version': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'relation': {'enum': ['declares', 'describes', 'implements', 'uses'], 'type': 'string'}, 'namespace': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'allowed_redirect_hosts': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$', 'maxLength': 253}, 'maxItems': 16}, 'operated_by_participant_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['relation_id', 'kind', 'from', 'to'], 'properties': {'to': {'type': 'object', 'required': ['node_kind', 'node_id'], 'properties': {'node_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'node_kind': {'enum': ['resource', 'endpoint', 'interface', 'surface_exclusion'], 'type': 'string'}}, 'additionalProperties': False}, 'from': {'type': 'object', 'required': ['node_kind', 'node_id'], 'properties': {'node_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'node_kind': {'enum': ['resource', 'endpoint', 'interface', 'surface_exclusion'], 'type': 'string'}}, 'additionalProperties': False}, 'kind': {'enum': ['describes', 'authenticates', 'requires', 'alternative_to', 'precedes'], 'type': 'string'}, 'relation_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['resource_id', 'uri', 'roles', 'operated_by_participant_id', 'standard_bindings'], 'properties': {'uri': {'type': 'string', 'format': 'uri'}, 'roles': {'type': 'array', 'items': {'enum': ['discovery', 'terms', 'eligibility', 'pricing', 'access', 'checkout', 'provisioning', 'operations', 'recovery', 'authentication', 'descriptor', 'documentation', 'policy', 'status'], 'type': 'string'}, 'minItems': 1}, 'resource_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'standard_bindings': {'type': 'array', 'items': {'type': 'object', 'required': ['namespace', 'version', 'relation'], 'properties': {'version': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'relation': {'enum': ['declares', 'describes', 'implements', 'uses'], 'type': 'string'}, 'namespace': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'allowed_redirect_hosts': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$', 'maxLength': 253}, 'maxItems': 16}, 'operated_by_participant_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'interfaces': {'type': 'array', 'items': {'type': 'object', 'required': ['interface_id', 'modality', 'functions', 'endpoint_ids', 'resource_ids', 'operated_by_participant_id', 'standard_bindings'], 'properties': {'modality': {'enum': ['web_application', 'network_api', 'command_line', 'software_library', 'tool_server', 'agent_service'], 'type': 'string'}, 'functions': {'type': 'array', 'items': {'enum': ['service_operation', 'authentication', 'commerce', 'events', 'recovery'], 'type': 'string'}, 'minItems': 1}, 'endpoint_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'interface_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'resource_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'standard_bindings': {'type': 'array', 'items': {'type': 'object', 'required': ['namespace', 'version', 'relation'], 'properties': {'version': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'relation': {'enum': ['declares', 'describes', 'implements', 'uses'], 'type': 'string'}, 'namespace': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'operated_by_participant_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'participants': {'type': 'array', 'items': {'type': 'object', 'required': ['participant_id', 'roles', 'identity'], 'properties': {'roles': {'type': 'array', 'items': {'enum': ['subject', 'access_operator', 'identity_provider', 'payment_provider', 'provisioning_provider', 'operations_provider'], 'type': 'string'}, 'minItems': 1}, 'identity': {'anyOf': [{'type': 'object', 'required': ['entity_id'], 'properties': {'entity_id': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['origin_source_id'], 'properties': {'origin_source_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}]}, 'participant_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'assessment_targets': {'type': 'array', 'items': {'type': 'object', 'required': ['target_id', 'name', 'interface_ids'], 'properties': {'name': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'target_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'interface_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'minItems': 1}}, 'additionalProperties': False}}, 'surface_exclusions': {'type': 'array', 'items': {'type': 'object', 'required': ['exclusion_id', 'role', 'rationale'], 'properties': {'role': {'enum': ['discovery', 'terms', 'eligibility', 'pricing', 'access', 'checkout', 'provisioning', 'operations', 'recovery', 'authentication', 'descriptor', 'documentation', 'policy', 'status'], 'type': 'string'}, 'rationale': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'exclusion_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}}}, 'additionalProperties': False}, 'assessment_basis': {'type': 'object', 'required': ['principal', 'initial_state', 'permitted_human_boundaries', 'required_handoff_properties', 'forbidden_substitutions', 'success', 'observed_assessment'], 'properties': {'success': {'type': 'object', 'required': ['target_coverage', 'interface_coverage', 'authority', 'failure_semantics', 'recovery'], 'properties': {'recovery': {'type': 'string', 'const': 'supported'}, 'authority': {'type': 'string', 'const': 'scoped'}, 'target_coverage': {'type': 'string', 'const': 'every_declared_target'}, 'failure_semantics': {'type': 'string', 'const': 'documented'}, 'interface_coverage': {'type': 'string', 'const': 'at_least_one_declared_alternative'}}, 'additionalProperties': False}, 'principal': {'type': 'string', 'const': 'authorized_human_or_organization'}, 'initial_state': {'type': 'object', 'required': ['product_specific_account', 'product_credentials', 'paid_subscription', 'provisioned_resource', 'external_identity'], 'properties': {'external_identity': {'type': 'string', 'const': 'only_when_declared_by_exact_funnel'}, 'paid_subscription': {'type': 'boolean', 'const': False}, 'product_credentials': {'type': 'boolean', 'const': False}, 'provisioned_resource': {'type': 'boolean', 'const': False}, 'product_specific_account': {'type': 'boolean', 'const': False}}, 'additionalProperties': False}, 'observed_assessment': {'type': 'object', 'required': ['allowed_sources', 'consequential_claims'], 'properties': {'allowed_sources': {'type': 'array', 'items': {'enum': ['public_documentation', 'public_metadata', 'public_endpoints', 'non_mutating_interaction', 'operator_attested_public_observation'], 'type': 'string'}}, 'consequential_claims': {'type': 'string', 'const': 'certification_required'}}, 'additionalProperties': False}, 'forbidden_substitutions': {'type': 'array', 'items': {'enum': ['captcha_solving', 'human_password_or_session_sharing', 'concealed_agent_identity', 'invented_eligibility', 'unbound_out_of_band_code', 'vendor_policy_bypass', 'unapproved_consequential_action'], 'type': 'string'}}, 'permitted_human_boundaries': {'type': 'array', 'items': {'enum': ['account_ownership_confirmation', 'delegated_identity_consent', 'regulated_approval', 'final_payment_or_irreversible_commitment'], 'type': 'string'}}, 'required_handoff_properties': {'type': 'array', 'items': {'enum': ['exact_disclosure', 'resumable_handoff', 'deterministic_continuation'], 'type': 'string'}}}, 'additionalProperties': False}, 'grade_derivation': {'type': 'object', 'required': ['label', 'explanation', 'coverage_rule', 'outcome_rule'], 'properties': {'label': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'explanation': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'outcome_rule': {'type': 'string', 'maxLength': 280, 'minLength': 1}, 'coverage_rule': {'type': 'string', 'maxLength': 280, 'minLength': 1}}, 'additionalProperties': False}, 'projection_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'first_blocked_stage': {'type': 'object', 'required': ['stage', 'stage_label', 'finding'], 'properties': {'stage': {'enum': ['evaluate', 'sign_up', 'pay', 'provision', 'operate'], 'type': 'string'}, 'blocker': {'type': 'object', 'required': ['signal_code', 'code', 'explanation'], 'properties': {'code': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'explanation': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}, 'finding': {'type': 'object', 'required': ['signal_code', 'condition', 'finding'], 'properties': {'context': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'finding': {'type': 'string', 'maxLength': 280, 'minLength': 1}, 'condition': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}, 'stage_label': {'type': 'string', 'maxLength': 40, 'minLength': 1}}, 'additionalProperties': False}, 'agent_readiness_profile_id': {'type': 'string', 'pattern': '^arp_[0-9a-hjkmnp-tv-z]{26}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['release_id', 'x402_discovery_url', 'openapi_url', 'data'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['product_code', 'operation_id', 'service_name', 'description', 'tags', 'floor_price', 'service_policy_url', 'refund_policy_url', 'resource_url'], 'properties': {'tags': {'type': 'array', 'items': [{'type': 'string', 'maxLength': 48, 'minLength': 1}, {'type': 'string', 'maxLength': 48, 'minLength': 1}, {'type': 'string', 'maxLength': 48, 'minLength': 1}, {'type': 'string', 'maxLength': 48, 'minLength': 1}, {'type': 'string', 'maxLength': 48, 'minLength': 1}]}, 'description': {'type': 'string', 'maxLength': 499, 'minLength': 1}, 'floor_price': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'const': 'usd'}, 'minor_units': {'type': 'number', 'const': 4900}}, 'additionalProperties': False}, 'operation_id': {'type': 'string', 'pattern': '^[a-z][A-Za-z0-9]*$'}, 'product_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'resource_url': {'type': 'string', 'format': 'uri'}, 'service_name': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'refund_policy_url': {'type': 'string', 'format': 'uri'}, 'service_policy_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}, 'maxItems': 1, 'minItems': 1}, 'release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'openapi_url': {'type': 'string', 'const': 'https://api.sourcey.com/openapi.yml'}, 'x402_discovery_url': {'type': 'string', 'const': 'https://api.sourcey.com/.well-known/x402'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['revision_digests'], 'properties': {'revision_digests': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'maxItems': 10, 'minItems': 1, 'description': 'Exact offer revision digests returned by Sourcey search or comparison.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['release_id', 'data'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['revision_digest', 'first_inclusion_sequence', 'event_ids', 'observation_ids', 'coverage_policy_digest', 'freshness_policy_digest'], 'properties': {'event_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'observation_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'coverage_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'freshness_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'first_inclusion_sequence': {'type': 'integer', 'maximum': 9007199254740991, 'exclusiveMinimum': 0}}, 'additionalProperties': False}, 'maxItems': 10, 'minItems': 1}, 'release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['command_contract', 'scope_source_uris', 'subject_roles', 'assessment_targets', 'participants', 'resources', 'endpoints', 'interfaces', 'relations', 'offer_relations', 'surface_exclusions'], 'properties': {'scope': {'type': 'object', 'required': ['product', 'funnel'], 'properties': {'funnel': {'type': 'object', 'required': ['key', 'name'], 'properties': {'key': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'name': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}, 'product': {'type': 'object', 'required': ['key', 'name'], 'properties': {'key': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'name': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'subject': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'entity_id'}, 'value': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'slug'}, 'value': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'domain'}, 'value': {'type': 'string', 'pattern': '^(?=.{1,253}$)(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$'}}, 'additionalProperties': False}]}, 'endpoints': {'type': 'array', 'items': {'type': 'object', 'required': ['endpoint_id', 'uri', 'transport', 'roles', 'operated_by_participant_id', 'standard_bindings', 'source_uris'], 'properties': {'uri': {'type': 'string', 'format': 'uri'}, 'roles': {'type': 'array', 'items': {'enum': ['service', 'authorization', 'token', 'registration', 'protected_resource', 'checkout', 'status', 'recovery', 'webhook'], 'type': 'string'}, 'minItems': 1}, 'transport': {'enum': ['http', 'websocket', 'grpc'], 'type': 'string'}, 'endpoint_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'source_uris': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'minItems': 1}, 'standard_bindings': {'type': 'array', 'items': {'type': 'object', 'required': ['namespace', 'version', 'relation'], 'properties': {'version': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'relation': {'enum': ['declares', 'describes', 'implements', 'uses'], 'type': 'string'}, 'namespace': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'allowed_redirect_hosts': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$', 'maxLength': 253}, 'maxItems': 16}, 'operated_by_participant_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}, 'default': []}, 'relations': {'type': 'array', 'items': {'type': 'object', 'required': ['relation_id', 'kind', 'from', 'to', 'source_uris'], 'properties': {'to': {'type': 'object', 'required': ['node_kind', 'node_id'], 'properties': {'node_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'node_kind': {'enum': ['resource', 'endpoint', 'interface', 'surface_exclusion'], 'type': 'string'}}, 'additionalProperties': False}, 'from': {'type': 'object', 'required': ['node_kind', 'node_id'], 'properties': {'node_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'node_kind': {'enum': ['resource', 'endpoint', 'interface', 'surface_exclusion'], 'type': 'string'}}, 'additionalProperties': False}, 'kind': {'enum': ['describes', 'authenticates', 'requires', 'alternative_to', 'precedes'], 'type': 'string'}, 'relation_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'source_uris': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'minItems': 1}}, 'additionalProperties': False}, 'default': []}, 'resources': {'type': 'array', 'items': {'type': 'object', 'required': ['resource_id', 'uri', 'roles', 'operated_by_participant_id', 'standard_bindings', 'source_uris'], 'properties': {'uri': {'type': 'string', 'format': 'uri'}, 'roles': {'type': 'array', 'items': {'enum': ['discovery', 'terms', 'eligibility', 'pricing', 'access', 'checkout', 'provisioning', 'operations', 'recovery', 'authentication', 'descriptor', 'documentation', 'policy', 'status'], 'type': 'string'}, 'minItems': 1}, 'resource_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'source_uris': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'minItems': 1}, 'standard_bindings': {'type': 'array', 'items': {'type': 'object', 'required': ['namespace', 'version', 'relation'], 'properties': {'version': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'relation': {'enum': ['declares', 'describes', 'implements', 'uses'], 'type': 'string'}, 'namespace': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'allowed_redirect_hosts': {'type': 'array', 'items': {'type': 'string', 'pattern': '^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?$', 'maxLength': 253}, 'maxItems': 16}, 'operated_by_participant_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}, 'default': []}, 'interfaces': {'type': 'array', 'items': {'type': 'object', 'required': ['interface_id', 'modality', 'functions', 'endpoint_ids', 'resource_ids', 'operated_by_participant_id', 'standard_bindings', 'source_uris'], 'properties': {'modality': {'enum': ['web_application', 'network_api', 'command_line', 'software_library', 'tool_server', 'agent_service'], 'type': 'string'}, 'functions': {'type': 'array', 'items': {'enum': ['service_operation', 'authentication', 'commerce', 'events', 'recovery'], 'type': 'string'}, 'minItems': 1}, 'source_uris': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'minItems': 1}, 'endpoint_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'interface_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'resource_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'standard_bindings': {'type': 'array', 'items': {'type': 'object', 'required': ['namespace', 'version', 'relation'], 'properties': {'version': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'relation': {'enum': ['declares', 'describes', 'implements', 'uses'], 'type': 'string'}, 'namespace': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'operated_by_participant_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}, 'default': []}, 'declared_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'participants': {'type': 'array', 'items': {'type': 'object', 'required': ['participant_id', 'roles', 'identity', 'source_uris'], 'properties': {'roles': {'type': 'array', 'items': {'enum': ['access_operator', 'identity_provider', 'payment_provider', 'provisioning_provider', 'operations_provider'], 'type': 'string'}, 'minItems': 1}, 'identity': {'oneOf': [{'type': 'object', 'required': ['kind', 'entity_id'], 'properties': {'kind': {'type': 'string', 'const': 'entity_id'}, 'entity_id': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'uri'], 'properties': {'uri': {'type': 'string', 'format': 'uri'}, 'kind': {'type': 'string', 'const': 'origin_uri'}}, 'additionalProperties': False}]}, 'source_uris': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'minItems': 1}, 'participant_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}, 'default': []}, 'subject_roles': {'type': 'array', 'items': {'enum': ['access_operator', 'identity_provider', 'payment_provider', 'provisioning_provider', 'operations_provider'], 'type': 'string'}, 'default': []}, 'offer_relations': {'type': 'array', 'items': {'type': 'object', 'required': ['offer_relation_proposal_id', 'offer_id', 'purpose', 'applicable_stages', 'source_uris'], 'properties': {'purpose': {'enum': ['application_path', 'redemption_path', 'operating_path'], 'type': 'string'}, 'offer_id': {'type': 'string', 'pattern': '^off_[0-9a-hjkmnp-tv-z]{26}$'}, 'source_uris': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'minItems': 1}, 'applicable_stages': {'type': 'array', 'items': {'enum': ['evaluate', 'sign_up', 'pay', 'provision', 'operate'], 'type': 'string'}, 'minItems': 1}, 'offer_relation_proposal_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}, 'default': []}, 'authority_intent': {'enum': ['entity', 'community'], 'type': 'string'}, 'command_contract': {'type': 'string', 'const': 'sourcey.agent-readiness-declaration-draft/v1alpha1'}, 'scope_source_uris': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'default': []}, 'assessment_targets': {'type': 'array', 'items': {'type': 'object', 'required': ['target_id', 'name', 'interface_ids', 'source_uris'], 'properties': {'name': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'target_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'source_uris': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'minItems': 1}, 'interface_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'minItems': 1}}, 'additionalProperties': False}, 'default': []}, 'surface_exclusions': {'type': 'array', 'items': {'type': 'object', 'required': ['exclusion_id', 'role', 'rationale', 'source_uris'], 'properties': {'role': {'enum': ['discovery', 'terms', 'eligibility', 'pricing', 'access', 'checkout', 'provisioning', 'operations', 'recovery', 'authentication', 'descriptor', 'documentation', 'policy', 'status'], 'type': 'string'}, 'rationale': {'type': 'string', 'maxLength': 300, 'minLength': 1}, 'source_uris': {'type': 'array', 'items': {'type': 'string', 'format': 'uri'}, 'minItems': 1}, 'exclusion_id': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}, 'default': []}, 'base_authoring_file': {'type': 'object', 'required': ['path', 'content', 'content_digest'], 'properties': {'path': {'type': 'string', 'pattern': '^entities\\/[a-z0-9]{1,2}\\/[a-z0-9]+(?:-[a-z0-9]+)*\\.yaml$'}, 'content': {'type': 'string', 'minLength': 1}, 'content_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['release_id', 'data'], 'properties': {'data': {'oneOf': [{'type': 'object', 'required': ['status', 'diagnostics'], 'properties': {'status': {'type': 'string', 'const': 'invalid'}, 'diagnostics': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'path', 'message'], 'properties': {'code': {'enum': ['required', 'invalid', 'ambiguous_identity', 'cross_entity_offer', 'base_authoring_mismatch'], 'type': 'string'}, 'path': {'type': 'string', 'pattern': '^\\/.*'}, 'message': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'diagnostics'], 'properties': {'status': {'type': 'string', 'const': 'identity_allocation_required'}, 'diagnostics': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'path', 'message'], 'properties': {'code': {'enum': ['required', 'invalid', 'ambiguous_identity', 'cross_entity_offer', 'base_authoring_mismatch'], 'type': 'string'}, 'path': {'type': 'string', 'pattern': '^\\/.*'}, 'message': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'base_release_id', 'entity_id', 'entity_revision_digest', 'diagnostics'], 'properties': {'status': {'type': 'string', 'const': 'incomplete'}, 'entity_id': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}, 'diagnostics': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'path', 'message'], 'properties': {'code': {'enum': ['required', 'invalid', 'ambiguous_identity', 'cross_entity_offer', 'base_authoring_mismatch'], 'type': 'string'}, 'path': {'type': 'string', 'pattern': '^\\/.*'}, 'message': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'minItems': 1}, 'base_release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'entity_revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'base_release_id', 'diagnostics'], 'properties': {'status': {'type': 'string', 'const': 'conflict'}, 'entity_id': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}, 'diagnostics': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'path', 'message'], 'properties': {'code': {'enum': ['required', 'invalid', 'ambiguous_identity', 'cross_entity_offer', 'base_authoring_mismatch'], 'type': 'string'}, 'path': {'type': 'string', 'pattern': '^\\/.*'}, 'message': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'minItems': 1}, 'base_release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'entity_revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'base_release_id', 'entity_id', 'entity_revision_digest', 'subject_display', 'scope', 'declaration_id', 'authoring_file', 'submission', 'diagnostics'], 'properties': {'scope': {'type': 'object', 'required': ['product', 'funnel'], 'properties': {'funnel': {'type': 'object', 'required': ['key', 'name'], 'properties': {'key': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'name': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}, 'product': {'type': 'object', 'required': ['key', 'name'], 'properties': {'key': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'name': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'status': {'type': 'string', 'const': 'materialized'}, 'entity_id': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}, 'submission': {'type': 'object', 'required': ['method', 'path', 'product'], 'properties': {'path': {'type': 'string', 'const': '/v1/submissions'}, 'method': {'type': 'string', 'const': 'POST'}, 'product': {'type': 'string', 'const': 'agent_readiness'}}, 'additionalProperties': False}, 'diagnostics': {'type': 'array', 'items': {'type': 'object', 'required': ['code', 'path', 'message'], 'properties': {'code': {'enum': ['required', 'invalid', 'ambiguous_identity', 'cross_entity_offer', 'base_authoring_mismatch'], 'type': 'string'}, 'path': {'type': 'string', 'pattern': '^\\/.*'}, 'message': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, 'maxItems': 0, 'minItems': 0}, 'authoring_file': {'type': 'object', 'required': ['path', 'content', 'content_digest'], 'properties': {'path': {'type': 'string', 'pattern': '^entities\\/[a-z0-9]{1,2}\\/[a-z0-9]+(?:-[a-z0-9]+)*\\.yaml$'}, 'content': {'type': 'string', 'minLength': 1}, 'content_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'declaration_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'base_release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'subject_display': {'type': 'object', 'required': ['slug', 'name'], 'properties': {'name': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}}, 'additionalProperties': False}, 'entity_revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}]}, 'release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'required': ['facts'], 'properties': {'facts': {'type': 'object', 'description': 'Known typed company facts used only for explicit eligibility evaluation; omit unknown facts.', 'propertyNames': {'type': 'string', 'pattern': '^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$'}, 'additionalProperties': {'oneOf': [{'type': 'object', 'required': ['type'], 'properties': {'type': {'type': 'string', 'const': 'null'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'string'}, 'value': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'number'}, 'value': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'boolean'}, 'value': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'date'}, 'value': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'values'], 'properties': {'type': {'type': 'string', 'const': 'string-set'}, 'values': {'type': 'array', 'items': {'type': 'string'}}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'values'], 'properties': {'type': {'type': 'string', 'const': 'number-set'}, 'values': {'type': 'array', 'items': {'type': 'number'}}}, 'additionalProperties': False}]}}, 'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Maximum results to return; defaults to 10.'}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Natural-language search for a startup need, technology, credit, discount, free tier, perk, grant, or deal.'}, 'entities': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 10, 'minItems': 1, 'description': 'Current Entity slugs or immutable Entity IDs to include.'}, 'categories': {'type': 'array', 'items': {'type': 'string', 'minLength': 1}, 'maxItems': 10, 'minItems': 1, 'description': 'Catalog categories to include, such as hosting, databases, or observability.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['release_id', 'total', 'truncated', 'data'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['entity', 'offer', 'eligibility', 'unresolved', 'evidence', 'canonical_url'], 'properties': {'offer': {'type': 'object', 'required': ['offer_id', 'slug', 'title', 'summary', 'economics', 'eligibility', 'access', 'lifecycle', 'effective_from', 'revision_digest'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'title': {'type': 'string', 'minLength': 1}, 'access': {'type': 'object', 'required': ['availability', 'method'], 'properties': {'url': {'type': 'string', 'format': 'uri'}, 'method': {'enum': ['form', 'code', 'contact', 'automatic', 'other'], 'type': 'string'}, 'public_code': {'type': 'string', 'maxLength': 200, 'minLength': 1}, 'availability': {'enum': ['public', 'referral', 'membership', 'invite', 'automatic', 'other'], 'type': 'string'}, 'instructions': {'type': 'string', 'maxLength': 1000, 'minLength': 1}}, 'additionalProperties': False}, 'summary': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'offer_id': {'type': 'string', 'pattern': '^off_[0-9a-hjkmnp-tv-z]{26}$'}, 'economics': {'type': 'object', 'required': ['consideration', 'benefits'], 'properties': {'benefits': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['benefit_id', 'description', 'kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'credit'}, 'value': {'oneOf': [{'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'minimum', 'maximum'], 'properties': {'kind': {'type': 'string', 'const': 'range'}, 'maximum': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'minimum': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}]}, 'duration': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}]}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['benefit_id', 'description', 'kind', 'percentage'], 'properties': {'kind': {'type': 'string', 'const': 'discount'}, 'duration': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}]}, 'applies_to': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'percentage': {'oneOf': [{'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'minimum_basis_points', 'maximum_basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'range'}, 'maximum_basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}, 'minimum_basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}]}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['benefit_id', 'description', 'kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'cashback'}, 'value': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'money'}, 'value': {'oneOf': [{'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'minimum', 'maximum'], 'properties': {'kind': {'type': 'string', 'const': 'range'}, 'maximum': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'minimum': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}]}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'percentage'}, 'value': {'oneOf': [{'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'minimum_basis_points', 'maximum_basis_points'], 'properties': {'kind': {'type': 'string', 'const': 'range'}, 'maximum_basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}, 'minimum_basis_points': {'type': 'integer', 'maximum': 10000, 'minimum': 1}}, 'additionalProperties': False}]}}, 'additionalProperties': False}]}, 'duration': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}]}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['benefit_id', 'description', 'kind', 'waived_item'], 'properties': {'kind': {'type': 'string', 'const': 'waiver'}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'waived_item': {'type': 'string', 'maxLength': 240, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['benefit_id', 'description', 'kind', 'service'], 'properties': {'kind': {'type': 'string', 'const': 'free-service'}, 'service': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'duration': {'oneOf': [{'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'exact'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'up-to'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'at-least'}, 'value': {'type': 'string', 'pattern': '^P(?=\\d|T\\d)(?:\\d+Y)?(?:\\d+M)?(?:\\d+D)?(?:T(?:\\d+H)?(?:\\d+M)?(?:\\d+S)?)?$'}}, 'additionalProperties': False}]}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['benefit_id', 'description', 'kind'], 'properties': {'kind': {'type': 'string', 'const': 'other'}, 'benefit_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}]}, 'minItems': 1}, 'consideration': {'oneOf': [{'type': 'object', 'required': ['kind'], 'properties': {'kind': {'type': 'string', 'const': 'none'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'amount'], 'properties': {'kind': {'type': 'string', 'const': 'fixed'}, 'amount': {'type': 'object', 'required': ['currency', 'minor_units'], 'properties': {'currency': {'type': 'string', 'pattern': '^[A-Z]{3}$'}, 'minor_units': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'description'], 'properties': {'kind': {'type': 'string', 'const': 'variable'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'description'], 'properties': {'kind': {'type': 'string', 'const': 'unknown'}, 'description': {'type': 'string', 'maxLength': 500, 'minLength': 1}}, 'additionalProperties': False}]}}, 'additionalProperties': False}, 'lifecycle': {'enum': ['active', 'ended', 'withdrawn'], 'type': 'string'}, 'eligibility': {'type': 'object', 'required': ['rule'], 'properties': {'rule': {'$ref': '#/definitions/__schema0'}}, 'additionalProperties': False}, 'effective_from': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'effective_until': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'terms_assurance': {'type': 'object', 'required': ['status', 'assurance_id', 'checked_at', 'revision_digest', 'method_policy_digest', 'coverage_policy_digest', 'event_id', 'receipt_digest'], 'properties': {'status': {'type': 'string', 'const': 'checked'}, 'event_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'checked_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'assurance_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'receipt_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'method_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'coverage_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'entity': {'type': 'object', 'required': ['entity_id', 'slug', 'name', 'category', 'revision_digest'], 'properties': {'name': {'type': 'string', 'minLength': 1}, 'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'category': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'entity_id': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'identity_assurance': {'type': 'object', 'required': ['status', 'assurance_id', 'verified_at', 'identity_epoch_digest', 'method_policy_digest', 'coverage_policy_digest', 'event_id', 'receipt_digest'], 'properties': {'status': {'type': 'string', 'const': 'verified'}, 'event_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'verified_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'assurance_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'receipt_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'method_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'identity_epoch_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'coverage_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'program': {'type': 'object', 'required': ['program_id', 'slug', 'title', 'revision_digest'], 'properties': {'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'title': {'type': 'string', 'minLength': 1}, 'summary': {'type': 'string', 'maxLength': 240, 'minLength': 1}, 'program_id': {'type': 'string', 'pattern': '^prg_[0-9a-hjkmnp-tv-z]{26}$'}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}, 'evidence': {'type': 'object', 'required': ['freshness', 'dispute', 'basis_event_ids', 'vendor_attestation'], 'properties': {'dispute': {'enum': ['none', 'open', 'resolved'], 'type': 'string'}, 'freshness': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'basis_event_ids': {'type': 'array', 'items': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'vendor_attestation': {'oneOf': [{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'none'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'event_id', 'attested_at'], 'properties': {'status': {'type': 'string', 'const': 'current'}, 'event_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'attested_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}}, 'additionalProperties': False}]}}, 'additionalProperties': False}, 'unresolved': {'type': 'array', 'items': {'oneOf': [{'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'fact'], 'properties': {'fact': {'type': 'string', 'minLength': 1}, 'kind': {'type': 'string', 'const': 'fact_unknown'}, 'statement': {'type': 'string', 'minLength': 1}, 'criterion_id': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement'], 'properties': {'kind': {'type': 'string', 'const': 'manual_review'}, 'statement': {'type': 'string', 'minLength': 1}, 'criterion_id': {'type': 'string', 'minLength': 1}}, 'additionalProperties': False}]}}, 'eligibility': {'type': 'object', 'required': ['eligible', 'trace'], 'properties': {'trace': {'$ref': '#/definitions/__schema1'}, 'eligible': {'anyOf': [{'type': 'boolean'}, {'type': 'null'}]}}, 'additionalProperties': False}, 'canonical_url': {'type': 'string', 'format': 'uri'}}, 'additionalProperties': False}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'truncated': {'type': 'boolean'}, 'release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'definitions': {'__schema0': {'anyOf': [{'anyOf': [{'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'fact', 'operator'], 'properties': {'fact': {'type': 'string', 'pattern': '^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$'}, 'kind': {'type': 'string', 'const': 'predicate'}, 'operator': {'enum': ['present', 'absent'], 'type': 'string'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'fact', 'operator', 'value'], 'properties': {'fact': {'type': 'string', 'pattern': '^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$'}, 'kind': {'type': 'string', 'const': 'predicate'}, 'value': {'oneOf': [{'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'string'}, 'value': {'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'number'}, 'value': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'boolean'}, 'value': {'type': 'boolean'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'date'}, 'value': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}}, 'additionalProperties': False}]}, 'operator': {'enum': ['eq', 'neq', 'contains'], 'type': 'string'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'fact', 'operator', 'value'], 'properties': {'fact': {'type': 'string', 'pattern': '^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$'}, 'kind': {'type': 'string', 'const': 'predicate'}, 'value': {'oneOf': [{'type': 'object', 'required': ['type', 'values'], 'properties': {'type': {'type': 'string', 'const': 'string-set'}, 'values': {'type': 'array', 'items': {'type': 'string'}, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'values'], 'properties': {'type': {'type': 'string', 'const': 'number-set'}, 'values': {'type': 'array', 'items': {'type': 'number'}, 'minItems': 1}}, 'additionalProperties': False}]}, 'operator': {'type': 'string', 'const': 'in'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'fact', 'operator', 'value'], 'properties': {'fact': {'type': 'string', 'pattern': '^[a-z][a-z0-9_-]*(?:\\.[a-z][a-z0-9_-]*)+$'}, 'kind': {'type': 'string', 'const': 'predicate'}, 'value': {'oneOf': [{'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'number'}, 'value': {'type': 'number'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['type', 'value'], 'properties': {'type': {'type': 'string', 'const': 'date'}, 'value': {'type': 'string', 'format': 'date', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$'}}, 'additionalProperties': False}]}, 'operator': {'enum': ['lt', 'lte', 'gt', 'gte'], 'type': 'string'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}]}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'reason'], 'properties': {'kind': {'type': 'string', 'const': 'manual'}, 'reason': {'enum': ['vendor-discretion', 'external-verification', 'not-machine-evaluable', 'other'], 'type': 'string'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'value'], 'properties': {'kind': {'type': 'string', 'const': 'constant'}, 'value': {'type': 'boolean'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'rules'], 'properties': {'kind': {'type': 'string', 'const': 'all'}, 'rules': {'type': 'array', 'items': {'$ref': '#/definitions/__schema0'}, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'rules'], 'properties': {'kind': {'type': 'string', 'const': 'any'}, 'rules': {'type': 'array', 'items': {'$ref': '#/definitions/__schema0'}, 'minItems': 1}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'rule'], 'properties': {'kind': {'type': 'string', 'const': 'not'}, 'rule': {'$ref': '#/definitions/__schema0'}}, 'additionalProperties': False}]}, '__schema1': {'anyOf': [{'type': 'object', 'required': ['kind', 'outcome', 'rules'], 'properties': {'kind': {'enum': ['all', 'any'], 'type': 'string'}, 'rules': {'type': 'array', 'items': {'$ref': '#/definitions/__schema1'}, 'minItems': 1}, 'outcome': {'enum': ['met', 'unmet', 'unknown'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'outcome', 'rule'], 'properties': {'kind': {'type': 'string', 'const': 'not'}, 'rule': {'$ref': '#/definitions/__schema1'}, 'outcome': {'enum': ['met', 'unmet', 'unknown'], 'type': 'string'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['kind', 'criterion_id', 'statement', 'outcome'], 'properties': {'kind': {'enum': ['predicate', 'manual', 'constant'], 'type': 'string'}, 'outcome': {'enum': ['met', 'unmet', 'unknown'], 'type': 'string'}, 'statement': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'criterion_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}}, 'additionalProperties': False}]}}, 'additionalProperties': False}
Esquema de entrada
{'type': 'object', 'properties': {'grade': {'enum': ['A+', 'A', 'B+', 'B', 'C+', 'C', 'D', 'F', 'unrated'], 'type': 'string', 'description': 'Exact published report-card grade.'}, 'limit': {'type': 'integer', 'maximum': 25, 'minimum': 1, 'description': 'Maximum results to return; defaults to 10.'}, 'query': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Vendor, service, API, product, capability, blocker, or readiness need.'}, 'entity': {'type': 'string', 'minLength': 1, 'description': 'Current Sourcey Entity slug or immutable Entity ID.'}, 'funnel': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'description': 'Exact Agent Readiness service-use funnel key.'}, 'product': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'description': 'Exact Agent Readiness product key.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['release_id', 'total', 'truncated', 'data'], 'properties': {'data': {'type': 'array', 'items': {'type': 'object', 'required': ['entity', 'profile'], 'properties': {'entity': {'type': 'object', 'required': ['entity_id', 'slug', 'name', 'category', 'revision_digest'], 'properties': {'name': {'type': 'string', 'minLength': 1}, 'slug': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'category': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'entity_id': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'identity_assurance': {'type': 'object', 'required': ['status', 'assurance_id', 'verified_at', 'identity_epoch_digest', 'method_policy_digest', 'coverage_policy_digest', 'event_id', 'receipt_digest'], 'properties': {'status': {'type': 'string', 'const': 'verified'}, 'event_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'verified_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'assurance_id': {'type': 'string', 'pattern': '^[a-z0-9][a-z0-9_-]*$'}, 'receipt_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'method_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'identity_epoch_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'coverage_policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'profile': {'type': 'object', 'required': ['agent_readiness_profile_id', 'entity_id', 'scope', 'declaration_revision_digest', 'lifecycle', 'effective_from', 'revision_digest', 'policy_digest', 'policy_version', 'policy_as_of', 'overall_outcome', 'public_state', 'state_label', 'grade', 'grade_derivation', 'publication', 'coverage', 'last_tested_at', 'freshness', 'canonical_url', 'projection_digest', 'stages', 'provenance'], 'properties': {'grade': {'enum': ['A+', 'A', 'B+', 'B', 'C+', 'C', 'D', 'F', 'unrated'], 'type': 'string'}, 'scope': {'type': 'object', 'required': ['product', 'funnel'], 'properties': {'funnel': {'type': 'object', 'required': ['key', 'name'], 'properties': {'key': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'name': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}, 'product': {'type': 'object', 'required': ['key', 'name'], 'properties': {'key': {'type': 'string', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$'}, 'name': {'type': 'string', 'maxLength': 160, 'minLength': 1}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'stages': {'type': 'array', 'items': {'type': 'object', 'required': ['stage', 'stage_label', 'outcome', 'public_state', 'state_label', 'primary_finding'], 'properties': {'stage': {'enum': ['evaluate', 'sign_up', 'pay', 'provision', 'operate'], 'type': 'string'}, 'outcome': {'enum': ['pass', 'constrained', 'fail', 'unknown', 'not_applicable'], 'type': 'string'}, 'stage_label': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'state_label': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'public_state': {'enum': ['ready', 'limited', 'blocked', 'unknown', 'not_applicable'], 'type': 'string'}, 'primary_finding': {'type': 'object', 'required': ['signal_code', 'condition', 'finding'], 'properties': {'context': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'finding': {'type': 'string', 'maxLength': 280, 'minLength': 1}, 'condition': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}}, 'additionalProperties': False}, 'maxItems': 5, 'minItems': 5}, 'coverage': {'type': 'object', 'required': ['status', 'required_signals', 'covered_signals', 'ratio', 'barrier_signals', 'verified_barrier_signals', 'barrier_ratio'], 'properties': {'ratio': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'status': {'enum': ['complete', 'incomplete'], 'type': 'string'}, 'barrier_ratio': {'type': 'number', 'maximum': 1, 'minimum': 0}, 'barrier_signals': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'covered_signals': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'required_signals': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'verified_barrier_signals': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}}, 'additionalProperties': False}, 'entity_id': {'type': 'string', 'pattern': '^ent_[0-9a-hjkmnp-tv-z]{26}$'}, 'freshness': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'lifecycle': {'enum': ['active', 'ended', 'withdrawn'], 'type': 'string'}, 'provenance': {'type': 'object', 'required': ['freshness', 'dispute', 'vendor_attestation'], 'properties': {'dispute': {'enum': ['none', 'open', 'resolved'], 'type': 'string'}, 'freshness': {'enum': ['fresh', 'stale', 'unknown'], 'type': 'string'}, 'vendor_attestation': {'oneOf': [{'type': 'object', 'required': ['status'], 'properties': {'status': {'type': 'string', 'const': 'none'}}, 'additionalProperties': False}, {'type': 'object', 'required': ['status', 'event_id', 'attested_at'], 'properties': {'status': {'type': 'string', 'const': 'current'}, 'event_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'attested_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}}, 'additionalProperties': False}]}}, 'additionalProperties': False}, 'publication': {'type': 'object', 'required': ['visibility', 'reasons'], 'properties': {'reasons': {'type': 'array', 'items': {'enum': ['lifecycle_not_active', 'coverage_incomplete', 'required_evidence_not_supported', 'freshness_not_fresh', 'unrated', 'no_useful_finding', 'open_dispute'], 'type': 'string'}}, 'visibility': {'enum': ['discoverable', 'resolvable_only', 'private'], 'type': 'string'}}, 'additionalProperties': False}, 'state_label': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'policy_as_of': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'public_state': {'enum': ['ready', 'limited', 'blocked', 'unknown', 'not_applicable'], 'type': 'string'}, 'canonical_url': {'type': 'string', 'format': 'uri'}, 'policy_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'effective_from': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'last_tested_at': {'type': 'string', 'format': 'date-time', 'pattern': '^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$'}, 'policy_version': {'type': 'string', 'minLength': 1}, 'overall_outcome': {'enum': ['pass', 'constrained', 'fail', 'unknown', 'not_applicable'], 'type': 'string'}, 'primary_finding': {'type': 'object', 'required': ['stage', 'stage_label', 'public_state', 'finding'], 'properties': {'stage': {'enum': ['evaluate', 'sign_up', 'pay', 'provision', 'operate'], 'type': 'string'}, 'blocker': {'type': 'object', 'required': ['signal_code', 'code', 'explanation'], 'properties': {'code': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'explanation': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}, 'finding': {'type': 'object', 'required': ['signal_code', 'condition', 'finding'], 'properties': {'context': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'finding': {'type': 'string', 'maxLength': 280, 'minLength': 1}, 'condition': {'type': 'string', 'maxLength': 160, 'minLength': 1}, 'signal_code': {'type': 'string', 'pattern': '^[a-z0-9]+(?:[._-][a-z0-9]+)*$'}}, 'additionalProperties': False}, 'stage_label': {'type': 'string', 'maxLength': 40, 'minLength': 1}, 'public_state': {'enum': ['limited', 'blocked'], 'type': 'string'}}, 'additionalProperties': False}, 'revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'grade_derivation': {'type': 'object', 'required': ['label', 'explanation', 'coverage_rule', 'outcome_rule'], 'properties': {'label': {'type': 'string', 'maxLength': 80, 'minLength': 1}, 'explanation': {'type': 'string', 'maxLength': 500, 'minLength': 1}, 'outcome_rule': {'type': 'string', 'maxLength': 280, 'minLength': 1}, 'coverage_rule': {'type': 'string', 'maxLength': 280, 'minLength': 1}}, 'additionalProperties': False}, 'projection_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}, 'agent_readiness_profile_id': {'type': 'string', 'pattern': '^arp_[0-9a-hjkmnp-tv-z]{26}$'}, 'declaration_revision_digest': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}}, 'additionalProperties': False}}, 'total': {'type': 'integer', 'maximum': 9007199254740991, 'minimum': 0}, 'truncated': {'type': 'boolean'}, 'release_id': {'type': 'string', 'pattern': '^sha256:[a-f0-9]{64}$'}}, 'additionalProperties': False}
Cambios recientes en herramientas
Servidores MCP similares
Stratalize Healthcare
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Governance
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Oracle
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Real Estate
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
Stratalize Crypto & DeFi
Retired Stratalize server exposing benchmark, market intelligence, compliance, financial, healthcare, legal, real estate, and eco…
US Company Intelligence for AI Agents (SEC EDGAR, x402)
Offers pay-per-call web extraction, search and LLM tools plus French company, property, procurement, marketplace and security dat…
editalmd
Searches Brazilian public procurement opportunities and documents, tracks deadlines and alerts, and supports tender document acce…
FirmLedger
Searches and manages verified business directory listings, company profiles, leads, jobs, watchlists, analytics, advertising, and…