{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/telnyx/main/json-schema/telnyx-telnyx-brand-schema.json",
  "title": "TelnyxBrand",
  "description": "Telnyx-specific extensions to The Campaign Registry's `Brand` type",
  "x-generated": "2026-10-08",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/telnyx-brands-api-openapi.yml#/components/schemas/TelnyxBrand",
  "properties": {
    "altBusinessId": {
      "description": "Alternate business identifier such as DUNS, LEI, or GIIN",
      "maxLength": 50,
      "title": "Altbusinessid",
      "type": "string"
    },
    "altBusinessIdType": {
      "$ref": "#/$defs/AltBusinessIdType"
    },
    "brandId": {
      "description": "Unique identifier assigned to the brand.",
      "title": "Brandid",
      "type": "string"
    },
    "brandRelationship": {
      "allOf": [
        {
          "$ref": "#/$defs/BrandRelationship"
        }
      ],
      "description": "Brand relationship to the CSP"
    },
    "businessContactEmail": {
      "description": "Business contact email.\n\nRequired if `entityType` is `PUBLIC_PROFIT`.",
      "title": "BusinessContactEmail",
      "type": "string"
    },
    "city": {
      "description": "City name",
      "maxLength": 100,
      "title": "City",
      "type": "string"
    },
    "companyName": {
      "description": "(Required for Non-profit/private/public) Legal company name.",
      "maxLength": 100,
      "title": "Companyname",
      "type": "string"
    },
    "country": {
      "description": "ISO2 2 characters country code. Example: US - United States",
      "maxLength": 2,
      "title": "Country",
      "type": "string"
    },
    "createdAt": {
      "description": "Date and time that the brand was created at.",
      "type": "string"
    },
    "cspId": {
      "description": "Unique identifier assigned to the csp by the registry.",
      "title": "Cspid",
      "type": "string"
    },
    "displayName": {
      "description": "Display or marketing name of the brand.",
      "maxLength": 100,
      "title": "Displayname",
      "type": "string"
    },
    "ein": {
      "description": "(Required for Non-profit) Government assigned corporate tax ID. EIN is 9-digits in U.S.",
      "maxLength": 20,
      "title": "Ein",
      "type": "string"
    },
    "email": {
      "description": "Valid email address of brand support contact.",
      "maxLength": 100,
      "title": "Email",
      "type": "string"
    },
    "entityType": {
      "allOf": [
        {
          "$ref": "#/$defs/EntityType"
        }
      ],
      "description": "Entity type behind the brand. This is the form of business establishment."
    },
    "failureReasons": {
      "description": "Failure reasons for brand",
      "title": "failureReasons",
      "type": "string"
    },
    "firstName": {
      "description": "First name of business contact.",
      "maxLength": 100,
      "title": "Firstname",
      "type": "string"
    },
    "identityStatus": {
      "$ref": "#/$defs/BrandIdentityStatus"
    },
    "ipAddress": {
      "description": "IP address of the browser requesting to create brand identity.",
      "maxLength": 50,
      "title": "Ipaddress",
      "type": "string"
    },
    "isReseller": {
      "default": false,
      "description": "Indicates whether this brand is known to be a reseller",
      "title": "Isreseller",
      "type": "boolean"
    },
    "lastName": {
      "description": "Last name of business contact.",
      "maxLength": 100,
      "title": "Lastname",
      "type": "string"
    },
    "mobilePhone": {
      "description": "Valid mobile phone number in e.164 international format.",
      "maxLength": 20,
      "title": "Mobilephone",
      "type": "string"
    },
    "mock": {
      "default": false,
      "description": "Mock brand for testing purposes",
      "title": "Mock",
      "type": "boolean"
    },
    "optionalAttributes": {
      "$ref": "#/$defs/BrandOptionalAttributes"
    },
    "phone": {
      "description": "Valid phone number in e.164 international format.",
      "maxLength": 20,
      "title": "Phone",
      "type": "string"
    },
    "postalCode": {
      "description": "Postal codes. Use 5 digit zipcode for United States",
      "maxLength": 10,
      "title": "Postalcode",
      "type": "string"
    },
    "referenceId": {
      "description": "Unique identifier Telnyx assigned to the brand - the brandId",
      "title": "Referenceid",
      "type": "string"
    },
    "state": {
      "description": "State. Must be 2 letters code for United States.",
      "maxLength": 20,
      "title": "State",
      "type": "string"
    },
    "status": {
      "description": "Status of the brand",
      "enum": [
        "OK",
        "REGISTRATION_PENDING",
        "REGISTRATION_FAILED"
      ],
      "title": "status",
      "type": "string"
    },
    "stockExchange": {
      "allOf": [
        {
          "$ref": "#/$defs/StockExchange"
        }
      ],
      "description": "(Required for public company) stock exchange."
    },
    "stockSymbol": {
      "description": "(Required for public company) stock symbol.",
      "maxLength": 10,
      "title": "Stocksymbol",
      "type": "string"
    },
    "street": {
      "description": "Street number and name.",
      "maxLength": 100,
      "title": "Street",
      "type": "string"
    },
    "tcrBrandId": {
      "description": "Unique identifier assigned to the brand by the registry.",
      "title": "TcrBrandid",
      "type": "string"
    },
    "universalEin": {
      "description": "Universal EIN of Brand, Read Only.",
      "title": "Universalein",
      "type": "string"
    },
    "updatedAt": {
      "description": "Date and time that the brand was last updated at.",
      "type": "string"
    },
    "vertical": {
      "description": "Vertical or industry segment of the brand.",
      "maxLength": 50,
      "title": "Vertical",
      "type": "string"
    },
    "webhookFailoverURL": {
      "description": "Failover webhook to which brand status updates are sent.",
      "title": "WebhookFailoverURL",
      "type": "string"
    },
    "webhookURL": {
      "description": "Webhook to which brand status updates are sent.",
      "title": "WebhookURL",
      "type": "string"
    },
    "website": {
      "description": "Brand website URL.",
      "maxLength": 100,
      "title": "Website",
      "type": "string"
    }
  },
  "required": [
    "entityType",
    "displayName",
    "country",
    "email",
    "brandRelationship",
    "vertical"
  ],
  "type": "object",
  "$defs": {
    "AltBusinessIdType": {
      "description": "An enumeration.",
      "enum": [
        "NONE",
        "DUNS",
        "GIIN",
        "LEI"
      ],
      "title": "AltBusinessIdType",
      "type": "string"
    },
    "BrandIdentityStatus": {
      "description": "The verification status of an active brand",
      "enum": [
        "VERIFIED",
        "UNVERIFIED",
        "SELF_DECLARED",
        "VETTED_VERIFIED"
      ],
      "title": "BrandIdentityStatus",
      "type": "string"
    },
    "BrandOptionalAttributes": {
      "properties": {
        "taxExemptStatus": {
          "description": "The tax exempt status of the brand",
          "title": "Taxexemptstatus",
          "type": "string"
        }
      },
      "title": "BrandOptionalAttributes",
      "type": "object"
    },
    "BrandRelationship": {
      "description": "Brand relationship to the CSP.",
      "enum": [
        "BASIC_ACCOUNT",
        "SMALL_ACCOUNT",
        "MEDIUM_ACCOUNT",
        "LARGE_ACCOUNT",
        "KEY_ACCOUNT"
      ],
      "title": "BrandRelationship",
      "type": "string"
    },
    "EntityType": {
      "description": "Entity type behind the brand. This is the form of business establishment.",
      "enum": [
        "PRIVATE_PROFIT",
        "PUBLIC_PROFIT",
        "NON_PROFIT",
        "GOVERNMENT",
        "SOLE_PROPRIETOR"
      ],
      "title": "EntityType",
      "type": "string"
    },
    "StockExchange": {
      "description": "(Required for public company) stock exchange.",
      "enum": [
        "NONE",
        "NASDAQ",
        "NYSE",
        "AMEX",
        "AMX",
        "ASX",
        "B3",
        "BME",
        "BSE",
        "FRA",
        "ICEX",
        "JPX",
        "JSE",
        "KRX",
        "LON",
        "NSE",
        "OMX",
        "SEHK",
        "SSE",
        "STO",
        "SWX",
        "SZSE",
        "TSX",
        "TWSE",
        "VSE"
      ],
      "title": "StockExchange",
      "type": "string"
    }
  }
}