Developers

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/scopes

Every scope with its meaning

Answers: 200 ScopeList; errors as problem+json.

GET /api/v1/jobs/{id}

A long-running operation (202 responses point here)

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
If-MatchheaderyesThe 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
rolequeryFilter by role
statusqueryactive or disabled
kindqueryperson 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
If-MatchheaderyesThe 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).

ParameterInRequiredAbout
idpathyes
privilegepathyes

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).

ParameterInRequiredAbout
userIdpathyes
accountIdpathyes

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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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.

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
symbolqueryExact symbol
sectorquerySector
activequerytrue or false
isinqueryISIN

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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
If-MatchheaderyesThe 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
codequeryIssuer 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
kindqueryrestricted, 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
securityIdpathyes

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).

ParameterInRequiredAbout
tablepathyes

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).

ParameterInRequiredAbout
tablepathyes
slotpathyes

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).

ParameterInRequiredAbout
tablepathyes
keypathyes

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).

ParameterInRequiredAbout
tablepathyes
keypathyes
If-MatchheaderyesThe 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
tagqueryAccount tag
modelqueryModel 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
If-MatchheaderyesThe 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
If-MatchheaderyesThe 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}).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
accountqueryAccount id
statusqueryproposed, 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
symbolqueryyesSymbol (required)
daysqueryHow 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).

ParameterInRequiredAbout
symbolsqueryComma-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).

ParameterInRequiredAbout
basequeryBase currency
quotequeryQuote currency
datequeryYYYY-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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
statusquerypending, applied
securityquerySecurity 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).

ParameterInRequiredAbout
datasetpathyes
keypathyes
datequeryyesYYYY-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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
statequeryComma-separated states
sidequerybuy or sell
symbolquerySymbol
accountqueryAccount id
created_fromqueryISO 8601
created_toqueryISO 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny unique string up to 255 characters; the response is replayed for 24 hours.
If-MatchheaderyesThe 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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.

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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.

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
orderqueryOrder id
fromqueryISO 8601
toqueryISO 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
statusquerypending, 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.

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
statusquerydraft, pending_approval, active, retired, superseded
rule_typequeryRule 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
If-MatchheaderyesThe 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).

ParameterInRequiredAbout
idpathyes

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}).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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.

ParameterInRequiredAbout
idpathyes

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.

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny unique string up to 255 characters; the response is replayed for 24 hours.
X-Vestoris-ConfirmheaderyesThe 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.

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
statusqueryopen, acknowledged, resolved, waived, escalated
accountqueryAccount id
severityqueryblock 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
formatqueryjson (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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse 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}).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
kindquerysurveillance, cross_component, access or orders
statusqueryopen, 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
typequeryItem type
stagequeryStage
ownerqueryUser id, "me" or "none"
deskqueryDesk id
slaquerygreen, amber, red, escalated
priorityquery1-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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
statusquerydraft, pending, active, superseded, retired, rejected
item_typequeryItem 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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}).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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.

ParameterInRequiredAbout
idpathyes

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.

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny unique string up to 255 characters; the response is replayed for 24 hours.
X-Vestoris-ConfirmheaderyesThe 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).

ParameterInRequiredAbout
datasetpathyes
filenamequeryyesFile name with extension (required)
modequeryupsert (default) or full
business_datequeryYYYY-MM-DD
applyquery"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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
datasetqueryData set
statusquerystaged, 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
statusquerynew, changed, unchanged, rejected
limitquery1-500
offsetqueryOffset

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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
filenamequeryThe .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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
filenamequeryThe 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).

ParameterInRequiredAbout
datequeryYYYY-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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
datequeryYYYY-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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
statusqueryopen or resolved
severityqueryhigh, 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
categoryqueryCategory
actionqueryAction
userqueryUser id
fromqueryISO 8601
toqueryISO 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).

ParameterInRequiredAbout
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
purposequeryPurpose
clientqueryOAuth 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
screenpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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.

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny unique string up to 255 characters; the response is replayed for 24 hours.
X-Vestoris-ConfirmheaderyesThe 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes

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).

