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

# How to find and use self-hosted data plane API endpoints

export const plans_0 = "Enterprise"

export const deployments_0 = "Self-hosted"

export const data_plane_version_0 = undefined

export const use_case_0 = undefined

<Note>
  **Applies to:**

  * Plan - {plans_0}
  * Deployment - {deployments_0}
  * {data_plane_version_0}
  * {use_case_0}
</Note>

## Summary

**Goal:** Configure API endpoint URLs for self-hosted data plane deployments with CloudFront.

**Features:** Self-hosted data plane API endpoints, multi-region deployment configuration.

## Configuration Steps

### Step 1: Locate Data Plane API URL

Navigate to Settings > Data plane > API URL in the Braintrust UI to find your deployment's API endpoint.

### Step 2: Verify URL Format

CloudFront-based data plane URLs follow this structure:

```text theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
https://*******.cloudfront.net/v1/{endpoint}

```

Common endpoints include `/v1/project_automation`, not `https://api.*******.cloudfront.net`.

### Step 3: Configure Multi-Region Access

For deployments with multiple regional data planes, configure your scripts to call each regional CloudFront endpoint separately.

```text theme={"theme":{"light":"github-light","dark":"github-dark-dimmed"}}
regional_endpoints = [
    "https://region1.cloudfront.net/v1/project_automation",
    "https://region2.cloudfront.net/v1/project_automation",
    "https://region3.cloudfront.net/v1/project_automation",
    "https://region4.cloudfront.net/v1/project_automation"
]

for endpoint in regional_endpoints:
    # Make API call to each region
    response = requests.post(endpoint, headers=headers, json=data)

```

### Step 4: Test Endpoint Connectivity

Verify each endpoint is accessible and returns expected responses before deploying automation scripts.

## Important Notes

* Each deployment has its own API server that redirects to the respective data plane
* Organizations in different deployments cannot access each other's projects across API URLs
* Always use the exact URL displayed in Settings rather than assuming a pattern
