Benchmark Proxies
Benchmark proxies allow entities' estimated returns to be derived from benchmark returns. A benchmark proxy configuration associates an entity with a benchmark starting from a specific date.
| Base route | /v1/benchmark_proxies |
| Endpoints | GET /v1/benchmark_proxies, /v1/benchmark_proxies/:id POST /v1/benchmark_proxies PATCH /v1/benchmark_proxies/:id DELETE /v1/benchmark_proxies/:id, /v1/benchmark_proxies/entity/:entityId |
| Produces | JSON |
| Application permissions required | "API Access: Create, edit, and delete" |
| OAuth scopes | GET estimated_performance:read POST, PATCH, and DELETE estimated_performance:write |
Access requirements
All endpoints require the "API Access: Create, edit, and delete" application permission. GET requests require the
estimated_performance:readOAuth scope. POST, PATCH, and DELETE requests require theestimated_performance:writeOAuth scope.
Resource overview
Benchmark proxies are described by the below attributes.
| Attribute | Description |
|---|---|
entity_id | The entity ID that the proxy is for. Number. Required. |
benchmark_id | The benchmark ID to use as a proxy for returns. Number. Required. |
benchmark_name | The name of the benchmark (read-only). String. |
as_of_date | The date from which this proxy configuration applies, in YYYY-MM-DD format. String. Required. |
Get benchmark proxies
Returns benchmark proxies filtered by one or more entity IDs.
GET /v1/benchmark_proxies
filter[entity_id]: Comma-separated list of entity IDs to filter by (required).page[limit]: Maximum number of items to return per page (optional).
Authentication
This endpoint requires a valid API key or OAuth token. Include your credentials in the request header as
Authorization: Bearer {token}.
Example
GET https://{firm}.addepar.com/api/v1/benchmark_proxies?filter[entity_id]=12345{
"data": [
{
"type": "benchmark_proxies",
"id": "12345_2024-01-15",
"attributes": {
"entity_id": 12345,
"benchmark_id": 789,
"benchmark_name": "S&P 500",
"as_of_date": "2024-01-15"
}
},
{
"type": "benchmark_proxies",
"id": "12345_2024-06-01",
"attributes": {
"entity_id": 12345,
"benchmark_id": 456,
"benchmark_name": "Russell 2000",
"as_of_date": "2024-06-01"
}
}
]
}Response codes
200 OK-- Success400 Bad Request-- Missing or invalidfilter[entity_id]parameter403 Forbidden-- Lacking necessary permissions404 Not Found-- Entity ID is nonexistent or not permissioned
Get a single benchmark proxy
Returns a single benchmark proxy by its composite ID.
GET /v1/benchmark_proxies/:id
id: The composite ID in format{entityId}_{as_of_date}(e.g.,12345_2024-01-15) (required).
Example
GET https://{firm}.addepar.com/api/v1/benchmark_proxies/12345_2024-01-15{
"data": {
"type": "benchmark_proxies",
"id": "12345_2024-01-15",
"attributes": {
"entity_id": 12345,
"benchmark_id": 789,
"benchmark_name": "S&P 500",
"as_of_date": "2024-01-15"
}
}
}Response codes
200 OK-- Success400 Bad Request-- Invalid ID format403 Forbidden-- Lacking necessary permissions404 Not Found-- Benchmark proxy not found or entity not permissioned
Create or update benchmark proxies
Creates or updates benchmark proxies using upsert semantics. If a proxy with the same entity ID and as-of date already exists, it will be updated with the new benchmark ID; otherwise, a new proxy will be created.
POST /v1/benchmark_proxies
Example
POST https://{firm}.addepar.com/api/v1/benchmark_proxies
{
"data": [
{
"type": "benchmark_proxies",
"attributes": {
"entity_id": 12345,
"benchmark_id": 789,
"as_of_date": "2024-01-15"
}
}
]
}{
"data": [
{
"type": "benchmark_proxies",
"id": "12345_2024-01-15",
"attributes": {
"entity_id": 12345,
"benchmark_id": 789,
"benchmark_name": "S&P 500",
"as_of_date": "2024-01-15"
}
}
]
}Validation requirements
- The
entity_idmust reference an existing value-based ValuableEntity - The
benchmark_idmust reference an existing benchmark - No duplicate as-of dates are allowed for the same entity in a single request
- User must have write permissions for estimated returns
Response codes
201 Created-- Success400 Bad Request-- Invalid payload, missing required attributes, invalid benchmark ID, invalid entity type, or duplicate as-of dates in request403 Forbidden-- Lacking the required permissions to write estimated returns404 Not Found-- Entity ID or benchmark ID is nonexistent or not permissioned
Update a single benchmark proxy
Updates the benchmark ID for an existing benchmark proxy. Only the benchmark_id attribute can be modified; entity_id and as_of_date are immutable.
PATCH /v1/benchmark_proxies/:id
id: The composite ID in format{entityId}_{as_of_date}(e.g.,12345_2024-01-15) (required).
Example
PATCH https://{firm}.addepar.com/api/v1/benchmark_proxies/12345_2024-01-15
{
"data": {
"type": "benchmark_proxies",
"id": "12345_2024-01-15",
"attributes": {
"benchmark_id": 456
}
}
}{
"data": {
"type": "benchmark_proxies",
"id": "12345_2024-01-15",
"attributes": {
"entity_id": 12345,
"benchmark_id": 456,
"benchmark_name": "Russell 2000",
"as_of_date": "2024-01-15"
}
}
}Response codes
200 OK-- Success400 Bad Request-- Invalid payload, attempting to modify immutable attributes, or invalid benchmark ID403 Forbidden-- Lacking the required permissions to write estimated returns404 Not Found-- Benchmark proxy not found or entity not permissioned
Delete a single benchmark proxy
Deletes a single benchmark proxy configuration.
DELETE /v1/benchmark_proxies/:id
id: The composite ID in format{entityId}_{as_of_date}(e.g.,12345_2024-01-15) (required).
Example
DELETE https://{firm}.addepar.com/api/v1/benchmark_proxies/12345_2024-01-15HTTP/1.1 204 No ContentResponse codes
204 No Content-- Successfully deleted the benchmark proxy400 Bad Request-- Invalid ID format403 Forbidden-- Lacking the required permissions to write estimated returns404 Not Found-- Benchmark proxy not found or entity not permissioned
Delete all benchmark proxies for an entity
Deletes all benchmark proxy configurations for a specific entity.
DELETE /v1/benchmark_proxies/entity/:entityId
entityId: The entity ID (integer) (required).
Example
DELETE https://{firm}.addepar.com/api/v1/benchmark_proxies/entity/12345HTTP/1.1 204 No ContentResponse codes
204 No Content-- Successfully deleted all benchmark proxies for the entity400 Bad Request-- Invalid entity ID format403 Forbidden-- Lacking the required permissions to write estimated returns404 Not Found-- Entity ID is nonexistent or not permissioned
Related resources
Updated 17 days ago