openapi: 3.0.1 info: title: Twilio - Accounts A2p API description: This is the public Twilio REST API. termsOfService: https://www.twilio.com/legal/tos contact: name: Twilio Support url: https://support.twilio.com email: support@twilio.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html version: 1.52.0 servers: - url: https://accounts.twilio.com tags: - name: A2p paths: /v1/a2p/BrandRegistrations/{BrandRegistrationSid}/SmsOtp: servers: - url: https://messaging.twilio.com description: A Messaging Service resource to retry OTP verification for Sole Proprietor Brand Registrations. x-twilio: defaultOutputProperties: - account_sid - brand_registration_sid pathType: list parent: /a2p/BrandRegistrations/{Sid} mountName: brand_registration_otps post: description: '' tags: - A2p parameters: - name: BrandRegistrationSid in: path description: Brand Registration Sid of Sole Proprietor Brand. schema: type: string minLength: 34 maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_registration_otp' description: Created security: - accountSid_authToken: [] operationId: CreateBrandRegistrationOtp x-maturity: - Beta /v1/a2p/BrandRegistrations/{Sid}: servers: - url: https://messaging.twilio.com description: A Messaging Service resource to add and fetch Brand Registrations. x-twilio: defaultOutputProperties: - sid - date_created pathType: instance dependentProperties: brand_vettings: mapping: brand_sid: sid resource_url: /v1/a2p/BrandRegistrations/{brand_sid}/Vettings brand_registration_otps: mapping: brand_registration_sid: sid resource_url: /v1/a2p/BrandRegistrations/{brand_registration_sid}/SmsOtp get: description: '' tags: - A2p parameters: - name: Sid in: path description: The SID of the Brand Registration resource to fetch. schema: type: string minLength: 34 maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/messaging.v1.brand_registrations' description: OK security: - accountSid_authToken: [] operationId: FetchBrandRegistrations x-maturity: - Beta post: description: '' tags: - A2p parameters: - name: Sid in: path description: The SID of the Brand Registration resource to update. schema: type: string minLength: 34 maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ required: true responses: '202': content: application/json: schema: $ref: '#/components/schemas/messaging.v1.brand_registrations' description: Accepted security: - accountSid_authToken: [] operationId: UpdateBrandRegistrations x-maturity: - Beta /v1/a2p/BrandRegistrations: servers: - url: https://messaging.twilio.com description: A Messaging Service resource to add and fetch Brand Registrations. x-twilio: defaultOutputProperties: - sid - date_created pathType: list dependentProperties: brand_vettings: mapping: brand_sid: sid resource_url: /v1/a2p/BrandRegistrations/{brand_sid}/Vettings brand_registration_otps: mapping: brand_registration_sid: sid resource_url: /v1/a2p/BrandRegistrations/{brand_registration_sid}/SmsOtp get: description: '' tags: - A2p parameters: - name: PageSize in: query description: How many resources to return in each list page. The default is 50, and the maximum is 1000. schema: type: integer minimum: 1 maximum: 1000 - name: Page in: query description: The page index. This value is simply for client state. schema: type: integer minimum: 0 - name: PageToken in: query description: The page token. This is provided by the API. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListBrandRegistrationsResponse' description: OK security: - accountSid_authToken: [] operationId: ListBrandRegistrations x-maturity: - Beta post: description: '' tags: - A2p responses: '201': content: application/json: schema: $ref: '#/components/schemas/messaging.v1.brand_registrations' description: Created security: - accountSid_authToken: [] operationId: CreateBrandRegistrations x-maturity: - Beta requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateBrandRegistrationsRequest' /v1/a2p/BrandRegistrations/{BrandSid}/Vettings: servers: - url: https://messaging.twilio.com description: A Messaging Service resource to add and get Brand Vettings. x-twilio: defaultOutputProperties: - account_sid - brand_sid - brand_vetting_sid - date_created - date_updated - vetting_status - vetting_class pathType: list parent: /a2p/BrandRegistrations/{Sid} mountName: brand_vettings post: description: '' tags: - A2p parameters: - name: BrandSid in: path description: The SID of the Brand Registration resource of the vettings to create . schema: type: string minLength: 34 maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ required: true responses: '201': content: application/json: schema: $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting' description: Created security: - accountSid_authToken: [] operationId: CreateBrandVetting x-maturity: - Beta requestBody: content: application/x-www-form-urlencoded: schema: $ref: '#/components/schemas/CreateBrandVettingRequest' get: description: '' tags: - A2p parameters: - name: BrandSid in: path description: The SID of the Brand Registration resource of the vettings to read . schema: type: string minLength: 34 maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ required: true - name: VettingProvider in: query description: The third-party provider of the vettings to read schema: type: string $ref: '#/components/schemas/brand_vetting_enum_vetting_provider' - name: PageSize in: query description: How many resources to return in each list page. The default is 50, and the maximum is 1000. schema: type: integer minimum: 1 maximum: 1000 - name: Page in: query description: The page index. This value is simply for client state. schema: type: integer minimum: 0 - name: PageToken in: query description: The page token. This is provided by the API. schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/ListBrandVettingResponse' description: OK security: - accountSid_authToken: [] operationId: ListBrandVetting x-maturity: - Beta /v1/a2p/BrandRegistrations/{BrandSid}/Vettings/{BrandVettingSid}: servers: - url: https://messaging.twilio.com description: A Messaging Service resource to add and get Brand Vettings. x-twilio: defaultOutputProperties: - account_sid - brand_sid - brand_vetting_sid - date_created - date_updated - vetting_status - vetting_class pathType: instance parent: /a2p/BrandRegistrations/{Sid} mountName: brand_vettings get: description: '' tags: - A2p parameters: - name: BrandSid in: path description: The SID of the Brand Registration resource of the vettings to read . schema: type: string minLength: 34 maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ required: true - name: BrandVettingSid in: path description: The Twilio SID of the third-party vetting record. schema: type: string minLength: 34 maxLength: 34 pattern: ^VT[0-9a-fA-F]{32}$ required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting' description: OK security: - accountSid_authToken: [] operationId: FetchBrandVetting x-maturity: - Beta components: schemas: ListBrandVettingResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/messaging.v1.brand_registrations.brand_vetting' meta: type: object properties: first_page_url: type: string format: uri next_page_url: type: string format: uri nullable: true page: type: integer page_size: type: integer previous_page_url: type: string format: uri nullable: true url: type: string format: uri key: type: string messaging.v1.brand_registrations: type: object properties: sid: type: string minLength: 34 maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ nullable: true description: The unique string to identify Brand Registration. account_sid: type: string minLength: 34 maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ nullable: true description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Brand Registration resource. customer_profile_bundle_sid: type: string minLength: 34 maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ nullable: true description: A2P Messaging Profile Bundle BundleSid. a2p_profile_bundle_sid: type: string minLength: 34 maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ nullable: true description: A2P Messaging Profile Bundle BundleSid. date_created: type: string format: date-time nullable: true description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. date_updated: type: string format: date-time nullable: true description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. brand_type: type: string nullable: true description: 'Type of brand. One of: "STANDARD", "SOLE_PROPRIETOR". SOLE_PROPRIETOR is for the low volume, SOLE_PROPRIETOR campaign use case. There can only be one SOLE_PROPRIETOR campaign created per SOLE_PROPRIETOR brand. STANDARD is for all other campaign use cases. Multiple campaign use cases can be created per STANDARD brand.' status: type: string $ref: '#/components/schemas/brand_registrations_enum_status' nullable: true description: Brand Registration status. One of "PENDING", "APPROVED", "FAILED", "IN_REVIEW", "DELETED". tcr_id: type: string nullable: true description: Campaign Registry (TCR) Brand ID. Assigned only after successful brand registration. failure_reason: type: string nullable: true description: A reason why brand registration has failed. Only applicable when status is FAILED. url: type: string format: uri nullable: true description: The absolute URL of the Brand Registration resource. brand_score: type: integer nullable: true description: The secondary vetting score if it was done. Otherwise, it will be the brand score if it's returned from TCR. It may be null if no score is available. brand_feedback: type: array items: type: string $ref: '#/components/schemas/brand_registrations_enum_brand_feedback' nullable: true description: Feedback on how to improve brand score identity_status: type: string $ref: '#/components/schemas/brand_registrations_enum_identity_status' nullable: true description: When a brand is registered, TCR will attempt to verify the identity of the brand based on the supplied information. russell_3000: type: boolean nullable: true description: Publicly traded company identified in the Russell 3000 Index government_entity: type: boolean nullable: true description: Identified as a government entity tax_exempt_status: type: string nullable: true description: Nonprofit organization tax-exempt status per section 501 of the U.S. tax code. skip_automatic_sec_vet: type: boolean nullable: true description: A flag to disable automatic secondary vetting for brands which it would otherwise be done. mock: type: boolean nullable: true description: A boolean that specifies whether brand should be a mock or not. If true, brand will be registered as a mock brand. Defaults to false if no value is provided. links: type: object format: uri-map nullable: true brand_registrations_enum_brand_feedback: type: string enum: - TAX_ID - STOCK_SYMBOL - NONPROFIT - GOVERNMENT_ENTITY - OTHERS CreateBrandRegistrationsRequest: type: object required: - CustomerProfileBundleSid - A2PProfileBundleSid properties: CustomerProfileBundleSid: type: string minLength: 34 maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ description: Customer Profile Bundle Sid. A2PProfileBundleSid: type: string minLength: 34 maxLength: 34 pattern: ^BU[0-9a-fA-F]{32}$ description: A2P Messaging Profile Bundle Sid. BrandType: type: string description: 'Type of brand being created. One of: "STANDARD", "SOLE_PROPRIETOR". SOLE_PROPRIETOR is for low volume, SOLE_PROPRIETOR use cases. STANDARD is for all other use cases.' Mock: type: boolean description: A boolean that specifies whether brand should be a mock or not. If true, brand will be registered as a mock brand. Defaults to false if no value is provided. SkipAutomaticSecVet: type: boolean description: A flag to disable automatic secondary vetting for brands which it would otherwise be done. ListBrandRegistrationsResponse: type: object properties: data: type: array items: $ref: '#/components/schemas/messaging.v1.brand_registrations' meta: type: object properties: first_page_url: type: string format: uri next_page_url: type: string format: uri nullable: true page: type: integer page_size: type: integer previous_page_url: type: string format: uri nullable: true url: type: string format: uri key: type: string brand_vetting_enum_vetting_provider: type: string enum: - campaign-verify brand_registrations_enum_status: type: string enum: - PENDING - APPROVED - FAILED - IN_REVIEW - DELETED messaging.v1.brand_registrations.brand_registration_otp: type: object properties: account_sid: type: string minLength: 34 maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ nullable: true description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the Brand Registration resource. brand_registration_sid: type: string minLength: 34 maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ nullable: true description: The unique string to identify Brand Registration of Sole Proprietor Brand messaging.v1.brand_registrations.brand_vetting: type: object properties: account_sid: type: string minLength: 34 maxLength: 34 pattern: ^AC[0-9a-fA-F]{32}$ nullable: true description: The SID of the [Account](https://www.twilio.com/docs/iam/api/account) that created the vetting record. brand_sid: type: string minLength: 34 maxLength: 34 pattern: ^BN[0-9a-fA-F]{32}$ nullable: true description: The unique string to identify Brand Registration. brand_vetting_sid: type: string minLength: 34 maxLength: 34 pattern: ^VT[0-9a-fA-F]{32}$ nullable: true description: The Twilio SID of the third-party vetting record. date_updated: type: string format: date-time nullable: true description: The date and time in GMT when the resource was last updated specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. date_created: type: string format: date-time nullable: true description: The date and time in GMT when the resource was created specified in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format. vetting_id: type: string nullable: true description: The unique identifier of the vetting from the third-party provider. vetting_class: type: string nullable: true description: The type of vetting that has been conducted. One of “STANDARD” (Aegis) or “POLITICAL” (Campaign Verify). vetting_status: type: string nullable: true description: The status of the import vetting attempt. One of “PENDING,” “SUCCESS,” or “FAILED”. vetting_provider: type: string $ref: '#/components/schemas/brand_vetting_enum_vetting_provider' nullable: true description: The third-party provider that has conducted the vetting. One of “CampaignVerify” (Campaign Verify tokens) or “AEGIS” (Secondary Vetting). url: type: string format: uri nullable: true description: The absolute URL of the Brand Vetting resource. brand_registrations_enum_identity_status: type: string enum: - SELF_DECLARED - UNVERIFIED - VERIFIED - VETTED_VERIFIED CreateBrandVettingRequest: type: object required: - VettingProvider properties: VettingProvider: type: string $ref: '#/components/schemas/brand_vetting_enum_vetting_provider' description: The third-party provider of the vettings to create . VettingId: type: string description: The unique ID of the vetting securitySchemes: accountSid_authToken: type: http scheme: basic x-maturity: - name: GA description: This product is Generally Available. - name: Beta description: PLEASE NOTE that this is a Beta product that is subject to change. Use it with caution.