ParameterInRequiredAbout
idpathyes
limitqueryPage size, 1 to 200 (default 50)
cursorqueryThe next_cursor of the previous page
sortquery"-id" (newest first, default) or "id"
fieldsquerySparse fieldset: comma-separated field names
statusquerypending, 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).

ParameterInRequiredAbout
idpathyes
deliveryIdpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
idpathyes
Idempotency-KeyheaderyesAny 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).

ParameterInRequiredAbout
qquerySearch
limitquery1-500

Answers: 200 InquiryList; errors as problem+json.

Schemas

Problem

FieldTypeRequired
typestringyes
titlestringyes
statusintegeryes
detailstringyes
codestringyes
instancestring

Other fields may be present.

OpenApi

FieldTypeRequired
openapistringyes
infoobjectyes
pathsobjectyes

Other fields may be present.

Me

FieldTypeRequired
idid (string)yes
kindstringyes
namestringyes
rolestringyes
firmobjectyes
privilegeslist of stringyes
scopeslist of stringyes
grantstringyes
client_idstring or nullyes
token_expires_atstring or null (date-time)yes
paper_tradingstringyes

ScopeList

FieldTypeRequired
datalist of ScopeInfoyes

ScopeInfo

FieldTypeRequired
scopestringyes
descriptionstringyes

Job

FieldTypeRequired
idid (string)yes
kindstringyes
statusstringyes
resultanyyes
errorstring or nullyes
created_atstring or null (date-time)yes
started_atstring or null (date-time)yes
finished_atstring or null (date-time)yes
pollstring or nullyes

Firm

FieldTypeRequired
idid (string)yes
namestringyes
codestringyes
demobooleanyes
statusstringyes
settingsobjectyes

FirmPatch

FieldTypeRequired
namestring
settingsobject

Other fields may be present.

User

FieldTypeRequired
idid (string)yes
namestringyes
emailstring or nullyes
kindstringyes
rolestringyes
statusstringyes
privilegeslist of stringyes
privilege_adjustmentsobjectyes
last_login_atstring or null (date-time)yes
created_atstring or null (date-time)yes

Invite

FieldTypeRequired
emailstringyes
rolestringyes
namestring

Other fields may be present.

Invitation

FieldTypeRequired
emailstringyes
rolestringyes
statusstringyes
expires_in_daysintegeryes

UserPatch

FieldTypeRequired
rolestring
statusstring

Other fields may be present.

PrivilegeSet

FieldTypeRequired
statestringyes

Other fields may be present.

RoleList

FieldTypeRequired
datalist of Roleyes

Role

FieldTypeRequired
rolestringyes
labelstringyes
summarystringyes
default_privilegeslist of stringyes
max_account_permissionslist of stringyes
sees_all_accountsbooleanyes

EntitlementList

FieldTypeRequired
datalist of Entitlementyes

Entitlement

FieldTypeRequired
user_idid (string)yes
account_idid (string)yes
viewbooleanyes
proposebooleanyes
tradebooleanyes
approvebooleanyes

PermissionSet

FieldTypeRequired
viewboolean
proposeboolean
tradeboolean
approveboolean

Other fields may be present.

AccessReview

FieldTypeRequired
idid (string)yes
periodstringyes
statusstringyes
drafted_by_aibooleanyes
draftstringyes
recommendationslist of anyyes
created_atstring or null (date-time)yes
signed_byid (string) or nullyes
signed_atstring or null (date-time)yes
sign_notestring or nullyes

ReviewSignOff

FieldTypeRequired
applylist of integer
notestring

Other fields may be present.

Security

FieldTypeRequired
idid (string)yes
symbolstringyes
namestringyes
isinstring or nullyes
cusipstring or nullyes
sedolstring or nullyes
figistring or nullyes
sec_typestringyes
sectorstringyes
industrystringyes
issuerstringyes
issuer_codestring or nullyes
countrystringyes
asset_classstringyes
market_cap_bucketstringyes
currencystringyes
exchangestringyes
avg_daily_volumedecimal string or nullyes
esg_flagslist of stringyes
activebooleanyes
user_definedobjectyes
created_atstring or null (date-time)yes

