{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/bbandt-corp/main/json-schema/bbandt-corp-customer-schema.json", "title": "Customer entity", "description": "Represents a customer", "x-generated": "2026-10-12", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/bbandt-corp-personal-information-api-openapi.yml#/components/schemas/Customer", "type": "object", "x-fdx-csdf-account-categories": [ "ANY" ], "properties": { "customerId": { "$ref": "#/$defs/Identifier", "description": "Long-term persistent identity of the customer. This identity must be unique to the owning institution", "x-fdx-csdf-account-categories": [ "ANY" ] }, "name": { "$ref": "#/$defs/CustomerName", "description": "The customer's name", "x-fdx-csdf-account-categories": [ "ANY" ] }, "email": { "type": "array", "items": { "type": "string" }, "description": "An array of the customer's electronic mail addresses", "x-fdx-csdf-account-categories": [ "ANY" ] }, "addresses": { "type": "array", "items": { "$ref": "#/$defs/DeliveryAddress" }, "description": "An array of the customer's physical mail addresses", "x-fdx-csdf-account-categories": [ "ANY" ] }, "telephones": { "type": "array", "items": { "$ref": "#/$defs/TelephoneNumber" }, "description": "An array of the customer's telephone numbers", "x-fdx-csdf-account-categories": [ "ANY" ] } }, "$defs": { "Address": { "title": "Address", "description": "Postal address", "type": "object", "x-fdx-csdf-account-categories": [ "ANY" ], "properties": { "line1": { "$ref": "#/$defs/String64", "description": "Address line 1", "x-fdx-csdf-account-categories": [ "ANY" ] }, "line2": { "$ref": "#/$defs/String64", "description": "Address line 2", "x-fdx-csdf-account-categories": [ "ANY" ] }, "line3": { "$ref": "#/$defs/String64", "description": "Address line 3", "x-fdx-csdf-account-categories": [ "ANY" ] }, "city": { "$ref": "#/$defs/String64", "description": "City", "x-fdx-csdf-account-categories": [ "ANY" ] }, "region": { "$ref": "#/$defs/String64", "description": "State or province or territory. Replaces \"state\" property. From [Universal Postal Union](https://www.upu.int/en/Postal-Solutions/Programmes-Services/Addressing-Solutions#addressing-s42-standard) as of 2-26-2020, [S42 International Address Standards](https://www.upu.int/UPU/media/upu/documents/PostCode/S42_International-Addressing-Standards.pdf). For U.S. addresses can be 2-character code from '#/components/schemas/StateCode'", "x-fdx-csdf-account-categories": [ "ANY" ] }, "postalCode": { "type": "string", "maxLength": 16, "description": "Postal code", "x-fdx-csdf-account-categories": [ "ANY" ] }, "country": { "$ref": "#/$defs/Iso3166CountryCode", "description": "Country code", "x-fdx-csdf-account-categories": [ "ANY" ] } } }, "CustomerName": { "title": "Customer Name entity", "description": "The name of an individual in their role as a customer", "type": "object", "x-fdx-csdf-account-categories": [ "ANY" ], "allOf": [ { "$ref": "#/$defs/IndividualName" }, { "type": "object", "properties": { "company": { "type": "string", "description": "Company name", "x-fdx-csdf-account-categories": [ "ANY" ] } } } ] }, "DeliveryAddress": { "title": "Delivery Address", "description": "A delivery address and its location type", "type": "object", "x-fdx-csdf-account-categories": [ "ANY" ], "allOf": [ { "$ref": "#/$defs/Address" }, { "type": "object", "properties": { "type": { "$ref": "#/$defs/DeliveryAddressType", "description": "Type of address location. One of BUSINESS, HOME, MAILING", "x-fdx-csdf-account-categories": [ "ANY" ] } } } ] }, "DeliveryAddressType": { "title": "Delivery Address Type", "description": "The location type of an address", "type": "string", "x-fdx-csdf-account-categories": [ "ANY" ], "enum": [ "HOME", "BUSINESS", "MAILING" ] }, "Identifier": { "title": "Identifier", "description": "Value for a unique identifier", "type": "string", "maxLength": 256, "x-fdx-csdf-account-categories": [ "ANY" ] }, "IndividualName": { "title": "Individual name", "description": "First name, middle initial, last name, suffix fields", "type": "object", "x-fdx-csdf-account-categories": [ "ANY" ], "properties": { "first": { "description": "First name", "type": "string", "x-fdx-csdf-account-categories": [ "ANY" ] }, "middle": { "description": "Middle initial", "type": "string", "x-fdx-csdf-account-categories": [ "ANY" ] }, "last": { "description": "Last name", "type": "string", "x-fdx-csdf-account-categories": [ "ANY" ] } } }, "Iso3166CountryCode": { "title": "ISO 3166 Country Code", "description": "ISO 3166-1 alpha-2 codes as of April 5, 2023, from officially assigned Country Codes on [ISO Online Browsing Platform](https://www.iso.org/obp/ui/). Change log is at [ISO 3166 Maintenance Agency](https://www.iso.org/fr/committee/48750.html?t=3V3rukDb61p05Wd6ojyTRvE0S3Yg_fZgUjrLjHWcd9-mDmTKHOGjbX3nEJ3SqHar&view=documents#section-isodocuments-top)", "type": "string", "x-fdx-csdf-account-categories": [ "ANY" ], "enum": [ "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW" ] }, "String64": { "title": "String 64", "description": "String of maximum length 64", "type": "string", "maxLength": 64, "x-fdx-csdf-account-categories": [ "ANY" ] }, "TelephoneNumber": { "title": "Telephone Number", "description": "Standard for international phone numbers", "type": "object", "x-fdx-csdf-account-categories": [ "ANY" ], "properties": { "type": { "$ref": "#/$defs/TelephoneNumberType", "description": "Type of phone number: HOME, BUSINESS, CELL, FAX", "x-fdx-csdf-account-categories": [ "ANY" ] }, "number": { "type": "string", "maxLength": 15, "pattern": "\\d+", "description": "Telephone subscriber number defined by ITU-T recommendation E.164", "x-fdx-csdf-account-categories": [ "ANY" ] } } }, "TelephoneNumberType": { "title": "Telephone Number Type", "description": "Purpose or type of telephone number", "type": "string", "x-fdx-csdf-account-categories": [ "ANY" ], "enum": [ "BUSINESS", "CELL", "FAX", "HOME" ] } } }