openapi: 3.1.0 info: contact: email: support@telnyx.com description: Telnyx provides global communications and connectivity APIs for developers — including SIP trunking, programmable voice, SMS, MMS, WhatsApp Business Messaging, Call Control, Fax, Wireless (IoT & eSIM), Phone Numbers (DID provisioning & porting), Emergency Services, and Network APIs for private interconnects and edge connectivity. Build, scale, and manage voice, messaging, and data networks with Telnyx's carrier-grade global infrastructure and API-first platform. title: Telnyx Access Tokens Brands API version: 2.0.0 x-endpoint-cost: light servers: - description: Version 2.0.0 of the Telnyx API url: https://api.telnyx.com/v2 security: - bearerAuth: [] tags: - description: Brand operations name: Brands paths: /10dlc/brand: get: description: This endpoint is used to list all brands associated with your organization. operationId: GetBrands parameters: - in: query name: page required: false schema: default: 1 minimum: 1 title: Page type: integer - description: number of records per page. maximum of 500 in: query name: recordsPerPage required: false schema: default: 10 description: number of records per page. maximum of 500 title: Recordsperpage type: integer - description: Specifies the sort order for results. If not given, results are sorted by createdAt in descending order. example: -identityStatus in: query name: sort required: false schema: default: -createdAt description: Specifies the sort order for results. If not given, results are sorted by created_at in descending order. enum: - assignedCampaignsCount - -assignedCampaignsCount - brandId - -brandId - createdAt - -createdAt - displayName - -displayName - identityStatus - -identityStatus - status - -status - tcrBrandId - -tcrBrandId title: Sort type: string - in: query name: displayName required: false schema: title: Displayname type: string - in: query name: entityType required: false schema: title: Entitytype type: string - in: query name: state required: false schema: title: State type: string - in: query name: country required: false schema: title: Country type: string - description: Filter results by the Telnyx Brand id in: query name: brandId required: false schema: example: 826ef77a-348c-445b-81a5-a9b13c68fbfe title: BrandId type: string - description: Filter results by the TCR Brand id in: query name: tcrBrandId required: false schema: example: BBAND1 title: TCRBrandId type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/BrandRecordSetCSP' description: Successful Response 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: List Brands tags: - Brands x-latency-category: responsive post: description: This endpoint is used to create a new brand. A brand is an entity created by The Campaign Registry (TCR) that represents an organization or a company. It is this entity that TCR created campaigns will be associated with. Each brand creation will entail an upfront, non-refundable $4 expense. operationId: CreateBrandPost parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/CreateBrand' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/TelnyxBrand' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Create Brand tags: - Brands x-latency-category: responsive /10dlc/brand/feedback/{brandId}: get: description: "Get feedback about a brand by ID. This endpoint can be used after creating or revetting\na brand.\n\nPossible values for `.category[].id`:\n\n* `TAX_ID` - Data mismatch related to tax id and its associated properties.\n* `STOCK_SYMBOL` - Non public entity registered as a public for profit entity or\n the stock information mismatch.\n* `GOVERNMENT_ENTITY` - Non government entity registered as a government entity.\n Must be a U.S. government entity.\n* `NONPROFIT` - Not a recognized non-profit entity. No IRS tax-exempt status\n found.\n* `OTHERS` - Details of the data misrepresentation if any." operationId: GetBrandFeedbackById parameters: - in: path name: brandId required: true schema: title: Brandid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/BrandFeedback' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Get Brand Feedback By Id tags: - Brands x-latency-category: responsive /10dlc/brand/smsOtp/{referenceId}: get: description: 'Query the status of an SMS OTP (One-Time Password) for Sole Proprietor brand verification. This endpoint allows you to check the delivery and verification status of an OTP sent during the Sole Proprietor brand verification process. You can query by either: * `referenceId` - The reference ID returned when the OTP was initially triggered * `brandId` - Query parameter for portal users to look up OTP status by Brand ID The response includes delivery status, verification dates, and detailed delivery information.' operationId: GetBrandSmsOtpStatus parameters: - description: The reference ID returned when the OTP was initially triggered in: path name: referenceId required: true schema: example: OTP4B2001 title: Referenceid type: string - description: Filter by Brand ID for easier lookup in portal applications in: query name: brandId required: false schema: example: B123ABC title: Brandid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/BrandSmsOtpStatus' description: Successful Response '404': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: OTP reference not found '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Get Brand SMS OTP Status tags: - Brands x-latency-category: responsive /10dlc/brand/{brandId}: delete: description: Delete Brand. This endpoint is used to delete a brand. Note the brand cannot be deleted if it contains one or more active campaigns, the campaigns need to be inactive and at least 3 months old due to billing purposes. operationId: DeleteBrand parameters: - in: path name: brandId required: true schema: title: Brandid type: string responses: '204': description: Brand removed successfully '400': content: application/json: schema: $ref: '#/components/schemas/10dlc_Error' description: Brand cannot be deleted '404': content: application/json: schema: $ref: '#/components/schemas/10dlc_Error' description: Brand not found '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Delete Brand tags: - Brands x-latency-category: responsive get: description: Retrieve a brand by `brandId`. operationId: GetBrand parameters: - in: path name: brandId required: true schema: title: Brandid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/TelnyxBrandWithCampaignsCount' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Get Brand tags: - Brands x-latency-category: responsive put: description: Update a brand's attributes by `brandId`. operationId: UpdateBrand parameters: - in: path name: brandId required: true schema: title: Brandid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdateBrand' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/TelnyxBrand' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Update Brand tags: - Brands x-latency-category: responsive /10dlc/brand/{brandId}/2faEmail: post: operationId: ResendBrand2faEmail parameters: - in: path name: brandId required: true schema: title: Brandid type: string responses: '200': description: Successful Response 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Resend brand 2FA email tags: - Brands x-latency-category: responsive /10dlc/brand/{brandId}/externalVetting: get: description: Get list of valid external vetting record for a given brand operationId: ListExternalVettings parameters: - in: path name: brandId required: true schema: title: Brandid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalVettingList' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: List External Vettings tags: - Brands x-latency-category: responsive post: description: 'Order new external vetting for a brand. Duplicate orders for the same `evpId` and `vettingClass` return `400` with code `10012` if a successful vetting exists within the last 180 days, or one is currently being processed. Failed vettings can be retried immediately.' operationId: PostOrderExternalVetting parameters: - in: path name: brandId required: true schema: title: Brandid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/OrderExternalVetting' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalVetting' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Order Brand External Vetting tags: - Brands x-latency-category: responsive put: description: 'This operation can be used to import an external vetting record from a TCR-approved vetting provider. If the vetting provider confirms validity of the record, it will be saved with the brand and will be considered for future campaign qualification.' operationId: PutExternalVettingRecord parameters: - in: path name: brandId required: true schema: title: Brandid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/ImportExternalVetting' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/ExternalVetting' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Import External Vetting Record tags: - Brands x-latency-category: responsive /10dlc/brand/{brandId}/revet: put: description: This operation allows you to revet the brand. However, revetting is allowed once after the successful brand registration and thereafter limited to once every 3 months. operationId: RevetBrand parameters: - in: path name: brandId required: true schema: title: Brandid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/TelnyxBrand' description: Successful Response '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Revet Brand tags: - Brands x-latency-category: responsive /10dlc/brand/{brandId}/smsOtp: get: description: 'Query the status of an SMS OTP (One-Time Password) for Sole Proprietor brand verification using the Brand ID. This endpoint allows you to check the delivery and verification status of an OTP sent during the Sole Proprietor brand verification process by looking it up with the brand ID. The response includes delivery status, verification dates, and detailed delivery information. **Note:** This is an alternative to the `/10dlc/brand/smsOtp/{referenceId}` endpoint when you have the Brand ID but not the reference ID.' operationId: GetBrandSmsOtpStatusByBrandId parameters: - description: The Brand ID for which to query OTP status in: path name: brandId required: true schema: example: 4b20019b-043a-78f8-0657-b3be3f4b4002 title: Brandid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/BrandSmsOtpStatus' description: Successful Response '404': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: OTP status not found for this brand '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Get Brand SMS OTP Status by Brand ID tags: - Brands x-latency-category: responsive post: description: 'Trigger or re-trigger an SMS OTP (One-Time Password) for Sole Proprietor brand verification. **Important Notes:** * Only allowed for Sole Proprietor (`SOLE_PROPRIETOR`) brands * Triggers generation of a one-time password sent to the `mobilePhone` number in the brand''s profile * Campaigns cannot be created until OTP verification is complete * US/CA numbers only for real OTPs; mock brands can use non-US/CA numbers for testing * Returns a `referenceId` that can be used to check OTP status via the GET `/10dlc/brand/smsOtp/{referenceId}` endpoint **Use Cases:** * Initial OTP trigger after Sole Proprietor brand creation * Re-triggering OTP if the user didn''t receive or needs a new code' operationId: TriggerBrandSmsOtp parameters: - description: The Brand ID for which to trigger the OTP in: path name: brandId required: true schema: example: 4b20019b-043a-78f8-0657-b3be3f4b4002 title: Brandid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/TriggerBrandSmsOtpRequest' required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/TriggerBrandSmsOtpResponse' description: Successful Response '400': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Bad Request - Brand is not a Sole Proprietor or invalid mobile phone number '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Trigger Brand SMS OTP tags: - Brands x-latency-category: responsive put: description: "Verify the SMS OTP (One-Time Password) for Sole Proprietor brand verification.\n\n**Verification Flow:**\n\n1. User receives OTP via SMS after triggering\n2. User submits the OTP pin through this endpoint\n3. Upon successful verification:\n - A `BRAND_OTP_VERIFIED` webhook event is sent to the CSP\n - The brand's `identityStatus` changes to `VERIFIED`\n - Campaigns can now be created for this brand\n\n**Error Handling:**\n\nProvides proper error responses for:\n* Invalid OTP pins\n* Expired OTPs\n* OTP verification failures" operationId: VerifyBrandSmsOtp parameters: - description: The Brand ID for which to verify the OTP in: path name: brandId required: true schema: example: 4b20019b-043a-78f8-0657-b3be3f4b4002 title: Brandid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/VerifyBrandSmsOtpRequest' required: true responses: '204': description: OTP verified successfully - No content returned '400': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Bad Request - Invalid or expired OTP '422': content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' description: Validation Error 4XX: $ref: '#/components/responses/10dlc_GenericErrorResponse' summary: Verify Brand SMS OTP tags: - Brands x-latency-category: responsive components: schemas: 10dlc_Error: properties: code: type: string detail: type: string source: properties: parameter: description: Indicates which query parameter caused the error. type: string pointer: description: JSON pointer (RFC6901) to the offending entity. type: string type: object title: type: string required: - code - title type: object ImportExternalVetting: properties: evpId: description: External vetting provider ID for the brand. maxLength: 10 title: Evpid type: string vettingId: description: Unique ID that identifies a vetting transaction performed by a vetting provider. This ID is provided by the vetting provider at time of vetting. title: Vettingid type: string vettingToken: description: Required by some providers for vetting record confirmation. title: Vettingtoken type: string required: - evpId - vettingId title: ImportExternalVetting type: object CreateBrand: properties: businessContactEmail: description: 'Business contact email. Required if `entityType` is `PUBLIC_PROFIT`. Otherwise, it is recommended to either omit this field or set it to `null`.' example: name@example.com title: BusinessContactEmail type: string city: description: City name example: New York maxLength: 100 title: City type: string companyName: description: (Required for Non-profit/private/public) Legal company name. example: ABC Inc. maxLength: 100 title: Companyname type: string country: description: 'ISO2 2 characters country code. Example: US - United States' example: US maxLength: 2 title: Country type: string displayName: description: Display name, marketing name, or DBA name of the brand. example: ABC Mobile maxLength: 100 title: Displayname type: string ein: description: (Required for Non-profit) Government assigned corporate tax ID. EIN is 9-digits in U.S. example: '111111111' maxLength: 20 title: Ein type: string email: description: Valid email address of brand support contact. maxLength: 100 title: Email type: string entityType: allOf: - $ref: '#/components/schemas/EntityType' description: Entity type behind the brand. This is the form of business establishment. firstName: description: First name of business contact. example: John maxLength: 100 title: Firstname type: string ipAddress: description: IP address of the browser requesting to create brand identity. maxLength: 50 title: Ipaddress type: string isReseller: default: false title: Isreseller type: boolean lastName: description: Last name of business contact. example: Smith maxLength: 100 title: Lastname type: string mobilePhone: description: Valid mobile phone number in e.164 international format. example: '+12024567890' maxLength: 20 title: Mobilephone type: string mock: default: false description: Mock brand for testing purposes. Defaults to false. title: Mock type: boolean phone: description: Valid phone number in e.164 international format. example: '+12024567890' maxLength: 20 title: Phone type: string postalCode: description: Postal codes. Use 5 digit zipcode for United States example: '10001' maxLength: 10 title: Postalcode type: string state: description: State. Must be 2 letters code for United States. example: NY maxLength: 20 title: State type: string stockExchange: allOf: - $ref: '#/components/schemas/StockExchange' description: (Required for public company) stock exchange. example: NASDAQ stockSymbol: description: (Required for public company) stock symbol. example: ABC maxLength: 10 title: Stocksymbol type: string street: description: Street number and name. example: '123' maxLength: 100 title: Street type: string vertical: allOf: - $ref: '#/components/schemas/Vertical' description: Vertical or industry segment of the brand. webhookFailoverURL: description: Webhook failover URL for brand status updates. example: https://webhook.com/9010a453-4df8-4be6-a551-1070892888d6 title: WebhookFailoverURL type: string webhookURL: description: Webhook URL for brand status updates. example: https://webhook.com/67ea78a8-9f32-4d04-b62d-f9502e8e5f93 title: WebhookURL type: string website: description: Brand website URL. example: http://www.abcmobile.com maxLength: 100 title: Website type: string required: - entityType - displayName - country - email - vertical title: CreateBrand type: object TelnyxBrandWithCampaignsCount: allOf: - $ref: '#/components/schemas/TelnyxBrand' - properties: assignedCampaignsCount: description: Number of campaigns associated with the brand example: 3 title: AssignedCampaignsCount type: number title: TelnyxBrandWithCampaignsCount type: object ValidationError: properties: loc: items: anyOf: - type: string - type: integer title: Location type: array msg: title: Message type: string type: title: Error Type type: string required: - loc - msg - type title: ValidationError type: object BrandIdentityStatus: description: The verification status of an active brand enum: - VERIFIED - UNVERIFIED - SELF_DECLARED - VETTED_VERIFIED title: BrandIdentityStatus 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 example: NASDAQ title: StockExchange type: string HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' title: Detail type: array title: HTTPValidationError type: object EntityType: description: Entity type behind the brand. This is the form of business establishment. enum: - PRIVATE_PROFIT - PUBLIC_PROFIT - NON_PROFIT - GOVERNMENT - SOLE_PROPRIETOR example: PRIVATE_PROFIT title: EntityType type: string TriggerBrandSmsOtpRequest: description: Request body for triggering a Brand SMS OTP properties: pinSms: description: SMS message template to send the OTP. Must include `@OTP_PIN@` placeholder which will be replaced with the actual PIN example: Your PIN is @OTP_PIN@ title: Pinsms type: string successSms: description: SMS message to send upon successful OTP verification example: Verification successful! title: Successsms type: string required: - pinSms - successSms title: TriggerBrandSmsOtpRequest type: object 10dlc_Errors: properties: errors: items: $ref: '#/components/schemas/10dlc_Error' type: array type: object ExternalVetting: properties: createDate: description: Vetting submission date. This is the date when the vetting request is generated in ISO 8601 format. title: createDate type: string evpId: description: External vetting provider ID for the brand. maxLength: 10 title: Evpid type: string vettedDate: description: Vetting effective date. This is the date when vetting was completed, or the starting effective date in ISO 8601 format. If this date is missing, then the vetting was not complete or not valid. title: vettedDate type: string vettingClass: description: Identifies the vetting classification. title: Vettingclass type: string vettingId: description: Unique ID that identifies a vetting transaction performed by a vetting provider. This ID is provided by the vetting provider at time of vetting. title: vettingId type: string vettingScore: description: Vetting score ranging from 0-100. title: vettingScore type: integer vettingToken: description: Required by some providers for vetting record confirmation. title: vettingToken type: string title: ExternalVetting type: object BrandRelationship: description: Brand relationship to the CSP. enum: - BASIC_ACCOUNT - SMALL_ACCOUNT - MEDIUM_ACCOUNT - LARGE_ACCOUNT - KEY_ACCOUNT title: BrandRelationship type: string BrandFeedback: properties: brandId: description: ID of the brand being queried about example: d88dd2aa-1bb9-4ef0-9ec8-1752b80316a5 title: Brandid type: string category: description: A list of reasons why brand creation/revetting didn't go as planned items: $ref: '#/components/schemas/BrandFeedbackCategory' title: Category type: array required: - brandId - category title: BrandFeedback type: object UpdateBrand: properties: altBusinessId: description: Alternate business identifier such as DUNS, LEI, or GIIN maxLength: 50 title: Altbusiness Id type: string altBusinessIdType: $ref: '#/components/schemas/AltBusinessIdType' businessContactEmail: description: 'Business contact email. Required if `entityType` will be changed to `PUBLIC_PROFIT`. Otherwise, it is recommended to either omit this field or set it to `null`.' example: name@example.com title: BusinessContactEmail type: string city: description: City name example: New York maxLength: 100 title: City type: string companyName: description: (Required for Non-profit/private/public) Legal company name. example: ABC Inc. maxLength: 100 title: Companyname type: string country: description: 'ISO2 2 characters country code. Example: US - United States' example: US maxLength: 2 title: Country type: string displayName: description: Display or marketing name of the brand. example: ABC Mobile maxLength: 100 title: Displayname type: string ein: description: (Required for Non-profit) Government assigned corporate tax ID. EIN is 9-digits in U.S. example: '111111111' maxLength: 20 title: Ein type: string email: description: Valid email address of brand support contact. maxLength: 100 title: Email type: string entityType: allOf: - $ref: '#/components/schemas/EntityType' description: Entity type behind the brand. This is the form of business establishment. firstName: description: First name of business contact. example: John maxLength: 100 title: Firstname type: string identityStatus: $ref: '#/components/schemas/BrandIdentityStatus' ipAddress: description: IP address of the browser requesting to create brand identity. maxLength: 50 title: Ipaddress type: string isReseller: title: Isreseller type: boolean lastName: description: Last name of business contact. example: Smith maxLength: 100 title: Lastname type: string phone: description: Valid phone number in e.164 international format. example: '+12024567890' maxLength: 20 title: Phone type: string postalCode: description: Postal codes. Use 5 digit zipcode for United States example: '10001' maxLength: 10 title: Postalcode type: string state: description: State. Must be 2 letters code for United States. example: NY maxLength: 20 title: State type: string stockExchange: allOf: - $ref: '#/components/schemas/StockExchange' description: (Required for public company) stock exchange. example: NASDAQ stockSymbol: description: (Required for public company) stock symbol. example: ABC maxLength: 10 title: Stocksymbol type: string street: description: Street number and name. example: '123' maxLength: 100 title: Street type: string vertical: allOf: - $ref: '#/components/schemas/Vertical' description: Vertical or industry segment of the brand. webhookFailoverURL: description: Webhook failover URL for brand status updates. example: https://webhook.com/9010a453-4df8-4be6-a551-1070892888d6 title: WebhookFailoverURL type: string webhookURL: description: Webhook URL for brand status updates. example: https://webhook.com/67ea78a8-9f32-4d04-b62d-f9502e8e5f93 title: WebhookURL type: string website: description: Brand website URL. example: http://www.abcmobile.com maxLength: 100 title: Website type: string required: - entityType - displayName - country - email - vertical title: UpdateBrand type: object BrandOptionalAttributes: properties: taxExemptStatus: description: The tax exempt status of the brand title: Taxexemptstatus type: string title: BrandOptionalAttributes type: object ExternalVettingList: items: $ref: '#/components/schemas/ExternalVetting' title: External vetting list type: array AltBusinessIdType: description: An enumeration. enum: - NONE - DUNS - GIIN - LEI title: AltBusinessIdType type: string VerifyBrandSmsOtpRequest: description: Request body for verifying a Brand SMS OTP properties: otpPin: description: The OTP PIN received via SMS example: '123456' maxLength: 10 minLength: 4 title: Otppin type: string required: - otpPin title: VerifyBrandSmsOtpRequest type: object BrandFeedbackCategory: properties: description: description: Long-form description of the feedback with additional information example: Tax Id does not match with the company name or business type. title: Description type: string displayName: description: Human-readable version of the `id` field example: Tax Id title: Displayname type: string fields: description: List of relevant fields in the originally-submitted brand json example: - ein - companyName - entityType items: type: string title: Fields type: array id: description: One of `TAX_ID`, `STOCK_SYMBOL`, `GOVERNMENT_ENTITY`, `NONPROFIT`, and `OTHERS` example: TAX_ID title: Id type: string required: - id - displayName - description - fields title: BrandFeedbackCategory type: object OrderExternalVetting: properties: evpId: description: External vetting provider ID for the brand. maxLength: 10 title: Evpid type: string vettingClass: description: Identifies the vetting classification. title: Vettingclass type: string required: - evpId - vettingClass title: OrderExternalVetting type: object Vertical: description: Vertical or industry segment of the brand or campaign. enum: - AGRICULTURE - COMMUNICATION - CONSTRUCTION - EDUCATION - ENERGY - ENTERTAINMENT - FINANCIAL - GAMBLING - GOVERNMENT - HEALTHCARE - HOSPITALITY - HUMAN_RESOURCES - INSURANCE - LEGAL - MANUFACTURING - NGO - POLITICAL - POSTAL - PROFESSIONAL - REAL_ESTATE - RETAIL - TECHNOLOGY - TRANSPORTATION example: TECHNOLOGY title: Vertical type: string BrandRecordSetCSP: properties: page: example: 1 title: Page type: integer records: items: $ref: '#/components/schemas/BrandBasic' title: Records type: array totalRecords: example: 1 title: Totalrecords type: integer title: BrandRecordSetCSP type: object TelnyxBrand: description: Telnyx-specific extensions to The Campaign Registry's `Brand` type properties: altBusinessId: description: Alternate business identifier such as DUNS, LEI, or GIIN maxLength: 50 title: Altbusinessid type: string altBusinessIdType: $ref: '#/components/schemas/AltBusinessIdType' brandId: description: Unique identifier assigned to the brand. example: 4b20017f-8da9-a992-a6c0-683072fb7729 title: Brandid type: string brandRelationship: allOf: - $ref: '#/components/schemas/BrandRelationship' description: Brand relationship to the CSP businessContactEmail: description: 'Business contact email. Required if `entityType` is `PUBLIC_PROFIT`.' example: name@example.com title: BusinessContactEmail type: string city: description: City name example: New York maxLength: 100 title: City type: string companyName: description: (Required for Non-profit/private/public) Legal company name. example: ABC Inc. maxLength: 100 title: Companyname type: string country: description: 'ISO2 2 characters country code. Example: US - United States' example: US maxLength: 2 title: Country type: string createdAt: description: Date and time that the brand was created at. example: '2021-03-08T17:57:48.801186' 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. example: ABC Mobile maxLength: 100 title: Displayname type: string ein: description: (Required for Non-profit) Government assigned corporate tax ID. EIN is 9-digits in U.S. example: '111111111' maxLength: 20 title: Ein type: string email: description: Valid email address of brand support contact. maxLength: 100 title: Email type: string entityType: allOf: - $ref: '#/components/schemas/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. example: John maxLength: 100 title: Firstname type: string identityStatus: $ref: '#/components/schemas/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. example: Smith maxLength: 100 title: Lastname type: string mobilePhone: description: Valid mobile phone number in e.164 international format. example: '+12024567890' maxLength: 20 title: Mobilephone type: string mock: default: false description: Mock brand for testing purposes title: Mock type: boolean optionalAttributes: $ref: '#/components/schemas/BrandOptionalAttributes' phone: description: Valid phone number in e.164 international format. example: '+12024567890' maxLength: 20 title: Phone type: string postalCode: description: Postal codes. Use 5 digit zipcode for United States example: '10001' 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. example: NY 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: '#/components/schemas/StockExchange' description: (Required for public company) stock exchange. example: NASDAQ stockSymbol: description: (Required for public company) stock symbol. example: ABC maxLength: 10 title: Stocksymbol type: string street: description: Street number and name. example: '123' maxLength: 100 title: Street type: string tcrBrandId: description: Unique identifier assigned to the brand by the registry. example: BBRAND1 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. example: '2021-03-08T17:57:48.801186' 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. example: https://webhook.com/67ea78a8-9f32-4d04-b62d-f9502e8e5f93 title: WebhookURL type: string website: description: Brand website URL. example: http://www.abcmobile.com maxLength: 100 title: Website type: string required: - entityType - displayName - country - email - brandRelationship - vertical title: TelnyxBrand type: object TriggerBrandSmsOtpResponse: description: Response after successfully triggering a Brand SMS OTP properties: brandId: description: The Brand ID for which the OTP was triggered example: 4b20019b-043a-78f8-0657-b3be3f4b4002 title: Brandid type: string referenceId: description: The reference ID that can be used to check OTP status example: OTP4B2001 title: Referenceid type: string required: - brandId - referenceId title: TriggerBrandSmsOtpResponse type: object BrandSmsOtpStatus: description: Status information for an SMS OTP sent during Sole Proprietor brand verification properties: brandId: description: The Brand ID associated with this OTP request example: B123ABC title: Brandid type: string deliveryStatus: description: 'The current delivery status of the OTP SMS message. Common values include: `DELIVERED_HANDSET`, `PENDING`, `FAILED`, `EXPIRED`' example: DELIVERED_HANDSET title: Deliverystatus type: string deliveryStatusDate: description: The timestamp when the delivery status was last updated example: '2024-12-03T17:12:33.560000+00:00' format: date-time title: Deliverystatusdate type: string deliveryStatusDetails: description: Additional details about the delivery status example: Delivered to handset title: Deliverystatusdetails type: string mobilePhone: description: The mobile phone number where the OTP was sent, in E.164 format example: '+11234567890' title: Mobilephone type: string referenceId: description: The reference ID for this OTP request, used for status queries example: OTP4B2001 title: Referenceid type: string requestDate: description: The timestamp when the OTP request was initiated example: '2024-12-03T17:12:33.560000+00:00' format: date-time title: Requestdate type: string verifyDate: description: The timestamp when the OTP was successfully verified (if applicable) example: '2024-12-03T17:12:33.560000+00:00' format: date-time title: Verifydate type: string required: - brandId - referenceId - mobilePhone - requestDate - deliveryStatus title: BrandSmsOtpStatus type: object BrandBasic: properties: assignedCampaingsCount: description: Number of campaigns associated with the brand example: 2 type: integer brandId: description: Unique identifier assigned to the brand. example: 4b206179-f731-8ab7-f19c-34e19d22ide9 type: string companyName: description: (Required for Non-profit/private/public) Legal company name. example: Example Company Inc. type: string createdAt: description: Date and time that the brand was created at. example: '2021-03-08T17:57:48.801186' type: string displayName: description: Display or marketing name of the brand. example: Example Company type: string email: description: Valid email address of brand support contact. example: examplename@examplecompany.com type: string entityType: $ref: '#/components/schemas/EntityType' failureReasons: description: Failure reasons for brand title: failureReasons type: string identityStatus: $ref: '#/components/schemas/BrandIdentityStatus' status: description: Status of the brand enum: - OK - REGISTRATION_PENDING - REGISTRATION_FAILED title: status type: string tcrBrandId: description: Unique identifier assigned to the brand by the registry. example: BBRAND1 type: string updatedAt: description: Date and time that the brand was last updated at. example: '2021-03-08T17:57:48.801186' type: string website: description: Brand website URL. example: www.examplecompany.com type: string title: ListedBrand type: object responses: 10dlc_GenericErrorResponse: content: application/json: schema: $ref: '#/components/schemas/10dlc_Errors' description: Generic response error securitySchemes: bearerAuth: scheme: bearer type: http branded-calling_bearerAuth: description: API key passed as a Bearer token in the Authorization header scheme: bearer type: http oauthClientAuth: description: OAuth 2.0 authentication for Telnyx API and MCP integrations flows: authorizationCode: authorizationUrl: https://api.telnyx.com/v2/oauth/authorize refreshUrl: https://api.telnyx.com/v2/oauth/token scopes: admin: Administrative access to Telnyx resources tokenUrl: https://api.telnyx.com/v2/oauth/token clientCredentials: scopes: admin: Administrative access to Telnyx resources tokenUrl: https://api.telnyx.com/v2/oauth/token type: oauth2 outbound-voice-profiles_bearerAuth: bearerFormat: JWT scheme: bearer type: http pronunciation-dicts_bearerAuth: description: Telnyx API v2 key. Obtain from https://portal.telnyx.com scheme: bearer type: http stored-payment-transactions_bearerAuth: bearerFormat: JWT scheme: bearer type: http