SecurityIn

FieldTypeRequired
symbolstring
namestring
sectorstring
issuerstring
user_definedobject

Other fields may be present.

Issuer

FieldTypeRequired
idid (string)yes
codestringyes
namestringyes
countrystring or nullyes
leistring or nullyes
parent_codestring or nullyes
activebooleanyes
user_definedobjectyes
updated_atstring or null (date-time)yes

Broker

FieldTypeRequired
idid (string)yes
codestringyes
namestringyes
countrystring or nullyes
leistring or nullyes
activebooleanyes
user_definedobjectyes
updated_atstring or null (date-time)yes

Benchmark

FieldTypeRequired
idid (string)yes
codestringyes
namestringyes
constituentslist of Constituentyes
user_definedobjectyes
updated_atstring or null (date-time)yes

Constituent

FieldTypeRequired
symbolstringyes
weight_pctdecimal string or nullyes

AccountGroup

FieldTypeRequired
idid (string)yes
codestringyes
namestringyes
descriptionstringyes
account_idslist of id (string)yes
other_accountsintegeryes
user_definedobjectyes
created_atstring or null (date-time)yes

AccountGroupIn

FieldTypeRequired
codestringyes
namestringyes
descriptionstring
account_idslist of any

Other fields may be present.

SecurityList

FieldTypeRequired
idid (string)yes
namestringyes
kindstringyes
descriptionstringyes
created_atstring or null (date-time)yes
member_countintegeryes
memberslist of ListMember

ListMember

FieldTypeRequired
security_idid (string)yes
symbolstringyes
reasonstringyes
added_atstring or null (date-time)yes
user_definedobjectyes

ListMembersIn

FieldTypeRequired
symbolslist of stringyes
reasonstring

Other fields may be present.

UdfDefList

FieldTypeRequired
tablestringyes
datalist of UdfDefyes

UdfDef

FieldTypeRequired
slotanyyes
columnstringyes
activeanyyes
nameanyyes
descriptionanyyes
typeanyyes
max_lengthanyyes
precisionanyyes
scaleanyyes
requiredanyyes
defaultanyyes
minanyyes
maxanyyes
patternanyyes
optionsanyyes
flagsobjectyes
versionanyyes
updated_atstring or null (date-time)yes

UdfDefIn

FieldTypeRequired
namestringyes
typestringyes

Other fields may be present.

UdfValues

FieldTypeRequired
tablestringyes
keystringyes
valuesobjectyes

UdfValuesIn

FieldTypeRequired
valuesobjectyes

Other fields may be present.

Account

FieldTypeRequired
idid (string)yes
codestringyes
namestringyes
strategystringyes
tagslist of stringyes
base_currencystringyes
model_idid (string) or nullyes
lot_methodstringyes
statusstringyes
valuedecimal string or nullyes
cashdecimal string or nullyes
cash_pctdecimal string or nullyes
holdingsintegeryes
your_permissionslist of stringyes
user_definedobjectyes
created_atstring or null (date-time)yes

AccountIn

FieldTypeRequired
codestring
namestring
strategystring
tagsany
model_idany
lot_methodstring

Other fields may be present.

PositionList

FieldTypeRequired
account_idid (string)yes
as_ofstring (date-time)yes
valuedecimal string or nullyes
cashdecimal string or nullyes
datalist of Positionyes
simulatedbooleanyes

Position

FieldTypeRequired
security_idid (string)yes
symbolstringyes
namestringyes
sectorstringyes
quantitydecimal string or nullyes
pricedecimal string or nullyes
valuedecimal string or nullyes
cost_basisdecimal string or nullyes
unrealized_pnldecimal string or nullyes
weight_pctdecimal string or nullyes

LotList

FieldTypeRequired
account_idid (string)yes
datalist of Lotyes

Lot

