{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/barclays/main/json-schema/barclays-prescreen-offers-request-schema.json", "title": "PrescreenOffersRequest", "description": "Prescreen a customer against an existing offer", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/barclays-applyproductexternalapi-oas-api-openapi.yml#/components/schemas/PrescreenOffersRequest", "type": "object", "additionalProperties": false, "deprecated": false, "properties": { "data": { "$ref": "#/$defs/PrescreenOffersRequestAttributes" } }, "required": [ "data" ], "nullable": false, "$defs": { "Address": { "type": "object", "additionalProperties": false, "deprecated": false, "description": "Permanent address Info", "properties": { "zip": { "type": "string", "description": "Applicant’s Address Zip", "maxLength": 9, "minLength": 5, "pattern": "^[0-9]{5,9}$" }, "state": { "$ref": "#/$defs/StateEnums" }, "city": { "type": "string", "description": "Applicant's City", "maxLength": 32, "minLength": 1, "pattern": "^(?!\\s)[a-zA-Z'\\s]{1,32}(? pair", "maxLength": 100, "minLength": 1, "pattern": "^[a-zA-Z0-9_]{1,100}$" }, "value": { "type": "string", "description": "value of key in pair", "maxLength": 200, "minLength": 1, "pattern": "^[\\w\\!\\@\\#\\$\\&\\*\\(\\)\\+\\=\\'\\\"\\.\\,\\s\\/\\-]{1,200}$" } }, "required": [ "name", "value" ], "nullable": false }, "PrescreenOffersRequestAttributes": { "type": "object", "additionalProperties": false, "deprecated": false, "description": "Prescreen a customer against an existing offer", "properties": { "offerIds": { "type": "array", "description": "List of Offer Id against which customer needs to be pre-screened", "items": { "type": "string", "maxLength": 36, "minLength": 36, "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$" }, "maxItems": 100, "minItems": 1 }, "firstName": { "type": "string", "description": "Applicant's First name", "maxLength": 32, "minLength": 2, "pattern": "^[\\-a-zA-Z'\\s]{2,32}$" }, "lastName": { "type": "string", "description": "Applicant's Last Name", "maxLength": 32, "minLength": 2, "pattern": "^[\\-a-zA-Z'\\s]{2,32}$" }, "primaryPhoneNumber": { "type": "string", "description": "Applicant's Phone Number", "maxLength": 10, "minLength": 10, "pattern": "^[0-9]{10,10}$" }, "emailAddress": { "type": "string", "description": "Applicant's Email Address", "maxLength": 80, "minLength": 5, "pattern": "^(?=.{5,80}$)^((?![\\-\\_\\.])(?!.*[\\-\\_\\.]{2})(?!.*[\\-\\_\\.]$)[\\-\\w\\.]{1,})\\@(([a-zA-Z0-9\\.\\-]{1,}(\\.[a-zA-Z0-9]{1,4})))$" }, "address": { "$ref": "#/$defs/Address" }, "prescreenAttributes": { "type": "array", "description": "Attributes specific to product/partner, if configured to receive during the partner on boarding.", "items": { "$ref": "#/$defs/NameValueAttributePair" }, "maxItems": 100, "minItems": 0 } }, "required": [ "firstName", "lastName", "offerIds" ], "nullable": false }, "StateEnums": { "type": "string", "description": "Applicant's State", "enum": [ "AL", "AK", "AA", "AE", "AP", "AZ", "AR", "CA", "CO", "CT", "DE", "DC", "FL", "GA", "HI", "ID", "IL", "IN", "IA", "KS", "KY", "LA", "ME", "MD", "MA", "MI", "MN", "MS", "MO", "MT", "NE", "NV", "NH", "NJ", "NM", "NY", "NC", "ND", "OH", "OK", "OR", "PA", "PR", "RI", "SC", "SD", "TN", "TX", "UT", "VT", "VA", "VI", "WA", "WV", "WI", "WY" ] } } }