{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/bond/main/json-schema/bond-customer-patch-schema.json", "title": "customer-patch", "x-generated": "2026-10-14", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/bond-customer-openapi.yml#/components/schemas/customer-patch", "type": "object", "properties": { "dob": { "type": [ "string", "null" ], "format": "date", "description": "Birthday in YYYY-MM-DD format." }, "first_name": { "type": "string", "description": "First name.
Has a 1 to 20-character limit. Must start with an alphabet and may only contain alphabets, spaces, and apostrophes." }, "middle_name": { "type": "string", "description": "Middle name.
Has a 20-character limit. Must start with an alphabet and may only contain alphabets, spaces, and apostrophes." }, "last_name": { "type": "string", "description": "Last name.
Has a 2 to 20-character limit. Must start with an alphabet and may only contain alphabets, spaces, and apostrophes." }, "phone": { "type": "string", "description": "Numbers only or dash-separated are acceptable" }, "phone_country_code": { "type": "string", "description": "Must be a string of 1-3 digits" }, "email": { "type": "string", "description": "Must be a valid email address" }, "ssn": { "type": "string", "description": "Must be in ######### or ###-##-#### format" }, "addresses": { "type": "array", "description": "At least one address", "items": { "$ref": "#/$defs/address" } } }, "$defs": { "address": { "type": "object", "title": "Address", "properties": { "address_id": { "type": "string", "description": "id for address resource", "readOnly": true }, "address_type": { "type": "string", "description": "Address type is one of the following : MAILING, PHYSICAL", "enum": [ "MAILING", "PHYSICAL" ] }, "street": { "type": "string", "description": "Has a 1 to 40-character limit. May only contain alphanumerics and the special characters `. , _ - #`" }, "street2": { "type": "string", "description": "Has a 40-character limit. May only contain alphanumerics and the special characters `. , _ - #`" }, "city": { "type": "string", "description": "Has a 2 to 40-character limit. May contain only alphanumerics, `-`, `_`,`.`, and spaces", "minLength": 2, "maxLength": 40 }, "state": { "type": "string", "description": "Has a 2-character limit for US address.
Has a 20-character limit for non US address." }, "zip_code": { "type": "string", "description": "zip code in 5-digit (12345) or 9-digit (12345-1234) format for US address.
Has a 2 to 20-character limit for non US address." }, "country": { "type": "string", "description": "ISO 3166-1 alpha-2 country code.
Has a 2-character limit." }, "is_primary": { "type": "boolean", "description": "Is Primary Address?" }, "date_created": { "type": "string", "description": "Date time address was created", "readOnly": true } }, "required": [ "address_type", "street", "city", "state", "zip_code", "country", "is_primary" ] } } }