FieldTypeRequired
idid (string)yes
security_idid (string)yes
symbolstringyes
open_quantitydecimal string or nullyes
original_quantitydecimal string or nullyes
unit_costdecimal string or nullyes
acquired_onstring or null (date)yes
sourcestringyes

Cash

FieldTypeRequired
account_idid (string)yes
balancedecimal string or nullyes
currencystringyes
simulatedbooleanyes
movementslist of CashMovementyes

CashMovement

FieldTypeRequired
idid (string)yes
amountdecimal string or nullyes
reasonstringyes
atstring or null (date-time)yes

CashMove

FieldTypeRequired
amountstringyes
directionstringyes

Other fields may be present.

Drift

FieldTypeRequired
account_idid (string)yes
model_idid (string) or nullyes
tolerance_pctdecimal string or nullyes
out_of_tolerancebooleanyes
datalist of DriftLineyes

DriftLine

FieldTypeRequired
symbolstringyes
target_pctdecimal string or nullyes
actual_pctdecimal string or nullyes
drift_pctdecimal string or nullyes

Risk

FieldTypeRequired
account_idid (string)yes
valuedecimal string or nullyes
cash_pctdecimal string or nullyes
holdingsintegeryes
top_positionobject or nullyes
top5_pctdecimal string or nullyes
hhidecimal string or nullyes
effective_ndecimal string or nullyes
sectorsobjectyes
issuersobjectyes
factor_betasanyyes
volatility_pctdecimal string or nullyes
correlation_spikeslist of anyyes
simulatedbooleanyes

Model

FieldTypeRequired
idid (string)yes
namestringyes
descriptionstringyes
cash_target_pctdecimal string or nullyes
drift_tolerance_pctdecimal string or nullyes
targetslist of ModelTargetyes
accountsintegeryes
updated_atstring or null (date-time)yes

ModelTarget

FieldTypeRequired
symbolstringyes
target_pctdecimal string or nullyes

ModelIn

FieldTypeRequired
namestringyes
descriptionstring
cash_target_pctany
drift_tolerance_pctany
targetslist of ModelTargetInyes

Other fields may be present.

ModelTargetIn

FieldTypeRequired
symbolstringyes
target_pctanyyes

RebalanceIn

FieldTypeRequired
account_idslist of anyyes
paramsobject

Other fields may be present.

WhatIfIn

FieldTypeRequired
account_idslist of anyyes
paramsobjectyes

Other fields may be present.

Proposal

FieldTypeRequired
idid (string)yes
account_idid (string)yes
sourcestringyes
statusstringyes
pipeline_run_idid (string) or nullyes
requeststringyes
tradeslist of ProposedTradeyes
summaryanyyes
explanationstringyes
explanation_by_aibooleanyes
created_atstring or null (date-time)yes

ProposedTrade

FieldTypeRequired
symbolstringyes
sidestringyes
quantitydecimal string or nullyes
pricedecimal string or nullyes
valuedecimal string or nullyes

PipelineRun

FieldTypeRequired
idid (string)yes
requeststringyes
statusstringyes
interpreted_by_aibooleanyes
intentanyyes
stagesanyyes
created_atstring or null (date-time)yes
updated_atstring or null (date-time)yes
notestringyes

PipelineIn

FieldTypeRequired
textstringyes
runboolean

Other fields may be present.

PriceList

FieldTypeRequired
symbolstring
sourcestringyes
simulatedbooleanyes
datalist of Priceyes

Price

FieldTypeRequired
symbolstringyes
datestringyes
closedecimal string or nullyes

FxList

FieldTypeRequired
datalist of FxRateyes

FxRate

FieldTypeRequired
basestringyes
quotestringyes
datestringyes
ratedecimal string or nullyes

CorporateAction

FieldTypeRequired
idid (string)yes
refstringyes
security_idid (string)yes
symbolstringyes
kindstringyes
ex_datestring or null (date)yes
pay_datestring or null (date)yes
ratiodecimal string or nullyes
amountdecimal string or nullyes
statusstringyes
applied_atstring or null (date-time)yes

