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

# Teradata Enterprise Vector Store (EVS)

> Send processed data from Unstructured to Teradata Enterprise Vector Store (EVS).

<Note>
  First time creating a connector? [Read this first](/api-reference/workflow/connector-first-time-reqs).
</Note>

[Teradata EVS](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-Vector-Store-User-Guide/Introduction-to-the-Enterprise-Vector-Store-User-Guide) is a specialized database designed to store and manage high-dimensional vectors (numeric arrays that encode meaning or similarity).

Destination connectors support Version 2 (V2) of the Teradata EVS APIs. For more information, see [Functional Reference of V2 APIs (Vector Collections)](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-Vector-Store-User-Guide/Functional-Reference-of-V2-APIs-Vector-Collections) in the *Teradata EVS User Guide*.

## Requirements

You will need:

* The base URL for the Teradata REST API endpoint.

  The format depends on your Teradata instance type:

  * For private VPC: `https://<site-id>.private.cloud.teradata.com`
  * For public site gateway: `https://<site-id>.gateway.cloud.teradata.com`

  Replace `<site-id>` with your Teradata site ID. Contact your Teradata system administrator if you do not know your site ID.

  For more information, see [Vector Store Service Access and Authentication](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-Vector-Store-User-Guide/Setting-up-Vector-Store/Vector-Store-Service-Access-and-Authentication) in the *Teradata EVS User Guide*.

  <Note>
    The REST API URL is not available for VantageCloud Lake (VCL) deployments.
    VCL deployments use JWT or PAT token-based authentication and are not currently supported by this connector.
  </Note>

* The username and password for your Teradata account.

  This connector uses Basic Authentication (TD2), supported on AI-on-premises and Teradata Cloud deployments.

  The account must have been granted the `TD_AIAdmin` role. This role is required to create vector collections. Contact your Teradata system administrator to confirm that your account has been granted this role.

  If you do not know your credentials, contact your Teradata system administrator.

  For more information, see [Authenticating Users](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-Vector-Store-User-Guide/Administering-Vector-Store/Authenticating-Users) in the *Teradata EVS User Guide*.

* The name of the collection to create or add data to.

  A *vector collection* refers to an instance of Vector Store. An enterprise vector store may comprise thousands of vector collections, each tailored for a specific use case or workflow.

  Collection names must be unique within the vector store. They can only contain letters, numbers, and underscores, matching the following regex pattern: `^[a-zA-Z0-9_]+$`.

  * To use an existing collection, contact your Teradata system administrator for the collection name, or use the [Collection Manager](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-Vector-Store-User-Guide/Functional-Reference-of-V2-APIs-Vector-Collections/Using-Collection-Manager) to list available collections.
  * To create a new collection, provide a unique name. The connector creates the collection automatically on first use.

  For more information, see [Creating a Vector Collection](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-Vector-Store-User-Guide/Functional-Reference-of-V2-APIs-Vector-Collections/Creating-a-Vector-Collection) in the *Teradata EVS User Guide*.

## Examples

The following examples show how to create a Teradata EVS destination connector using the Python SDK or REST API.

For more information on working with destination connectors using the Unstructured API, see [Destination endpoints](/api-reference/api/destination/destination-apis).

<CodeGroup>
  ```python Python SDK theme={null}
  import os

  from unstructured_client import UnstructuredClient
  from unstructured_client.models.operations import CreateDestinationRequest
  from unstructured_client.models.shared import CreateDestinationConnector

  with UnstructuredClient(api_key_auth=os.getenv("UNSTRUCTURED_API_KEY")) as client:
      response = client.destinations.create_destination(
          request=CreateDestinationRequest(
              create_destination_connector=CreateDestinationConnector(
                  name="<name>",
                  type="teradatavector_v2",
                  config={
                      "base_url": "<base-url>",
                      "user": "<user>",
                      "password": "<password>",
                      "database": "<database>",
                      "collection_name": "<collection-name>",
                      "use_precomputed_embeddings": <True|False>,
                      "deduplicate": <True|False>,
                      "ignore_embedding_errors": <True|False>    
                  }
              )
          )
      )

      print(response.destination_connector_information)
  ```

  ```bash curl theme={null}
  curl --request 'POST' --location \
  "$UNSTRUCTURED_API_URL/destinations" \
  --header 'accept: application/json' \
  --header "unstructured-api-key: $UNSTRUCTURED_API_KEY" \
  --header 'content-type: application/json' \
  --data \
  '{
      "name": "<name>",
      "type": "teradatavector_v2",
      "config": {
          "base_url": "<base-url>",
          "user": "<user>",
          "password": "<password>",
          "database": "<database>",
          "collection_name": "<collection-name>",
          "use_precomputed_embeddings": <true|false>,
          "deduplicate": <true|false>,
          "ignore_embedding_errors": <true|false>        
      }
  }'
  ```
</CodeGroup>

## Configuration settings

Replace the preceding placeholders as follows:

<ParamField body="name" type="string" required>
  A unique name for this connector.
</ParamField>

<ParamField body="base_url" type="string" required>
  The base URL for the Teradata REST API endpoint. The format depends on your Teradata instance type:

  * For private VPC: `https://<site-id>.private.cloud.teradata.com`
  * For public site gateway: `https://<site-id>.gateway.cloud.teradata.com`

  Replace `<site-id>` with your Teradata site ID. Contact your Teradata system administrator if you do not know your site ID.

  For more information, see [Vector Store Service Access and Authentication](https://docs.teradata.com/r/Enterprise_IntelliFlex_VMware/Teradata-Vector-Store-User-Guide/Setting-up-Vector-Store/Vector-Store-Service-Access-and-Authentication) in the *Teradata EVS User Guide*.
</ParamField>

<ParamField body="user" type="string" required>
  The username for your Teradata account.

  The account must have been granted the `TD_AIAdmin` role. This role is required to create vector collections. Contact your Teradata system administrator to confirm that your account has been granted this role.
</ParamField>

<ParamField body="password" type="string" required>
  The password for your Teradata account.
</ParamField>

<ParamField body="database" type="string">
  The name of the database.
</ParamField>

<ParamField body="collection_name" type="string" required>
  The name of the collection to create or add data to.

  Collection names must be unique within the vector store and can only contain letters, numbers, and underscores, matching the following regex pattern: `^[a-zA-Z0-9_]+$`.

  To create a new collection, provide a unique name. The connector creates the collection automatically on first use.
</ParamField>

<ParamField body="use_precomputed_embeddings" type="boolean" default="true">
  Set to `true` if your Unstructured workflow is configured to generate embedding vectors. Set to `false` to have Teradata generate embeddings automatically.
</ParamField>

<ParamField body="deduplicate" type="boolean" default="true">
  Set to `true` delete existing documents with the same filename before uploading new versions. This enables idempotent re-runs without destroying the entire collection. Set to `false` to preserve existing documents.
</ParamField>

<ParamField body="ignore_embedding_errors" type="boolean" default="false">
  Set to `true` to finish creating the collection even if Teradata fails to generate embeddings for some rows, instead of failing the entire collection. Only applies when Teradata generates embeddings (that is, `use_precomputed_embeddings` is set to `false`).
</ParamField>
