{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/bond/main/json-schema/bond-businesses-post-serializer-schema.json",
"title": "BusinessesPostSerializer",
"x-generated": "2026-10-14",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/bond-business-openapi.yml#/components/schemas/BusinessesPostSerializer",
"type": "object",
"properties": {
"brand_business_id": {
"type": "string",
"description": "The brand's UUID for the business."
},
"ein": {
"type": "string",
"description": "The Tax Identification Number"
},
"legal_business_name": {
"type": "string",
"description": "The legal business name"
},
"dba_business_name": {
"type": "string",
"description": "The doing-business-as name (trade name)"
},
"business_type": {
"type": "string",
"description": "The business type",
"enum": [
"cooperative",
"limited_liability_company",
"sole_proprietorship",
"partnership",
"limited_partnership",
"corporation",
"nonprofit_organization"
]
},
"date_established": {
"type": "string",
"description": "Date of incorporation in YYYY-MM-DD format",
"format": "string"
},
"phone": {
"type": "string",
"description": "Phone number"
},
"email": {
"type": "string",
"description": "Business contact email"
},
"website": {
"type": "string",
"description": "The official website"
},
"industry_type": {
"type": "string",
"description": "Type of business conducted"
},
"number_of_employees": {
"type": "string",
"description": "Description of number of employees at firm, as a range or value"
},
"addresses": {
"type": "array",
"items": {
"$ref": "#/$defs/Address"
}
},
"beneficial_owners": {
"type": "array",
"items": {
"$ref": "#/$defs/BeneficialOwnerPostSerializer"
}
}
},
"required": [
"legal_business_name"
],
"$defs": {
"Address": {
"title": "",
"type": "object",
"properties": {
"address_type": {
"type": "string",
"description": "Address type is one of the following : MAILING, PHYSICAL, REGISTERED",
"enum": [
"MAILING",
"PHYSICAL",
"REGISTERED"
]
},
"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?"
}
},
"required": [
"address_type",
"street",
"city",
"state",
"zip_code",
"country",
"is_primary"
]
},
"BeneficialOwnerPostSerializer": {
"type": "object",
"properties": {
"dob": {
"type": "string",
"description": "Date of birth in YYYY-MM-DD format.",
"format": "string"
},
"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."
},
"addresses": {
"type": "array",
"items": {
"$ref": "#/$defs/Address"
}
}
},
"required": [
"first_name",
"last_name",
"addresses"
]
}
}
}