AsOf

FieldTypeRequired
datasetstringyes
keystringyes
datestringyes
recordobjectyes
valid_fromstring or null (date)yes
valid_tostring or null (date)yes
batch_idid (string) or nullyes

Order

FieldTypeRequired
idid (string)yes
security_idid (string)yes
symbolstringyes
sidestringyes
order_typestringyes
limit_pricedecimal string or nullyes
quantitydecimal stringyes
filled_quantitydecimal string or nullyes
avg_fill_pricedecimal string or nullyes
statestringyes
compliance_statestringyes
is_blockbooleanyes
algostringyes
slicesintegeryes
arrival_pricedecimal string or nullyes
approval_requiredbooleanyes
approval_reasonstringyes
status_reasonstringyes
notesstringyes
venuestringyes
created_byid (string) or nullyes
approved_byid (string) or nullyes
trader_idid (string) or nullyes
pipeline_run_idid (string) or nullyes
proposal_idid (string) or nullyes
allocationslist of Allocationyes
hidden_allocationsintegeryes
allocated_atstring or null (date-time)yes
created_atstring or null (date-time)yes
submitted_atstring or null (date-time)yes
approved_atstring or null (date-time)yes
working_atstring or null (date-time)yes
done_atstring or null (date-time)yes
simulatedbooleanyes
resultobject
historylist of OrderHistory

OrderSummary

FieldTypeRequired
idid (string)yes
symbolstringyes
sidestringyes
order_typestringyes
quantitydecimal stringyes
filled_quantitydecimal string or nullyes
limit_pricedecimal string or nullyes
avg_fill_pricedecimal string or nullyes
statestringyes
compliance_statestringyes
is_blockbooleanyes
algostringyes
created_byid (string) or nullyes
created_atstring or null (date-time)yes

Allocation

FieldTypeRequired
account_idid (string)yes
quantitydecimal string or nullyes
filled_quantitydecimal string or nullyes

OrderHistory

FieldTypeRequired
fromstringyes
tostringyes
byid (string) or nullyes
reasonstringyes
atstring or null (date-time)yes

OrderIn

FieldTypeRequired
symbolstring
security_idany
sidestringyes
order_typestring
limit_priceany
notesstring
allocationslist of AllocationInyes

Other fields may be present.

AllocationIn

FieldTypeRequired
account_idanyyes
quantityanyyes
lot_idslist of any

OrderAmend

FieldTypeRequired
quantityany
limit_priceany
reasonstring

Other fields may be present.

Reason

FieldTypeRequired
reasonstringyes

Other fields may be present.

Note

FieldTypeRequired
notestring

Other fields may be present.

Release

FieldTypeRequired
algostring
slicesinteger
modestring

Other fields may be present.

Decision

FieldTypeRequired
decisionstringyes
notestring

Other fields may be present.

FillList

FieldTypeRequired
order_idid (string)yes
datalist of Fillyes

Fill

FieldTypeRequired
idid (string)yes
order_idid (string)yes
quantitydecimal string or nullyes
pricedecimal string or nullyes
arrival_pricedecimal string or nullyes
market_pricedecimal string or nullyes
slippage_bpsdecimal string or nullyes
sim_timestringyes
created_atstring or null (date-time)yes
simulatedbooleanyes

Override

FieldTypeRequired
idid (string)yes
order_idid (string)yes
order_valuedecimal string or nullyes
reasonstringyes
statusstringyes
requested_byid (string) or nullyes
requested_atstring or null (date-time)yes
decided_byid (string) or nullyes
decided_atstring or null (date-time)yes
decision_notestring or nullyes

BlotterViewList

FieldTypeRequired
datalist of BlotterViewyes

BlotterView

FieldTypeRequired
idid (string)yes
namestringyes
sharedbooleanyes
minebooleanyes
my_defaultbooleanyes
firm_defaultbooleanyes
configanyyes
noticeslist of any

BlotterViewIn

FieldTypeRequired
namestringyes
configobjectyes
sharedboolean

Other fields may be present.

Rule

