> ## Documentation Index
> Fetch the complete documentation index at: https://developers.telnyx.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Import External Vetting Record

> 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.



## OpenAPI

````yaml /openapi/source/external/messaging/10dlc.json put /10dlc/brand/{brandId}/externalVetting
openapi: 3.1.0
info:
  title: Telnyx 10DLC API
  description: >-
    # Overview

    The Telnyx 10DLC API facilitates interaction with The Campaign Registry
    (TCR), allowing the creation and registration of brands and campaigns with
    TCR.


    # API Interaction

    ## Request Authorization

    Telnyx 10DLC API endpoints require authorization for each request. To
    properly authorize requests, send an Authorization header with `Bearer `
    plus your Telnyx API key as the value. See the following curl request for
    example usage:


    ```sh

    curl --location --request GET
    'https://api.telnyx.com/10dlc/example/endpoint' \ 

    --header 'Authorization: Bearer YOUR_API_KEY_GOES_HERE' \ 

    --data-raw ''

    ```


    You can obtain your API key by logging into your <a
    href="https://portal.telnyx.com">Telnyx portal account</a> and clicking the
    "API Keys" tab. From there, you can copy your desired API key for use in
    your requests, similar to the above example curl request.


    ## The 10DLC Work Flow

    1. Create a brand


    2. Apply for brand vetting


    3. Create a campaign or campaigns (associated with the created brand)


    4. Assign a phone number or phone numbers to the created campaign

    ## 10DLC Costs

    **Brands:**

    1. Brand registration: $4 one time charge


    2.  Brand vetting: $40 one time charge


    **Campaigns:**


    1. Campaign registration T-Mobile: $50 one time charge


    2. Campaign creation: first 3 month's charge upfront. After the first 3
    months, this charge will change to a once a month recurring charge (see
    charge values below, based on campaign use case)

       a. Charity Campaign Use Case: $15 upfront (first 3 months), and $5 month to month after

       b. Low Mixed Volume Campaign Use Case: $6 upfront (first 3 months), and $2 month to month after

       c. Any Other Campaign Use Case: $30 upfront (first 3 months), and $10 month to month after
    3. Phone number to campaign assignment: $0.03 one time charge for each
    assignment


    ## Frequently Asked Questions

    For frequently asked questions, visit <a
    href="https://support.telnyx.com/en/articles/3679260-frequently-asked-questions-about-10dlc">Telnyx
    10DLC FAQs</a>.
  version: '0.1'
  x-latency-category: responsive
servers:
  - url: https://api.telnyx.com/v2
    description: Version 2.0.0 of the Telnyx API
security:
  - bearerAuth: []
tags:
  - name: Brands
    description: Brand operations
  - name: Campaign
    description: Campaign operations
  - name: Phone Number Campaigns
    description: Phone number campaign assignment
  - name: Bulk Small Business
    description: >-
      Endpoints for creating and checking the status of campaigns, brands, and
      phone numbers
  - name: Bulk Phone Number Campaigns
    description: Phone number campaign bulk assignment
  - name: Callbacks
    description: Callbacks
