API reference
Version 1.4.0. Generated from the OpenAPI 3.1 document the API itself serves, so it always matches. 124 paths, 149 operations.
Paper trading: simulated orders and fills. Not investment advice.
Meta
GET /api/v1/openapi.json
This API's OpenAPI 3.1 document
No token needed.
Answers: 200 OpenApi; errors as problem+json.
GET /api/v1/me
Who the token acts as: user or service account, firm, role, privileges, scopes
Answers: 200 Me; errors as problem+json.
GET /api/v1/jobs/{id}
A long-running operation (202 responses point here)
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Job; errors as problem+json.
Firm
GET /api/v1/firm
The firm and its settings
Scope: firm:read (and the privileges of the user or service account behind the token).
Answers: 200 Firm; errors as problem+json.
PATCH /api/v1/firm
Change settings (If-Match)
Scope: firm:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
If-Match | header | yes | The ETag of your last GET of this resource. |
Body: FirmPatch
Answers: 200 Firm; errors as problem+json.
Users
GET /api/v1/users
Users of the firm (people and service accounts)
Scope: users:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
role | query | Filter by role | |
status | query | active or disabled | |
kind | query | person or service |
Answers: 200 page of User; errors as problem+json.
POST /api/v1/users
Invite a person (an email with a link)
Scope: admin:users (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Invite
Answers: 201 Invitation; errors as problem+json.
GET /api/v1/users/{id}
One user with privileges
Scope: users:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 User; errors as problem+json.
PATCH /api/v1/users/{id}
Change role or status (If-Match)
Scope: admin:users (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
If-Match | header | yes | The ETag of your last GET of this resource. |
Body: UserPatch
Answers: 200 User; errors as problem+json.
PUT /api/v1/users/{id}/privileges/{privilege}
Grant, remove or reset one privilege
Scope: admin:users (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
privilege | path | yes |
Body: PrivilegeSet
Answers: 200 User; errors as problem+json.
GET /api/v1/roles
Roles, their default privileges and maximum account permissions
Scope: users:read (and the privileges of the user or service account behind the token).
Answers: 200 RoleList; errors as problem+json.
Entitlements
GET /api/v1/entitlements
Per-account permissions of every user
Scope: entitlements:read (and the privileges of the user or service account behind the token).
Answers: 200 EntitlementList; errors as problem+json.
PUT /api/v1/entitlements/{userId}/{accountId}
Set one user's permissions on one account
Scope: entitlements:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
userId | path | yes | |
accountId | path | yes |
Body: PermissionSet
Answers: 200 Entitlement; errors as problem+json.
Access reviews
GET /api/v1/access-reviews
Access reviews
Scope: access_reviews:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names |
Answers: 200 page of AccessReview; errors as problem+json.
POST /api/v1/access-reviews
Draft a new access review
Scope: access_reviews:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 201 AccessReview; errors as problem+json.
GET /api/v1/access-reviews/{id}
One access review with its recommendations
Scope: access_reviews:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 AccessReview; errors as problem+json.
POST /api/v1/access-reviews/{id}/sign-off
Sign off, applying the chosen recommendations (a person)
Scope: access_reviews:write (and the privileges of the user or service account behind the token).
A person must do this: a token from the authorization code flow or a personal access token, never client credentials.
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: ReviewSignOff
Answers: 200 AccessReview; errors as problem+json.
Reference data
GET /api/v1/securities
The security master
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
symbol | query | Exact symbol | |
sector | query | Sector | |
active | query | true or false | |
isin | query | ISIN |
Answers: 200 page of Security; errors as problem+json.
POST /api/v1/securities
Add a security
Scope: reference:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: SecurityIn
Answers: 201 Security; errors as problem+json.
GET /api/v1/securities/{id}
One security, with its user-defined fields
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Security; errors as problem+json.
PATCH /api/v1/securities/{id}
Change a security (If-Match)
Scope: reference:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
If-Match | header | yes | The ETag of your last GET of this resource. |
Body: SecurityIn
Answers: 200 Security; errors as problem+json.
GET /api/v1/issuers
Issuers
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
code | query | Issuer code |
Answers: 200 page of Issuer; errors as problem+json.
GET /api/v1/brokers
Brokers (reference only: Vestoris connects to no broker)
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names |
Answers: 200 page of Broker; errors as problem+json.
GET /api/v1/benchmarks
Benchmarks with constituents
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names |
Answers: 200 page of Benchmark; errors as problem+json.
GET /api/v1/account-groups
Account groups (members limited to the accounts you can see)
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names |
Answers: 200 page of AccountGroup; errors as problem+json.
POST /api/v1/account-groups
Create an account group
Scope: reference:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: AccountGroupIn
Answers: 201 AccountGroup; errors as problem+json.
GET /api/v1/lists
Restricted, watch and exclusion lists
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
kind | query | restricted, watch or exclusion |
Answers: 200 page of SecurityList; errors as problem+json.
GET /api/v1/lists/{id}
One list with its members
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 SecurityList; errors as problem+json.
POST /api/v1/lists/{id}/members
Add securities to a list
Scope: reference:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: ListMembersIn
Answers: 200 SecurityList; errors as problem+json.
DELETE /api/v1/lists/{id}/members/{securityId}
Remove a security from a list
Scope: reference:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
securityId | path | yes |
Answers: 200 SecurityList; errors as problem+json.
User-defined fields
GET /api/v1/udf/{table}
The ten user-defined field definitions of a table
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
table | path | yes |
Answers: 200 UdfDefList; errors as problem+json.
PUT /api/v1/udf/{table}/{slot}
Define a field (Admins; versioned)
Scope: udf:admin (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
table | path | yes | |
slot | path | yes |
Body: UdfDefIn
Answers: 200 UdfDef; errors as problem+json.
GET /api/v1/udf/{table}/records/{key}
The user-defined values of one record
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
table | path | yes | |
key | path | yes |
Answers: 200 UdfValues; errors as problem+json.
PUT /api/v1/udf/{table}/records/{key}
Set user-defined values of one record (If-Match)
Scope: reference:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
table | path | yes | |
key | path | yes | |
If-Match | header | yes | The ETag of your last GET of this resource. |
Body: UdfValuesIn
Answers: 200 UdfValues; errors as problem+json.
Portfolio Center
GET /api/v1/accounts
The accounts you can see, valued at the latest simulated closes
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
tag | query | Account tag | |
model | query | Model id |
Answers: 200 page of Account; errors as problem+json.
POST /api/v1/accounts
Add an account (simulated cash)
Scope: reference:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: AccountIn
Answers: 201 Account; errors as problem+json.
GET /api/v1/accounts/{id}
One account
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Account; errors as problem+json.
PATCH /api/v1/accounts/{id}
Change an account, incl. its model (If-Match)
Scope: reference:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
If-Match | header | yes | The ETag of your last GET of this resource. |
Body: AccountIn
Answers: 200 Account; errors as problem+json.
GET /api/v1/accounts/{id}/positions
Positions with value and weight
Scope: portfolio:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 PositionList; errors as problem+json.
GET /api/v1/accounts/{id}/lots
Open tax lots
Scope: portfolio:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 LotList; errors as problem+json.
GET /api/v1/accounts/{id}/cash
Cash balance and recent (simulated) movements
Scope: portfolio:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Cash; errors as problem+json.
POST /api/v1/accounts/{id}/cash
Deposit or withdraw simulated cash
Scope: portfolio:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: CashMove
Answers: 201 Cash; errors as problem+json.
GET /api/v1/accounts/{id}/drift
Drift against the account's model
Scope: portfolio:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Drift; errors as problem+json.
GET /api/v1/accounts/{id}/risk
Concentration, exposures and factor betas
Scope: portfolio:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Risk; errors as problem+json.
GET /api/v1/models
Model portfolios
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names |
Answers: 200 page of Model; errors as problem+json.
POST /api/v1/models
Create a model
Scope: reference:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: ModelIn
Answers: 201 Model; errors as problem+json.
GET /api/v1/models/{id}
One model with targets
Scope: reference:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Model; errors as problem+json.
PUT /api/v1/models/{id}
Replace a model's targets (If-Match)
Scope: reference:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
If-Match | header | yes | The ETag of your last GET of this resource. |
Body: ModelIn
Answers: 200 Model; errors as problem+json.
POST /api/v1/rebalance-proposals
Rebalance accounts: proposals in the intent pipeline (never orders); 202 with a job for more than 3 accounts
Scope: portfolio:write (and the privileges of the user or service account behind the token).
Long operations answer 202 with a job (GET /api/v1/jobs/{id}).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: RebalanceIn
Answers: 201 PipelineRun · 202 Job; errors as problem+json.
POST /api/v1/what-ifs
A what-if: sector changes for accounts, as a pipeline proposal
Scope: portfolio:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: WhatIfIn
Answers: 201 PipelineRun; errors as problem+json.
GET /api/v1/proposals
Rebalance proposals
Scope: pipeline:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
account | query | Account id | |
status | query | proposed, accepted or discarded |
Answers: 200 page of Proposal; errors as problem+json.
GET /api/v1/proposals/{id}
One proposal with its trades
Scope: pipeline:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Proposal; errors as problem+json.
Market data
GET /api/v1/prices
Daily (simulated) closes of a security
Scope: market:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
symbol | query | yes | Symbol (required) |
days | query | How many days back, 1 to 260 |
Answers: 200 PriceList; errors as problem+json.
GET /api/v1/prices/latest
The latest close of securities
Scope: market:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
symbols | query | Comma-separated symbols (at most 100) |
Answers: 200 PriceList; errors as problem+json.
GET /api/v1/fx-rates
FX rates
Scope: market:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
base | query | Base currency | |
quote | query | Quote currency | |
date | query | YYYY-MM-DD |
Answers: 200 FxList; errors as problem+json.
GET /api/v1/corporate-actions
Corporate actions (splits, cash dividends)
Scope: market:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
status | query | pending, applied | |
security | query | Security id |
Answers: 200 page of CorporateAction; errors as problem+json.
GET /api/v1/as-of/{dataset}/{key}
A record as it was on a date (effective-dated history)
Scope: market:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
dataset | path | yes | |
key | path | yes | |
date | query | yes | YYYY-MM-DD (required) |
Answers: 200 AsOf; errors as problem+json.
Orders
GET /api/v1/orders
Orders on the accounts you can see
Scope: orders:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
state | query | Comma-separated states | |
side | query | buy or sell | |
symbol | query | Symbol | |
account | query | Account id | |
created_from | query | ISO 8601 | |
created_to | query | ISO 8601 |
Answers: 200 page of OrderSummary; errors as problem+json.
POST /api/v1/orders
Enter an order: checked by compliance and routed by the workflow rules like any order (paper trading)
Scope: orders:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: OrderIn
Answers: 201 Order; errors as problem+json.
GET /api/v1/orders/{id}
One order with allocations, compliance and history
Scope: orders:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Order; errors as problem+json.
POST /api/v1/orders/{id}/amend
Amend quantity or limit (compliance re-checked; If-Match)
Scope: orders:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
If-Match | header | yes | The ETag of your last GET of this resource. |
Body: OrderAmend
Answers: 200 Order; errors as problem+json.
POST /api/v1/orders/{id}/cancel
Cancel the unfilled part
Scope: orders:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Reason
Answers: 200 Order; errors as problem+json.
POST /api/v1/orders/{id}/release
Release an approved order to the simulator (compliance re-checked)
Scope: orders:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Release
Answers: 200 Order; errors as problem+json.
POST /api/v1/orders/{id}/rework
Re-plan a working order's unfilled shares with another algo
Scope: orders:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Release
Answers: 200 Order; errors as problem+json.
POST /api/v1/orders/{id}/approve
Approve (four eyes: never the person who entered it)
Scope: orders:approve (and the privileges of the user or service account behind the token).
An approval: four eyes apply; a service account needs its client's "may approve" setting.
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Note
Answers: 200 Order; errors as problem+json.
POST /api/v1/orders/{id}/reject
Reject
Scope: orders:approve (and the privileges of the user or service account behind the token).
An approval: four eyes apply; a service account needs its client's "may approve" setting.
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Reason
Answers: 200 Order; errors as problem+json.
POST /api/v1/orders/{id}/override
Override a soft compliance warning with a written reason
Scope: orders:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Reason
Answers: 200 Order; errors as problem+json.
POST /api/v1/orders/{id}/allocate
Confirm the allocation of executions (Operations)
Scope: orders:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 200 Order; errors as problem+json.
GET /api/v1/orders/{id}/fills
Simulated fills of an order
Scope: orders:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 FillList; errors as problem+json.
GET /api/v1/executions
Simulated fills on the accounts you can see
Scope: orders:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
order | query | Order id | |
from | query | ISO 8601 | |
to | query | ISO 8601 |
Answers: 200 page of Fill; errors as problem+json.
GET /api/v1/blotter/views
Saved blotter views (yours and the firm's)
Scope: orders:read (and the privileges of the user or service account behind the token).
Answers: 200 BlotterViewList; errors as problem+json.
POST /api/v1/blotter/views
Save a blotter view (validated against the field registry)
Scope: orders:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: BlotterViewIn
Answers: 201 BlotterView; errors as problem+json.
PUT /api/v1/blotter/views/{id}
Replace a blotter view
Scope: orders:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Body: BlotterViewIn
Answers: 200 BlotterView; errors as problem+json.
DELETE /api/v1/blotter/views/{id}
Delete a blotter view
Scope: orders:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 204 Done (no content); errors as problem+json.
Compliance
GET /api/v1/overrides
Override requests
Scope: compliance:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
status | query | pending, approved, rejected |
Answers: 200 page of Override; errors as problem+json.
POST /api/v1/overrides/{id}/decision
Approve or reject an override (Compliance; four eyes)
Scope: orders:approve (and the privileges of the user or service account behind the token).
An approval: four eyes apply; a service account needs its client's "may approve" setting.
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Decision
Answers: 200 Override; errors as problem+json.
GET /api/v1/compliance/rules
Rules (every version)
Scope: compliance:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
status | query | draft, pending_approval, active, retired, superseded | |
rule_type | query | Rule type |
Answers: 200 page of Rule; errors as problem+json.
POST /api/v1/compliance/rules
Draft a rule (structured definition)
Scope: compliance:rules:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: RuleIn
Answers: 201 Rule; errors as problem+json.
GET /api/v1/compliance/rules/{id}
One rule version with restatement and test bench
Scope: compliance:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Rule; errors as problem+json.
PATCH /api/v1/compliance/rules/{id}
Change a draft (If-Match)
Scope: compliance:rules:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
If-Match | header | yes | The ETag of your last GET of this resource. |
Body: RuleIn
Answers: 200 Rule; errors as problem+json.
GET /api/v1/compliance/rules/{id}/versions
Every version of the rule's lineage
Scope: compliance:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 RuleList; errors as problem+json.
POST /api/v1/compliance/rules/{id}/test-bench
Run the test bench (202: a job)
Scope: compliance:rules:write (and the privileges of the user or service account behind the token).
Long operations answer 202 with a job (GET /api/v1/jobs/{id}).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Days
Answers: 202 Job; errors as problem+json.
POST /api/v1/compliance/rules/{id}/submit
Submit for sign-off
Scope: compliance:rules:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 200 Rule; errors as problem+json.
GET /api/v1/compliance/rules/{id}/sign-off
What you would sign off, with a confirmation token for X-Vestoris-Confirm
Scope: compliance:rules:approve (and the privileges of the user or service account behind the token).
A person must do this: a token from the authorization code flow or a personal access token, never client credentials.
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 SignOffPreview; errors as problem+json.
POST /api/v1/compliance/rules/{id}/sign-off
Sign off (a person, never client credentials; X-Vestoris-Confirm)
Scope: compliance:rules:approve (and the privileges of the user or service account behind the token).
A person must do this: a token from the authorization code flow or a personal access token, never client credentials.
An approval: four eyes apply; a service account needs its client's "may approve" setting.
Needs X-Vestoris-Confirm with the confirm_token of the preview.
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
X-Vestoris-Confirm | header | yes | The confirm_token of the preview you are confirming. |
Body: SignOff
Answers: 200 Rule; errors as problem+json.
POST /api/v1/compliance/rules/{id}/reject
Send back to the author with comments
Scope: compliance:rules:approve (and the privileges of the user or service account behind the token).
A person must do this: a token from the authorization code flow or a personal access token, never client credentials.
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Reason
Answers: 200 Rule; errors as problem+json.
POST /api/v1/compliance/rules/{id}/retire
Ask for an active rule to be retired (signed off like a change)
Scope: compliance:rules:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Reason
Answers: 200 Rule; errors as problem+json.
GET /api/v1/compliance/violations
Violations
Scope: compliance:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
status | query | open, acknowledged, resolved, waived, escalated | |
account | query | Account id | |
severity | query | block or warn |
Answers: 200 page of Violation; errors as problem+json.
GET /api/v1/compliance/violations/{id}
One violation
Scope: compliance:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Violation; errors as problem+json.
POST /api/v1/compliance/violations/{id}/transition
Acknowledge, resolve, waive (with a reason) or escalate
Scope: compliance:violations:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: ViolationTransition
Answers: 200 Violation; errors as problem+json.
GET /api/v1/compliance/packages
Rule packages and their assignments
Scope: compliance:read (and the privileges of the user or service account behind the token).
Answers: 200 PackageList; errors as problem+json.
GET /api/v1/compliance/register
The rule register (JSON, or ?format=pdf)
Scope: compliance:reports:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
format | query | json (default) or pdf |
Answers: 200 Register; errors as problem+json.
GET /api/v1/compliance/reports
Periodic compliance reports
Scope: compliance:reports:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names |
Answers: 200 page of Report; errors as problem+json.
POST /api/v1/compliance/reports
Generate a report for a period (202: a job)
Scope: compliance:reports:read (and the privileges of the user or service account behind the token).
Long operations answer 202 with a job (GET /api/v1/jobs/{id}).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: ReportIn
Answers: 202 Job; errors as problem+json.
Pipeline
GET /api/v1/pipeline/runs
Your intent-pipeline requests
Scope: pipeline:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names |
Answers: 200 page of PipelineRun; errors as problem+json.
POST /api/v1/pipeline/runs
Interpret a request in plain English (stage 0; the AI may be used)
Scope: pipeline:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: PipelineIn
Answers: 201 PipelineRun; errors as problem+json.
GET /api/v1/pipeline/runs/{id}
A request with its stages
Scope: pipeline:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 PipelineRun; errors as problem+json.
POST /api/v1/pipeline/runs/{id}/run
Run the stages: entitlements, proposals, compliance pre-check
Scope: pipeline:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 200 PipelineRun; errors as problem+json.
POST /api/v1/pipeline/runs/{id}/orders
Create the orders (each checked again; nothing is executed)
Scope: pipeline:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 200 PipelineRun; errors as problem+json.
Surveillance
GET /api/v1/surveillance/alerts
Surveillance and anomaly alerts
Scope: surveillance:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
kind | query | surveillance, cross_component, access or orders | |
status | query | open, reviewed, dismissed, escalated |
Answers: 200 page of Alert; errors as problem+json.
GET /api/v1/surveillance/alerts/{id}
One alert
Scope: surveillance:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Alert; errors as problem+json.
POST /api/v1/surveillance/alerts/{id}/review
Review an alert (reviewed, dismissed, escalated) with a note
Scope: surveillance:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: AlertReview
Answers: 200 Alert; errors as problem+json.
Workflow
GET /api/v1/workflow/items
Items in flight you can see (the monitor's board)
Scope: workflow:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
type | query | Item type | |
stage | query | Stage | |
owner | query | User id, "me" or "none" | |
desk | query | Desk id | |
sla | query | green, amber, red, escalated | |
priority | query | 1-4 |
Answers: 200 page of WorkflowItem; errors as problem+json.
GET /api/v1/workflow/items/{id}
One item with history, comments and approvals
Scope: workflow:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 WorkflowItem; errors as problem+json.
POST /api/v1/workflow/items/{id}/actions
Claim, release, reassign, escalate, set the priority, move to a desk, comment, watch (never approve)
Scope: workflow:act (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: WorkflowAction
Answers: 200 WorkflowItem; errors as problem+json.
GET /api/v1/workflow/my-work
What waits on you, what you requested, what you watch
Scope: workflow:read (and the privileges of the user or service account behind the token).
Answers: 200 MyWork; errors as problem+json.
GET /api/v1/workflow/rules
Workflow rules (every version)
Scope: workflow:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
status | query | draft, pending, active, superseded, retired, rejected | |
item_type | query | Item type |
Answers: 200 page of WorkflowRule; errors as problem+json.
POST /api/v1/workflow/rules
Draft a rule from a structure, or from a sentence ("text"); replayed on the test bench
Scope: workflow:rules:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: WorkflowRuleIn
Answers: 201 WorkflowRule; errors as problem+json.
GET /api/v1/workflow/rules/{id}
One workflow rule
Scope: workflow:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 WorkflowRule; errors as problem+json.
POST /api/v1/workflow/rules/{id}/test-bench
Replay the last days of items (202: a job)
Scope: workflow:rules:write (and the privileges of the user or service account behind the token).
Long operations answer 202 with a job (GET /api/v1/jobs/{id}).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Days
Answers: 202 Job; errors as problem+json.
POST /api/v1/workflow/rules/{id}/submit
Submit for sign-off
Scope: workflow:rules:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 200 WorkflowRule; errors as problem+json.
GET /api/v1/workflow/rules/{id}/sign-off
What you would sign off, with a confirmation token
Scope: workflow:rules:approve (and the privileges of the user or service account behind the token).
A person must do this: a token from the authorization code flow or a personal access token, never client credentials.
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 SignOffPreview; errors as problem+json.
POST /api/v1/workflow/rules/{id}/sign-off
Sign off as Admin or Compliance (a person; X-Vestoris-Confirm)
Scope: workflow:rules:approve (and the privileges of the user or service account behind the token).
A person must do this: a token from the authorization code flow or a personal access token, never client credentials.
An approval: four eyes apply; a service account needs its client's "may approve" setting.
Needs X-Vestoris-Confirm with the confirm_token of the preview.
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
X-Vestoris-Confirm | header | yes | The confirm_token of the preview you are confirming. |
Body: WorkflowSignOff
Answers: 200 WorkflowRule; errors as problem+json.
GET /api/v1/workflow/desks
Desks, members and assignment modes
Scope: workflow:read (and the privileges of the user or service account behind the token).
Answers: 200 DeskList; errors as problem+json.
GET /api/v1/workflow/slas
SLA minutes and escalations per stage
Scope: workflow:read (and the privileges of the user or service account behind the token).
Answers: 200 SlaList; errors as problem+json.
GET /api/v1/workflow/views
Saved monitor views
Scope: workflow:read (and the privileges of the user or service account behind the token).
Answers: 200 MonitorViewList; errors as problem+json.
Data
POST /api/v1/data/{dataset}
Load a file (CSV, TXT, XLSX or Vestoris XML) into a data set; the body is the file
Scope: data:load:<data set> (and the privileges of the user or service account behind the token).
Also accepts legacy API keys (deprecated: Deprecation and Sunset headers are sent; see /developers/legacy-keys).
| Parameter | In | Required | About |
|---|---|---|---|
dataset | path | yes | |
filename | query | yes | File name with extension (required) |
mode | query | upsert (default) or full | |
business_date | query | YYYY-MM-DD | |
apply | query | "auto": apply when nothing was rejected (OAuth tokens; needs data:write). Legacy keys use their own setting |
Body: The file itself (application/octet-stream)
Answers: 201 LegacyBatch · 422 LegacyBatch; errors as problem+json.
GET /api/v1/batches
Load history
Scope: data:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
dataset | query | Data set | |
status | query | staged, held, applied, undone, rejected |
Answers: 200 page of Batch; errors as problem+json.
GET /api/v1/batches/{id}
A batch's status and counts
Scope: data:read (and the privileges of the user or service account behind the token).
Also accepts legacy API keys (deprecated: Deprecation and Sunset headers are sent; see /developers/legacy-keys).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 LegacyBatchStatus; errors as problem+json.
GET /api/v1/batches/{id}/rows
A batch's rows: the diff and the rejected rows with codes
Scope: data:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
status | query | new, changed, unchanged, rejected | |
limit | query | 1-500 | |
offset | query | Offset |
Answers: 200 BatchRows; errors as problem+json.
POST /api/v1/batches/{id}/apply
Apply a staged batch
Scope: data:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 200 Batch; errors as problem+json.
POST /api/v1/batches/{id}/undo
Undo an applied batch (unless later trades depend on it)
Scope: data:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 200 Batch; errors as problem+json.
POST /api/v1/batches/{id}/discard
Discard a staged batch
Scope: data:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 200 Batch; errors as problem+json.
POST /api/v1/feeds/bundles
Load a folder of feed files (.zip); each file needs its data:load scope
Scope: data:load:<data set> (and the privileges of the user or service account behind the token).
Also accepts legacy API keys (deprecated: Deprecation and Sunset headers are sent; see /developers/legacy-keys).
| Parameter | In | Required | About |
|---|---|---|---|
filename | query | The .zip (or file) name |
Body: The file itself (application/octet-stream)
Answers: 201 LegacyBundle · 202 LegacyBundle; errors as problem+json.
GET /api/v1/feeds/bundles/{id}
A folder's status, per file
Scope: data:read (and the privileges of the user or service account behind the token).
Also accepts legacy API keys (deprecated: Deprecation and Sunset headers are sent; see /developers/legacy-keys).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 LegacyBundle; errors as problem+json.
POST /api/v1/feeds/{id}/files
Push a file to an HTTPS-push feed (the feed's data:load scope)
Scope: data:load:<data set> (and the privileges of the user or service account behind the token).
Also accepts legacy API keys (deprecated: Deprecation and Sunset headers are sent; see /developers/legacy-keys).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
filename | query | The file name |
Body: The file itself (application/octet-stream)
Answers: 202 LegacyFeedFile · 422 LegacyFeedFile; errors as problem+json.
GET /api/v1/feeds
Feeds and their schedule
Scope: data:read (and the privileges of the user or service account behind the token).
Answers: 200 FeedList; errors as problem+json.
GET /api/v1/feeds/runs
Feed runs of a business date
Scope: data:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
date | query | YYYY-MM-DD (default: today's business date) |
Answers: 200 FeedRunList; errors as problem+json.
POST /api/v1/feeds/runs/{id}/review
Apply or reject a held feed file
Scope: data:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: HeldReview
Answers: 200 FeedRun; errors as problem+json.
GET /api/v1/schedules
Scheduled jobs and their last runs
Scope: data:read (and the privileges of the user or service account behind the token).
Answers: 200 ScheduleList; errors as problem+json.
GET /api/v1/start-of-day
The start-of-day chain of a business date
Scope: data:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
date | query | YYYY-MM-DD |
Answers: 200 StartOfDay; errors as problem+json.
GET /api/v1/data-quality/issues
Data quality issues
Scope: data:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
status | query | open or resolved | |
severity | query | high, medium, low |
Answers: 200 page of DqIssue; errors as problem+json.
Records
GET /api/v1/events
The hash-chained event log
Scope: events:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
category | query | Category | |
action | query | Action | |
user | query | User id | |
from | query | ISO 8601 | |
to | query | ISO 8601 |
Answers: 200 page of Event; errors as problem+json.
GET /api/v1/events/verify
Verify the firm's hash chain
Scope: events:read (and the privileges of the user or service account behind the token).
Answers: 200 ChainCheck; errors as problem+json.
GET /api/v1/ai-log
AI interactions (metadata; inputs and outputs are on the AI log page)
Scope: ai_log:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
purpose | query | Purpose | |
client | query | OAuth client_id |
Answers: 200 page of AiInteraction; errors as problem+json.
AI
POST /api/v1/copilot/questions
Ask the copilot (answers only from what you may see; logged)
Scope: ai:use (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: Question
Answers: 200 CopilotAnswer; errors as problem+json.
POST /api/v1/commands/{screen}
Plan a natural-language command and preview it (screen: portfolio, blotter, monitor, wfrules); nothing runs
Scope: ai:use (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
screen | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: CommandIn
Answers: 201 Command; errors as problem+json.
GET /api/v1/commands/{id}
A command with its plan, preview and results
Scope: ai:use (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 200 Command; errors as problem+json.
POST /api/v1/commands/{id}/execute
Execute the previewed plan (X-Vestoris-Confirm: the preview token; "typed" for large or destructive plans)
Scope: commands:execute (and the privileges of the user or service account behind the token).
Needs X-Vestoris-Confirm with the confirm_token of the preview.
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
X-Vestoris-Confirm | header | yes | The confirm_token of the preview you are confirming. |
Body: CommandExecute
Answers: 200 Command; errors as problem+json.
POST /api/v1/commands/{id}/cancel
Cancel a previewed command
Scope: ai:use (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 200 Command; errors as problem+json.
Webhooks
GET /api/v1/webhooks
Webhooks
Scope: webhooks:read (and the privileges of the user or service account behind the token).
Answers: 200 WebhookList; errors as problem+json.
POST /api/v1/webhooks
Add a webhook (the signing secret is returned once)
Scope: webhooks:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Body: WebhookIn
Answers: 201 WebhookCreated; errors as problem+json.
PATCH /api/v1/webhooks/{id}
Change events, URL or status
Scope: webhooks:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Body: WebhookIn
Answers: 200 Webhook; errors as problem+json.
DELETE /api/v1/webhooks/{id}
Delete a webhook
Scope: webhooks:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes |
Answers: 204 Done (no content); errors as problem+json.
GET /api/v1/webhooks/{id}/deliveries
The delivery log
Scope: webhooks:read (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
limit | query | Page size, 1 to 200 (default 50) | |
cursor | query | The next_cursor of the previous page | |
sort | query | "-id" (newest first, default) or "id" | |
fields | query | Sparse fieldset: comma-separated field names | |
status | query | pending, delivered, failed, dead |
Answers: 200 page of Delivery; errors as problem+json.
POST /api/v1/webhooks/{id}/deliveries/{deliveryId}/redeliver
Send a delivery again
Scope: webhooks:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
deliveryId | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 200 Delivery; errors as problem+json.
POST /api/v1/webhooks/{id}/ping
Send a test event
Scope: webhooks:write (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
id | path | yes | |
Idempotency-Key | header | yes | Any unique string up to 255 characters; the response is replayed for 24 hours. |
Answers: 202 Delivery; errors as problem+json.
Owner
GET /api/v1/owner/inquiries
Inquiries from the site's forms (site administrators only)
Scope: owner:inquiries (and the privileges of the user or service account behind the token).
| Parameter | In | Required | About |
|---|---|---|---|
q | query | Search | |
limit | query | 1-500 |
Answers: 200 InquiryList; errors as problem+json.
Schemas
Problem
| Field | Type | Required |
|---|---|---|
type | string | yes |
title | string | yes |
status | integer | yes |
detail | string | yes |
code | string | yes |
instance | string |
Other fields may be present.
OpenApi
| Field | Type | Required |
|---|---|---|
openapi | string | yes |
info | object | yes |
paths | object | yes |
Other fields may be present.
Me
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
kind | string | yes |
name | string | yes |
role | string | yes |
firm | object | yes |
privileges | list of string | yes |
scopes | list of string | yes |
grant | string | yes |
client_id | string or null | yes |
token_expires_at | string or null (date-time) | yes |
paper_trading | string | yes |
ScopeList
| Field | Type | Required |
|---|---|---|
data | list of ScopeInfo | yes |
ScopeInfo
| Field | Type | Required |
|---|---|---|
scope | string | yes |
description | string | yes |
Job
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
kind | string | yes |
status | string | yes |
result | any | yes |
error | string or null | yes |
created_at | string or null (date-time) | yes |
started_at | string or null (date-time) | yes |
finished_at | string or null (date-time) | yes |
poll | string or null | yes |
Firm
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
name | string | yes |
code | string | yes |
demo | boolean | yes |
status | string | yes |
settings | object | yes |
FirmPatch
| Field | Type | Required |
|---|---|---|
name | string | |
settings | object |
Other fields may be present.
User
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
name | string | yes |
email | string or null | yes |
kind | string | yes |
role | string | yes |
status | string | yes |
privileges | list of string | yes |
privilege_adjustments | object | yes |
last_login_at | string or null (date-time) | yes |
created_at | string or null (date-time) | yes |
Invite
| Field | Type | Required |
|---|---|---|
email | string | yes |
role | string | yes |
name | string |
Other fields may be present.
Invitation
| Field | Type | Required |
|---|---|---|
email | string | yes |
role | string | yes |
status | string | yes |
expires_in_days | integer | yes |
UserPatch
| Field | Type | Required |
|---|---|---|
role | string | |
status | string |
Other fields may be present.
PrivilegeSet
| Field | Type | Required |
|---|---|---|
state | string | yes |
Other fields may be present.
RoleList
| Field | Type | Required |
|---|---|---|
data | list of Role | yes |
Role
| Field | Type | Required |
|---|---|---|
role | string | yes |
label | string | yes |
summary | string | yes |
default_privileges | list of string | yes |
max_account_permissions | list of string | yes |
sees_all_accounts | boolean | yes |
EntitlementList
| Field | Type | Required |
|---|---|---|
data | list of Entitlement | yes |
Entitlement
| Field | Type | Required |
|---|---|---|
user_id | id (string) | yes |
account_id | id (string) | yes |
view | boolean | yes |
propose | boolean | yes |
trade | boolean | yes |
approve | boolean | yes |
PermissionSet
| Field | Type | Required |
|---|---|---|
view | boolean | |
propose | boolean | |
trade | boolean | |
approve | boolean |
Other fields may be present.
AccessReview
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
period | string | yes |
status | string | yes |
drafted_by_ai | boolean | yes |
draft | string | yes |
recommendations | list of any | yes |
created_at | string or null (date-time) | yes |
signed_by | id (string) or null | yes |
signed_at | string or null (date-time) | yes |
sign_note | string or null | yes |
ReviewSignOff
| Field | Type | Required |
|---|---|---|
apply | list of integer | |
note | string |
Other fields may be present.
Security
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
symbol | string | yes |
name | string | yes |
isin | string or null | yes |
cusip | string or null | yes |
sedol | string or null | yes |
figi | string or null | yes |
sec_type | string | yes |
sector | string | yes |
industry | string | yes |
issuer | string | yes |
issuer_code | string or null | yes |
country | string | yes |
asset_class | string | yes |
market_cap_bucket | string | yes |
currency | string | yes |
exchange | string | yes |
avg_daily_volume | decimal string or null | yes |
esg_flags | list of string | yes |
active | boolean | yes |
user_defined | object | yes |
created_at | string or null (date-time) | yes |
SecurityIn
| Field | Type | Required |
|---|---|---|
symbol | string | |
name | string | |
sector | string | |
issuer | string | |
user_defined | object |
Other fields may be present.
Issuer
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
code | string | yes |
name | string | yes |
country | string or null | yes |
lei | string or null | yes |
parent_code | string or null | yes |
active | boolean | yes |
user_defined | object | yes |
updated_at | string or null (date-time) | yes |
Broker
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
code | string | yes |
name | string | yes |
country | string or null | yes |
lei | string or null | yes |
active | boolean | yes |
user_defined | object | yes |
updated_at | string or null (date-time) | yes |
Benchmark
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
code | string | yes |
name | string | yes |
constituents | list of Constituent | yes |
user_defined | object | yes |
updated_at | string or null (date-time) | yes |
Constituent
| Field | Type | Required |
|---|---|---|
symbol | string | yes |
weight_pct | decimal string or null | yes |
AccountGroup
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
code | string | yes |
name | string | yes |
description | string | yes |
account_ids | list of id (string) | yes |
other_accounts | integer | yes |
user_defined | object | yes |
created_at | string or null (date-time) | yes |
AccountGroupIn
| Field | Type | Required |
|---|---|---|
code | string | yes |
name | string | yes |
description | string | |
account_ids | list of any |
Other fields may be present.
SecurityList
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
name | string | yes |
kind | string | yes |
description | string | yes |
created_at | string or null (date-time) | yes |
member_count | integer | yes |
members | list of ListMember |
ListMember
| Field | Type | Required |
|---|---|---|
security_id | id (string) | yes |
symbol | string | yes |
reason | string | yes |
added_at | string or null (date-time) | yes |
user_defined | object | yes |
ListMembersIn
| Field | Type | Required |
|---|---|---|
symbols | list of string | yes |
reason | string |
Other fields may be present.
UdfDefList
| Field | Type | Required |
|---|---|---|
table | string | yes |
data | list of UdfDef | yes |
UdfDef
| Field | Type | Required |
|---|---|---|
slot | any | yes |
column | string | yes |
active | any | yes |
name | any | yes |
description | any | yes |
type | any | yes |
max_length | any | yes |
precision | any | yes |
scale | any | yes |
required | any | yes |
default | any | yes |
min | any | yes |
max | any | yes |
pattern | any | yes |
options | any | yes |
flags | object | yes |
version | any | yes |
updated_at | string or null (date-time) | yes |
UdfDefIn
| Field | Type | Required |
|---|---|---|
name | string | yes |
type | string | yes |
Other fields may be present.
UdfValues
| Field | Type | Required |
|---|---|---|
table | string | yes |
key | string | yes |
values | object | yes |
UdfValuesIn
| Field | Type | Required |
|---|---|---|
values | object | yes |
Other fields may be present.
Account
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
code | string | yes |
name | string | yes |
strategy | string | yes |
tags | list of string | yes |
base_currency | string | yes |
model_id | id (string) or null | yes |
lot_method | string | yes |
status | string | yes |
value | decimal string or null | yes |
cash | decimal string or null | yes |
cash_pct | decimal string or null | yes |
holdings | integer | yes |
your_permissions | list of string | yes |
user_defined | object | yes |
created_at | string or null (date-time) | yes |
AccountIn
| Field | Type | Required |
|---|---|---|
code | string | |
name | string | |
strategy | string | |
tags | any | |
model_id | any | |
lot_method | string |
Other fields may be present.
PositionList
| Field | Type | Required |
|---|---|---|
account_id | id (string) | yes |
as_of | string (date-time) | yes |
value | decimal string or null | yes |
cash | decimal string or null | yes |
data | list of Position | yes |
simulated | boolean | yes |
Position
| Field | Type | Required |
|---|---|---|
security_id | id (string) | yes |
symbol | string | yes |
name | string | yes |
sector | string | yes |
quantity | decimal string or null | yes |
price | decimal string or null | yes |
value | decimal string or null | yes |
cost_basis | decimal string or null | yes |
unrealized_pnl | decimal string or null | yes |
weight_pct | decimal string or null | yes |
LotList
| Field | Type | Required |
|---|---|---|
account_id | id (string) | yes |
data | list of Lot | yes |
Lot
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
security_id | id (string) | yes |
symbol | string | yes |
open_quantity | decimal string or null | yes |
original_quantity | decimal string or null | yes |
unit_cost | decimal string or null | yes |
acquired_on | string or null (date) | yes |
source | string | yes |
Cash
| Field | Type | Required |
|---|---|---|
account_id | id (string) | yes |
balance | decimal string or null | yes |
currency | string | yes |
simulated | boolean | yes |
movements | list of CashMovement | yes |
CashMovement
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
amount | decimal string or null | yes |
reason | string | yes |
at | string or null (date-time) | yes |
CashMove
| Field | Type | Required |
|---|---|---|
amount | string | yes |
direction | string | yes |
Other fields may be present.
Drift
| Field | Type | Required |
|---|---|---|
account_id | id (string) | yes |
model_id | id (string) or null | yes |
tolerance_pct | decimal string or null | yes |
out_of_tolerance | boolean | yes |
data | list of DriftLine | yes |
DriftLine
| Field | Type | Required |
|---|---|---|
symbol | string | yes |
target_pct | decimal string or null | yes |
actual_pct | decimal string or null | yes |
drift_pct | decimal string or null | yes |
Risk
| Field | Type | Required |
|---|---|---|
account_id | id (string) | yes |
value | decimal string or null | yes |
cash_pct | decimal string or null | yes |
holdings | integer | yes |
top_position | object or null | yes |
top5_pct | decimal string or null | yes |
hhi | decimal string or null | yes |
effective_n | decimal string or null | yes |
sectors | object | yes |
issuers | object | yes |
factor_betas | any | yes |
volatility_pct | decimal string or null | yes |
correlation_spikes | list of any | yes |
simulated | boolean | yes |
Model
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
name | string | yes |
description | string | yes |
cash_target_pct | decimal string or null | yes |
drift_tolerance_pct | decimal string or null | yes |
targets | list of ModelTarget | yes |
accounts | integer | yes |
updated_at | string or null (date-time) | yes |
ModelTarget
| Field | Type | Required |
|---|---|---|
symbol | string | yes |
target_pct | decimal string or null | yes |
ModelIn
| Field | Type | Required |
|---|---|---|
name | string | yes |
description | string | |
cash_target_pct | any | |
drift_tolerance_pct | any | |
targets | list of ModelTargetIn | yes |
Other fields may be present.
ModelTargetIn
| Field | Type | Required |
|---|---|---|
symbol | string | yes |
target_pct | any | yes |
RebalanceIn
| Field | Type | Required |
|---|---|---|
account_ids | list of any | yes |
params | object |
Other fields may be present.
WhatIfIn
| Field | Type | Required |
|---|---|---|
account_ids | list of any | yes |
params | object | yes |
Other fields may be present.
Proposal
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
account_id | id (string) | yes |
source | string | yes |
status | string | yes |
pipeline_run_id | id (string) or null | yes |
request | string | yes |
trades | list of ProposedTrade | yes |
summary | any | yes |
explanation | string | yes |
explanation_by_ai | boolean | yes |
created_at | string or null (date-time) | yes |
ProposedTrade
| Field | Type | Required |
|---|---|---|
symbol | string | yes |
side | string | yes |
quantity | decimal string or null | yes |
price | decimal string or null | yes |
value | decimal string or null | yes |
PipelineRun
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
request | string | yes |
status | string | yes |
interpreted_by_ai | boolean | yes |
intent | any | yes |
stages | any | yes |
created_at | string or null (date-time) | yes |
updated_at | string or null (date-time) | yes |
note | string | yes |
PipelineIn
| Field | Type | Required |
|---|---|---|
text | string | yes |
run | boolean |
Other fields may be present.
PriceList
| Field | Type | Required |
|---|---|---|
symbol | string | |
source | string | yes |
simulated | boolean | yes |
data | list of Price | yes |
Price
| Field | Type | Required |
|---|---|---|
symbol | string | yes |
date | string | yes |
close | decimal string or null | yes |
FxList
| Field | Type | Required |
|---|---|---|
data | list of FxRate | yes |
FxRate
| Field | Type | Required |
|---|---|---|
base | string | yes |
quote | string | yes |
date | string | yes |
rate | decimal string or null | yes |
CorporateAction
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
ref | string | yes |
security_id | id (string) | yes |
symbol | string | yes |
kind | string | yes |
ex_date | string or null (date) | yes |
pay_date | string or null (date) | yes |
ratio | decimal string or null | yes |
amount | decimal string or null | yes |
status | string | yes |
applied_at | string or null (date-time) | yes |
AsOf
| Field | Type | Required |
|---|---|---|
dataset | string | yes |
key | string | yes |
date | string | yes |
record | object | yes |
valid_from | string or null (date) | yes |
valid_to | string or null (date) | yes |
batch_id | id (string) or null | yes |
Order
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
security_id | id (string) | yes |
symbol | string | yes |
side | string | yes |
order_type | string | yes |
limit_price | decimal string or null | yes |
quantity | decimal string | yes |
filled_quantity | decimal string or null | yes |
avg_fill_price | decimal string or null | yes |
state | string | yes |
compliance_state | string | yes |
is_block | boolean | yes |
algo | string | yes |
slices | integer | yes |
arrival_price | decimal string or null | yes |
approval_required | boolean | yes |
approval_reason | string | yes |
status_reason | string | yes |
notes | string | yes |
venue | string | yes |
created_by | id (string) or null | yes |
approved_by | id (string) or null | yes |
trader_id | id (string) or null | yes |
pipeline_run_id | id (string) or null | yes |
proposal_id | id (string) or null | yes |
allocations | list of Allocation | yes |
hidden_allocations | integer | yes |
allocated_at | string or null (date-time) | yes |
created_at | string or null (date-time) | yes |
submitted_at | string or null (date-time) | yes |
approved_at | string or null (date-time) | yes |
working_at | string or null (date-time) | yes |
done_at | string or null (date-time) | yes |
simulated | boolean | yes |
result | object | |
history | list of OrderHistory |
OrderSummary
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
symbol | string | yes |
side | string | yes |
order_type | string | yes |
quantity | decimal string | yes |
filled_quantity | decimal string or null | yes |
limit_price | decimal string or null | yes |
avg_fill_price | decimal string or null | yes |
state | string | yes |
compliance_state | string | yes |
is_block | boolean | yes |
algo | string | yes |
created_by | id (string) or null | yes |
created_at | string or null (date-time) | yes |
Allocation
| Field | Type | Required |
|---|---|---|
account_id | id (string) | yes |
quantity | decimal string or null | yes |
filled_quantity | decimal string or null | yes |
OrderHistory
| Field | Type | Required |
|---|---|---|
from | string | yes |
to | string | yes |
by | id (string) or null | yes |
reason | string | yes |
at | string or null (date-time) | yes |
OrderIn
| Field | Type | Required |
|---|---|---|
symbol | string | |
security_id | any | |
side | string | yes |
order_type | string | |
limit_price | any | |
notes | string | |
allocations | list of AllocationIn | yes |
Other fields may be present.
AllocationIn
| Field | Type | Required |
|---|---|---|
account_id | any | yes |
quantity | any | yes |
lot_ids | list of any |
OrderAmend
| Field | Type | Required |
|---|---|---|
quantity | any | |
limit_price | any | |
reason | string |
Other fields may be present.
Reason
| Field | Type | Required |
|---|---|---|
reason | string | yes |
Other fields may be present.
Note
| Field | Type | Required |
|---|---|---|
note | string |
Other fields may be present.
Release
| Field | Type | Required |
|---|---|---|
algo | string | |
slices | integer | |
mode | string |
Other fields may be present.
Decision
| Field | Type | Required |
|---|---|---|
decision | string | yes |
note | string |
Other fields may be present.
FillList
| Field | Type | Required |
|---|---|---|
order_id | id (string) | yes |
data | list of Fill | yes |
Fill
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
order_id | id (string) | yes |
quantity | decimal string or null | yes |
price | decimal string or null | yes |
arrival_price | decimal string or null | yes |
market_price | decimal string or null | yes |
slippage_bps | decimal string or null | yes |
sim_time | string | yes |
created_at | string or null (date-time) | yes |
simulated | boolean | yes |
Override
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
order_id | id (string) | yes |
order_value | decimal string or null | yes |
reason | string | yes |
status | string | yes |
requested_by | id (string) or null | yes |
requested_at | string or null (date-time) | yes |
decided_by | id (string) or null | yes |
decided_at | string or null (date-time) | yes |
decision_note | string or null | yes |
BlotterViewList
| Field | Type | Required |
|---|---|---|
data | list of BlotterView | yes |
BlotterView
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
name | string | yes |
shared | boolean | yes |
mine | boolean | yes |
my_default | boolean | yes |
firm_default | boolean | yes |
config | any | yes |
notices | list of any |
BlotterViewIn
| Field | Type | Required |
|---|---|---|
name | string | yes |
config | object | yes |
shared | boolean |
Other fields may be present.
Rule
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
lineage_id | id (string) | yes |
version | integer | yes |
name | string | yes |
rule_type | string | yes |
severity | string | yes |
status | string | yes |
display_status | string | yes |
pending_action | string | yes |
definition | object | yes |
definition_hash | string | yes |
restatement | string | yes |
source_text | string | yes |
drafted_by_ai | boolean | yes |
test_bench | object or null | yes |
effective_from | string or null (date-time) | yes |
effective_to | string or null (date-time) | yes |
created_by | id (string) or null | yes |
created_at | string or null (date-time) | yes |
decided_by | id (string) or null | yes |
decided_at | string or null (date-time) | yes |
decision_note | string | yes |
RuleList
| Field | Type | Required |
|---|---|---|
data | list of Rule | yes |
RuleIn
| Field | Type | Required |
|---|---|---|
name | string | |
rule_type | string | |
params | object | |
scope | object | |
severity | string | |
run_points | list of string | |
change_of | any | |
source_text | string |
Other fields may be present.
Days
| Field | Type | Required |
|---|---|---|
days | integer |
Other fields may be present.
SignOffPreview
| Field | Type | Required |
|---|---|---|
rule | object | yes |
action | string | yes |
restatement | string | yes |
test_bench | any | yes |
confirm_token | string | yes |
how | string | yes |
source_text | string | |
four_eyes | object | |
needs | list of string |
SignOff
| Field | Type | Required |
|---|---|---|
reason | string | yes |
effective | string |
Other fields may be present.
Violation
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
kind | string | yes |
status | string | yes |
severity | string | yes |
rule_id | id (string) | yes |
rule_name | string | yes |
rule_type | string | yes |
account_id | id (string) | yes |
account_name | string | yes |
order_id | id (string) or null | yes |
security_id | id (string) or null | yes |
symbol | string or null | yes |
measured | decimal string or null | yes |
limit | decimal string or null | yes |
message | string | yes |
owner_id | id (string) or null | yes |
due_at | string or null (date-time) | yes |
review_note | string | yes |
created_at | string or null (date-time) | yes |
reviewed_at | string or null (date-time) | yes |
resolved_at | string or null (date-time) | yes |
history | list of any |
ViolationTransition
| Field | Type | Required |
|---|---|---|
to | string | |
note | string | |
owner_id | any | |
due | string |
Other fields may be present.
PackageList
| Field | Type | Required |
|---|---|---|
data | list of any | yes |
groups | list of any | yes |
exceptions | list of any | yes |
Register
| Field | Type | Required |
|---|---|---|
data | list of RegisterEntry | yes |
generated_at | string (date-time) | yes |
note | string | yes |
RegisterEntry
| Field | Type | Required |
|---|---|---|
lineage_id | id (string) | yes |
current | Rule | yes |
violations | integer | yes |
open_violations | integer | yes |
versions | list of Rule | yes |
approvals | list of any | yes |
Report
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
title | string | yes |
period_start | string or null (date) | yes |
period_end | string or null (date) | yes |
status | string | yes |
drafted_by_ai | boolean | yes |
text | string | yes |
final_sha256 | string or null | yes |
facts | object | yes |
created_at | string or null (date-time) | yes |
finalized_at | string or null (date-time) | yes |
ReportIn
| Field | Type | Required |
|---|---|---|
from | string | yes |
to | string | yes |
Other fields may be present.
Alert
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
kind | string | yes |
severity | string | yes |
status | string | yes |
summary | string | yes |
details | object | yes |
suggested_fix | string | yes |
narrative | string or null | yes |
narrative_by_ai | boolean | yes |
user_id | id (string) or null | yes |
account_id | id (string) or null | yes |
order_id | id (string) or null | yes |
security_id | id (string) or null | yes |
review_note | string | yes |
reviewer_id | id (string) or null | yes |
created_at | string or null (date-time) | yes |
reviewed_at | string or null (date-time) | yes |
AlertReview
| Field | Type | Required |
|---|---|---|
status | string | yes |
note | string |
Other fields may be present.
WorkflowItem
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
type | string | yes |
item_id | id (string) | yes |
title | string | yes |
status | string | yes |
outcome | string or null | yes |
stage | string | yes |
stage_label | string | yes |
priority | integer | yes |
owner_id | id (string) or null | yes |
owner | string | yes |
desk_id | id (string) or null | yes |
desk | string | yes |
requester_id | id (string) or null | yes |
accounts | list of any | yes |
symbol | string or null | yes |
notional | decimal string or null | yes |
origin | string | yes |
age_seconds | integer | yes |
in_stage_seconds | integer | yes |
sla | string | yes |
sla_minutes | integer or null | yes |
sla_due_at | string or null (date-time) | yes |
escalation_level | integer | yes |
blocking | string or null | yes |
next_action | string or null | yes |
can | object | yes |
why | string | |
decision | object | |
progress | any | |
your_approval_counts | boolean | |
stages | list of any | |
comments | list of any | |
watching | boolean | |
note | string |
WorkflowAction
| Field | Type | Required |
|---|---|---|
action | string | yes |
user_id | any | |
desk_id | any | |
priority | any | |
why | string | |
body | string |
Other fields may be present.
MyWork
| Field | Type | Required |
|---|---|---|
waiting | list of WorkflowItem | yes |
requested | list of WorkflowItem | yes |
watching | list of WorkflowItem | yes |
WorkflowRule
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
lineage_id | id (string) | yes |
version | integer | yes |
name | string | yes |
item_type | string | yes |
priority | integer | yes |
status | string | yes |
state | string | yes |
is_default | boolean | yes |
conditions | any | yes |
actions | list of any | yes |
restatement | string | yes |
source_text | string | yes |
drafted_by_ai | boolean | yes |
pending_action | string or null | yes |
weakens | boolean | yes |
weakens_why | string | yes |
signoffs | object | yes |
test_bench | object or null | yes |
effective_from | string or null (date-time) | yes |
effective_to | string or null (date-time) | yes |
created_by | id (string) or null | yes |
created_at | string or null (date-time) | yes |
done | boolean | |
still_needed | list of string |
WorkflowRuleIn
| Field | Type | Required |
|---|---|---|
text | string | |
name | string | |
item_type | string | |
priority | integer | |
conditions | object | |
actions | list of any | |
change_of | any |
Other fields may be present.
WorkflowSignOff
| Field | Type | Required |
|---|---|---|
as | string | yes |
note | string | |
effective | string |
Other fields may be present.
DeskList
| Field | Type | Required |
|---|---|---|
data | list of any | yes |
SlaList
| Field | Type | Required |
|---|---|---|
data | list of any | yes |
MonitorViewList
| Field | Type | Required |
|---|---|---|
data | list of any | yes |
LegacyBatch
| Field | Type | Required |
|---|---|---|
ok | boolean | yes |
batch | object | yes |
review | string or null | yes |
LegacyBatchStatus
| Field | Type | Required |
|---|---|---|
ok | boolean | yes |
batch | object | yes |
progress | object | yes |
LegacyBundle
| Field | Type | Required |
|---|---|---|
ok | boolean | yes |
bundle | object | yes |
needs_review | list of string |
LegacyFeedFile
| Field | Type | Required |
|---|---|---|
ok | boolean | yes |
result | string | yes |
business_date | string or null | yes |
code | string | yes |
message | string | yes |
batch | integer or null | yes |
Batch
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
dataset | string | yes |
status | string | yes |
source | string | yes |
mode | string | yes |
file_name | string | yes |
sha256 | string | yes |
business_date | string or null (date) | yes |
counts | object | yes |
message | string | yes |
hold_reason | string or null | yes |
created_at | string or null (date-time) | yes |
applied_at | string or null (date-time) | yes |
undone_at | string or null (date-time) | yes |
BatchRows
| Field | Type | Required |
|---|---|---|
batch | Batch | yes |
data | list of BatchRow | yes |
next_offset | integer or null | yes |
has_more | boolean | yes |
BatchRow
| Field | Type | Required |
|---|---|---|
row | integer | yes |
status | string | yes |
key | string | yes |
data | object | yes |
diff | object | yes |
errors | list of any | yes |
FeedList
| Field | Type | Required |
|---|---|---|
data | list of Feed | yes |
Feed
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
name | string | yes |
dataset | string | yes |
source | string | yes |
format | string | yes |
filename_pattern | string | yes |
apply_mode | string | yes |
expected_by | string or null | yes |
cutoff | string or null | yes |
calendar | string | yes |
sod_step | string or null | yes |
depends_on | list of string | yes |
active | boolean | yes |
FeedRunList
| Field | Type | Required |
|---|---|---|
business_date | string | yes |
data | list of FeedRun | yes |
FeedRun
| Field | Type | Required |
|---|---|---|
id | id (string) or null | yes |
feed_id | id (string) | yes |
feed | string | yes |
dataset | string | yes |
status | string | yes |
file_name | string | yes |
batch_id | id (string) or null | yes |
rows | integer | yes |
code | string | yes |
message | string | yes |
arrived_at | string or null (date-time) | yes |
finished_at | string or null (date-time) | yes |
HeldReview
| Field | Type | Required |
|---|---|---|
action | string | yes |
reason | string |
Other fields may be present.
ScheduleList
| Field | Type | Required |
|---|---|---|
data | list of any | yes |
recent_runs | list of any | yes |
StartOfDay
| Field | Type | Required |
|---|---|---|
business_date | string | yes |
status | string | yes |
steps | any | yes |
message | string | yes |
completed_at | string or null (date-time) | |
override_reason | string |
DqIssue
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
detector | string | yes |
severity | string | yes |
dataset | string | yes |
key | string | yes |
summary | string | yes |
details | object | yes |
narrative | string or null | yes |
status | string | yes |
first_seen | string or null (date-time) | yes |
last_seen | string or null (date-time) | yes |
resolved_at | string or null (date-time) | yes |
Event
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
at | string or null (date-time) | yes |
user_id | id (string) or null | yes |
actor | string | yes |
category | string | yes |
action | string | yes |
entity_type | string or null | yes |
entity_id | id (string) or null | yes |
account_id | id (string) or null | yes |
outcome | string | yes |
details | object | yes |
prev_hash | string | yes |
hash | string | yes |
ChainCheck
| Field | Type | Required |
|---|---|---|
ok | boolean | yes |
rows | integer | yes |
first_bad_id | string or null | yes |
verified_at | string or null (date-time) | yes |
AiInteraction
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
user_id | id (string) or null | yes |
client_id | string or null | yes |
purpose | string | yes |
model | string | yes |
fallback | boolean | yes |
ok | boolean | yes |
error | string or null | yes |
latency_ms | integer | yes |
input_tokens | integer | yes |
output_tokens | integer | yes |
input_sha256 | string | yes |
output_sha256 | string or null | yes |
created_at | string or null (date-time) | yes |
Question
| Field | Type | Required |
|---|---|---|
question | string | yes |
Other fields may be present.
CopilotAnswer
| Field | Type | Required |
|---|---|---|
answer | string | yes |
by_ai | boolean | yes |
suggested_actions | list of any | yes |
note | string | yes |
CommandIn
| Field | Type | Required |
|---|---|---|
text | string | yes |
answer_to | any |
Other fields may be present.
CommandExecute
Any JSON object.
Other fields may be present.
Command
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
screen | string | yes |
text | string | yes |
status | string | yes |
planned_by_ai | boolean | yes |
question | string or null | yes |
message | string | yes |
plan | object | yes |
preview | object or null | yes |
item_count | integer | yes |
confirm_token | string or null | yes |
typed_confirmation | string or null | yes |
results | list of any | yes |
created_at | string or null (date-time) | yes |
previewed_at | string or null (date-time) | yes |
executed_at | string or null (date-time) | yes |
WebhookList
| Field | Type | Required |
|---|---|---|
data | list of Webhook | yes |
event_types | list of ScopeLikeType | yes |
signing | string | yes |
ScopeLikeType
| Field | Type | Required |
|---|---|---|
type | string | yes |
description | string | yes |
Webhook
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
url | string | yes |
events | list of string | yes |
status | string | yes |
description | string | yes |
failing_deliveries | integer | yes |
created_at | string or null (date-time) | yes |
last_delivery_at | string or null (date-time) | yes |
secret | string | |
secret_note | string |
WebhookCreated
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
url | string | yes |
events | list of string | yes |
status | string | yes |
description | string | yes |
failing_deliveries | integer | yes |
created_at | string or null (date-time) | yes |
last_delivery_at | string or null (date-time) | yes |
secret | string or null | yes |
secret_note | string | yes |
WebhookIn
| Field | Type | Required |
|---|---|---|
url | string | |
events | list of string | |
status | string | |
description | string | |
rotate_secret | boolean |
Other fields may be present.
Delivery
| Field | Type | Required |
|---|---|---|
id | id (string) | yes |
webhook_id | id (string) | yes |
event_type | string | yes |
event_id | string | yes |
status | string | yes |
attempts | integer | yes |
last_status | integer or null | yes |
last_error | string or null | yes |
next_attempt_at | string or null (date-time) | yes |
created_at | string or null (date-time) | yes |
delivered_at | string or null (date-time) | yes |
payload | any | yes |
InquiryList
| Field | Type | Required |
|---|---|---|
data | list of Inquiry | yes |
Inquiry
| Field | Type | Required |
|---|---|---|
id | string | yes |
received_at | string or null (date-time) | yes |
form | string | yes |
name | string | yes |
email | string | yes |
phone | string or null | yes |
company | string or null | yes |
subject | string | yes |
message | string | yes |
status | string | yes |