FieldTypeRequired
idid (string)yes
lineage_idid (string)yes
versionintegeryes
namestringyes
rule_typestringyes
severitystringyes
statusstringyes
display_statusstringyes
pending_actionstringyes
definitionobjectyes
definition_hashstringyes
restatementstringyes
source_textstringyes
drafted_by_aibooleanyes
test_benchobject or nullyes
effective_fromstring or null (date-time)yes
effective_tostring or null (date-time)yes
created_byid (string) or nullyes
created_atstring or null (date-time)yes
decided_byid (string) or nullyes
decided_atstring or null (date-time)yes
decision_notestringyes

RuleList

FieldTypeRequired
datalist of Ruleyes

RuleIn

FieldTypeRequired
namestring
rule_typestring
paramsobject
scopeobject
severitystring
run_pointslist of string
change_ofany
source_textstring

Other fields may be present.

Days

FieldTypeRequired
daysinteger

Other fields may be present.

SignOffPreview

FieldTypeRequired
ruleobjectyes
actionstringyes
restatementstringyes
test_benchanyyes
confirm_tokenstringyes
howstringyes
source_textstring
four_eyesobject
needslist of string

SignOff

FieldTypeRequired
reasonstringyes
effectivestring

Other fields may be present.

Violation

FieldTypeRequired
idid (string)yes
kindstringyes
statusstringyes
severitystringyes
rule_idid (string)yes
rule_namestringyes
rule_typestringyes
account_idid (string)yes
account_namestringyes
order_idid (string) or nullyes
security_idid (string) or nullyes
symbolstring or nullyes
measureddecimal string or nullyes
limitdecimal string or nullyes
messagestringyes
owner_idid (string) or nullyes
due_atstring or null (date-time)yes
review_notestringyes
created_atstring or null (date-time)yes
reviewed_atstring or null (date-time)yes
resolved_atstring or null (date-time)yes
historylist of any

ViolationTransition

FieldTypeRequired
tostring
notestring
owner_idany
duestring

Other fields may be present.

PackageList

FieldTypeRequired
datalist of anyyes
groupslist of anyyes
exceptionslist of anyyes

Register

FieldTypeRequired
datalist of RegisterEntryyes
generated_atstring (date-time)yes
notestringyes

RegisterEntry

FieldTypeRequired
lineage_idid (string)yes
currentRuleyes
violationsintegeryes
open_violationsintegeryes
versionslist of Ruleyes
approvalslist of anyyes

Report

FieldTypeRequired
idid (string)yes
titlestringyes
period_startstring or null (date)yes
period_endstring or null (date)yes
statusstringyes
drafted_by_aibooleanyes
textstringyes
final_sha256string or nullyes
factsobjectyes
created_atstring or null (date-time)yes
finalized_atstring or null (date-time)yes

ReportIn

FieldTypeRequired
fromstringyes
tostringyes

Other fields may be present.

Alert

FieldTypeRequired
idid (string)yes
kindstringyes
severitystringyes
statusstringyes
summarystringyes
detailsobjectyes
suggested_fixstringyes
narrativestring or nullyes
narrative_by_aibooleanyes
user_idid (string) or nullyes
account_idid (string) or nullyes
order_idid (string) or nullyes
security_idid (string) or nullyes
review_notestringyes
reviewer_idid (string) or nullyes
created_atstring or null (date-time)yes
reviewed_atstring or null (date-time)yes

AlertReview

FieldTypeRequired
statusstringyes
notestring

Other fields may be present.

WorkflowItem

FieldTypeRequired
idid (string)yes
typestringyes
item_idid (string)yes
titlestringyes
statusstringyes
outcomestring or nullyes
stagestringyes
stage_labelstringyes
priorityintegeryes
owner_idid (string) or nullyes
ownerstringyes
desk_idid (string) or nullyes
deskstringyes
requester_idid (string) or nullyes
accountslist of anyyes
symbolstring or nullyes
notionaldecimal string or nullyes
originstringyes
age_secondsintegeryes
in_stage_secondsintegeryes
slastringyes
sla_minutesinteger or nullyes
sla_due_atstring or null (date-time)yes
escalation_levelintegeryes
blockingstring or nullyes
next_actionstring or nullyes
canobjectyes
whystring
decisionobject
progressany
your_approval_countsboolean
stageslist of any
commentslist of any
watchingboolean
notestring