paths:
  /10dlc/brand/{brandId}/externalVetting:
    put:
      tags:
        - Brands
      summary: Import External Vetting Record
      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:
        - required: true
          schema:
            title: Brandid
            type: string
          name: brandId
          in: path
          description: Unique identifier of the brand.
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ImportExternalVetting'
        required: true
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalVetting'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        4XX:
          $ref: '#/components/responses/GenericErrorResponse'
      x-codeSamples:
        - lang: JavaScript
          source: >-
            import Telnyx from 'telnyx';


            const client = new Telnyx({
              apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
            });


            const response = await
            client.messaging10dlc.brand.externalVetting.imports('brandId', {
              evpId: 'evpId',
              vettingId: 'vettingId',
            });


            console.log(response.createDate);
        - lang: Python
          source: |
            import os
            from telnyx import Telnyx

            client = Telnyx(
                api_key=os.environ.get("TELNYX_API_KEY"),  # This is the default and can be omitted
            )
            response = client.messaging_10dlc.brand.external_vetting.imports(
                brand_id="brandId",
                evp_id="evpId",
                vetting_id="vettingId",
            )
            print(response.create_date)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/team-telnyx/telnyx-go\"\n\t\"github.com/team-telnyx/telnyx-go/option\"\n)\n\nfunc main() {\n\tclient := telnyx.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tresponse, err := client.Messaging10dlc.Brand.ExternalVetting.Imports(\n\t\tcontext.TODO(),\n\t\t\"brandId\",\n\t\ttelnyx.Messaging10dlcBrandExternalVettingImportsParams{\n\t\t\tEvpID:     \"evpId\",\n\t\t\tVettingID: \"vettingId\",\n\t\t},\n\t)\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", response.CreateDate)\n}\n"
        - lang: Java
          source: >-
            package com.telnyx.sdk.example;


            import com.telnyx.sdk.client.TelnyxClient;

            import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;

            import
            com.telnyx.sdk.models.messaging10dlc.brand.externalvetting.ExternalVettingImportsParams;

            import
            com.telnyx.sdk.models.messaging10dlc.brand.externalvetting.ExternalVettingImportsResponse;


            public final class Main {
                private Main() {}

                public static void main(String[] args) {
                    TelnyxClient client = TelnyxOkHttpClient.fromEnv();

                    ExternalVettingImportsParams params = ExternalVettingImportsParams.builder()
                        .brandId("brandId")
                        .evpId("evpId")
                        .vettingId("vettingId")
                        .build();
                    ExternalVettingImportsResponse response = client.messaging10dlc().brand().externalVetting().imports(params);
                }
            }
        - lang: Ruby
          source: >-
            require "telnyx"


            telnyx = Telnyx::Client.new(api_key: "My API Key")


            response =
            telnyx.messaging_10dlc.brand.external_vetting.imports("brandId",
            evp_id: "evpId", vetting_id: "vettingId")


            puts(response)
        - lang: PHP
          source: >-
            <?php


            require_once dirname(__DIR__) . '/vendor/autoload.php';


            use Telnyx\Client;

            use Telnyx\Core\Exceptions\APIException;


            $client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API
            Key');


            try {
              $response = $client->messaging10dlc->brand->externalVetting->imports(
                'brandId',
                evpID: 'evpId',
                vettingID: 'vettingId',
                vettingToken: 'vettingToken',
              );

              var_dump($response);
            } catch (APIException $e) {
              echo $e->getMessage();
            }
        - lang: CLI
          source: |-
            telnyx messaging-10dlc:brand:external-vetting imports \
              --api-key 'My API Key' \
              --brand-id brandId \
              --evp-id evpId \
              --vetting-id vettingId
components:
  schemas:
    ImportExternalVetting:
      title: ImportExternalVetting
      required:
        - evpId
        - vettingId
      type: object
      properties:
        evpId:
          title: Evpid
          maxLength: 10
          type: string
          description: External vetting provider ID for the brand.
        vettingId:
          title: Vettingid
          type: string
          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.
        vettingToken:
          title: Vettingtoken
          type: string
          description: Required by some providers for vetting record confirmation.
    ExternalVetting:
      title: ExternalVetting
      type: object
      properties:
        evpId:
          title: Evpid
          maxLength: 10
          type: string
          description: External vetting provider ID for the brand.
        vettingId:
          title: vettingId
          type: string
          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.
        vettingToken:
          title: vettingToken
          type: string
          description: Required by some providers for vetting record confirmation.
        vettingScore:
          title: vettingScore
          type: integer
          description: Vetting score ranging from 0-100.
        vettingClass:
          title: Vettingclass
          type: string
          description: Identifies the vetting classification.
        vettedDate:
          title: vettedDate
          type: string
          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.
        createDate:
          title: createDate
          type: string
          description: >-
            Vetting submission date. This is the date when the vetting request
            is generated in ISO 8601 format.
    HTTPValidationError:
      title: HTTPValidationError
      type: object
      properties:
        detail:
          title: Detail
          type: array
          items:
            $ref: '#/components/schemas/ValidationError'
    ValidationError:
      title: ValidationError
      required:
        - loc
        - msg
        - type
      type: object
      properties:
        loc:
          title: Location
          type: array
          items:
            anyOf:
              - type: string
              - type: integer
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
    Errors:
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/Error'
      type: object
    Error:
      required:
        - code
        - title
      type: object
      properties:
        code:
          type: string
        title:
          type: string
        detail:
          type: string
        source:
          type: object
          properties:
            pointer:
              description: JSON pointer (RFC6901) to the offending entity.
              type: string
            parameter:
              description: Indicates which query parameter caused the error.
              type: string
  responses:
    GenericErrorResponse:
      description: Generic response error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Errors'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````