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 | GETestimated_performance:readPOST, PATCH, and DELETE estimated_performance:write |
Resource overview
Benchmark proxies are described by the below attributes.
| Attribute | Description | Example |
|---|---|---|
entity_id | The entity ID that the proxy is for. Number. Required. | 12345 |
benchmark_id | The benchmark ID to use as a proxy for returns. Number. Required. | 789 |
benchmark_name | The name of the benchmark (read-only). String. | "S&P 500" |
as_of_date | The date from which this proxy configuration applies, in YYYY-MM-DD format. String. Required. | "2024-01-15" |
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).
Example
GET https://examplefirm.addepar.com/api/v1/benchmark_proxies?filter[entity_id]=12345
HTTP/1.1 200 OK
{
"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://examplefirm.addepar.com/api/v1/benchmark_proxies/12345_2024-01-15
HTTP/1.1 200 OK
{
"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://examplefirm.addepar.com/api/v1/benchmark_proxies
{
"data": [
{
"type": "benchmark_proxies",
"attributes": {
"entity_id": 12345,
"benchmark_id": 789,
"as_of_date": "2024-01-15"
}
}
]
}
HTTP/1.1 201 Created
{
"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://examplefirm.addepar.com/api/v1/benchmark_proxies/12345_2024-01-15
{
"data": {
"type": "benchmark_proxies",
"id": "12345_2024-01-15",
"attributes": {
"benchmark_id": 456
}
}
}
HTTP/1.1 200 OK
{
"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://examplefirm.addepar.com/api/v1/benchmark_proxies/12345_2024-01-15
HTTP/1.1 204 No Content
Response 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://examplefirm.addepar.com/api/v1/benchmark_proxies/entity/12345
HTTP/1.1 204 No Content
Response 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
Updated 10 days ago