WorkflowAction

FieldTypeRequired
actionstringyes
user_idany
desk_idany
priorityany
whystring
bodystring

Other fields may be present.

MyWork

FieldTypeRequired
waitinglist of WorkflowItemyes
requestedlist of WorkflowItemyes
watchinglist of WorkflowItemyes

WorkflowRule

FieldTypeRequired
idid (string)yes
lineage_idid (string)yes
versionintegeryes
namestringyes
item_typestringyes
priorityintegeryes
statusstringyes
statestringyes
is_defaultbooleanyes
conditionsanyyes
actionslist of anyyes
restatementstringyes
source_textstringyes
drafted_by_aibooleanyes
pending_actionstring or nullyes
weakensbooleanyes
weakens_whystringyes
signoffsobjectyes
test_benchobject or nullyes
effective_fromstring or null (date-time)yes
effective_tostring or null (date-time)yes
created_byid (string) or nullyes
created_atstring or null (date-time)yes
doneboolean
still_neededlist of string

WorkflowRuleIn

FieldTypeRequired
textstring
namestring
item_typestring
priorityinteger
conditionsobject
actionslist of any
change_ofany

Other fields may be present.

WorkflowSignOff

FieldTypeRequired
asstringyes
notestring
effectivestring

Other fields may be present.

DeskList

FieldTypeRequired
datalist of anyyes

SlaList

FieldTypeRequired
datalist of anyyes

MonitorViewList

FieldTypeRequired
datalist of anyyes

LegacyBatch

FieldTypeRequired
okbooleanyes
batchobjectyes
reviewstring or nullyes

LegacyBatchStatus

FieldTypeRequired
okbooleanyes
batchobjectyes
progressobjectyes

LegacyBundle

FieldTypeRequired
okbooleanyes
bundleobjectyes
needs_reviewlist of string

LegacyFeedFile

FieldTypeRequired
okbooleanyes
resultstringyes
business_datestring or nullyes
codestringyes
messagestringyes
batchinteger or nullyes

Batch

FieldTypeRequired
idid (string)yes
datasetstringyes
statusstringyes
sourcestringyes
modestringyes
file_namestringyes
sha256stringyes
business_datestring or null (date)yes
countsobjectyes
messagestringyes
hold_reasonstring or nullyes
created_atstring or null (date-time)yes
applied_atstring or null (date-time)yes
undone_atstring or null (date-time)yes

BatchRows

FieldTypeRequired
batchBatchyes
datalist of BatchRowyes
next_offsetinteger or nullyes
has_morebooleanyes

BatchRow

FieldTypeRequired
rowintegeryes
statusstringyes
keystringyes
dataobjectyes
diffobjectyes
errorslist of anyyes

FeedList

FieldTypeRequired
datalist of Feedyes

Feed

FieldTypeRequired
idid (string)yes
namestringyes
datasetstringyes
sourcestringyes
formatstringyes
filename_patternstringyes
apply_modestringyes
expected_bystring or nullyes
cutoffstring or nullyes
calendarstringyes
sod_stepstring or nullyes
depends_onlist of stringyes
activebooleanyes

FeedRunList

FieldTypeRequired
business_datestringyes
datalist of FeedRunyes

FeedRun

FieldTypeRequired
idid (string) or nullyes
feed_idid (string)yes
feedstringyes
datasetstringyes
statusstringyes
file_namestringyes
batch_idid (string) or nullyes
rowsintegeryes
codestringyes
messagestringyes
arrived_atstring or null (date-time)yes
finished_atstring or null (date-time)yes

HeldReview

FieldTypeRequired
actionstringyes
reasonstring

Other fields may be present.

ScheduleList

FieldTypeRequired
datalist of anyyes
recent_runslist of anyyes

StartOfDay

FieldTypeRequired
business_datestringyes
statusstringyes
stepsanyyes
messagestringyes
completed_atstring or null (date-time)
override_reasonstring

DqIssue

FieldTypeRequired
idid (string)yes
detectorstringyes
severitystringyes
datasetstringyes
keystringyes
summarystringyes
detailsobjectyes
narrativestring or nullyes
statusstringyes
first_seenstring or null (date-time)yes
last_seenstring or null (date-time)yes
resolved_atstring or null (date-time)yes

Event

FieldTypeRequired
idid (string)yes
atstring or null (date-time)yes
user_idid (string) or nullyes
actorstringyes
categorystringyes
actionstringyes
entity_typestring or nullyes
entity_idid (string) or nullyes
account_idid (string) or nullyes
outcomestringyes
detailsobjectyes
prev_hashstringyes
hashstringyes

ChainCheck

FieldTypeRequired
okbooleanyes
rowsintegeryes
first_bad_idstring or nullyes
verified_atstring or null (date-time)yes

AiInteraction

FieldTypeRequired
idid (string)yes
user_idid (string) or nullyes
client_idstring or nullyes
purposestringyes
modelstringyes
fallbackbooleanyes
okbooleanyes
errorstring or nullyes
latency_msintegeryes
input_tokensintegeryes
output_tokensintegeryes
input_sha256stringyes
output_sha256string or nullyes
created_atstring or null (date-time)yes

Question

FieldTypeRequired
questionstringyes

Other fields may be present.

CopilotAnswer

FieldTypeRequired
answerstringyes
by_aibooleanyes
suggested_actionslist of anyyes
notestringyes

CommandIn

FieldTypeRequired
textstringyes
answer_toany

Other fields may be present.

CommandExecute

Any JSON object.

Other fields may be present.

Command

FieldTypeRequired
idid (string)yes
screenstringyes
textstringyes
statusstringyes
planned_by_aibooleanyes
questionstring or nullyes
messagestringyes
planobjectyes
previewobject or nullyes
item_countintegeryes
confirm_tokenstring or nullyes
typed_confirmationstring or nullyes
resultslist of anyyes
created_atstring or null (date-time)yes
previewed_atstring or null (date-time)yes
executed_atstring or null (date-time)yes

WebhookList

FieldTypeRequired
datalist of Webhookyes
event_typeslist of ScopeLikeTypeyes
signingstringyes

ScopeLikeType

FieldTypeRequired
typestringyes
descriptionstringyes

Webhook

FieldTypeRequired
idid (string)yes
urlstringyes
eventslist of stringyes
statusstringyes
descriptionstringyes
failing_deliveriesintegeryes
created_atstring or null (date-time)yes
last_delivery_atstring or null (date-time)yes
secretstring
secret_notestring

WebhookCreated

FieldTypeRequired
idid (string)yes
urlstringyes
eventslist of stringyes
statusstringyes
descriptionstringyes
failing_deliveriesintegeryes
created_atstring or null (date-time)yes
last_delivery_atstring or null (date-time)yes
secretstring or nullyes
secret_notestringyes

WebhookIn

FieldTypeRequired
urlstring
eventslist of string
statusstring
descriptionstring
rotate_secretboolean

Other fields may be present.

Delivery

FieldTypeRequired
idid (string)yes
webhook_idid (string)yes
event_typestringyes
event_idstringyes
statusstringyes
attemptsintegeryes
last_statusinteger or nullyes
last_errorstring or nullyes
next_attempt_atstring or null (date-time)yes
created_atstring or null (date-time)yes
delivered_atstring or null (date-time)yes
payloadanyyes

InquiryList

FieldTypeRequired
datalist of Inquiryyes

Inquiry

FieldTypeRequired
idstringyes
received_atstring or null (date-time)yes
formstringyes
namestringyes
emailstringyes
phonestring or nullyes
companystring or nullyes
subjectstringyes
messagestringyes
statusstringyes