TradeResolveResult trade.resolve-result@1

Generated at from openvibe-contracts v0.53.0 and openvibe-sdk v0.11.0.

Version
1.0.0
Owner
trade
Visibility
first-party
Status
active
Compatibility
backward
Schema
https://openvibe.network/contracts/trade/resolve-result.v1.json

trade.resolve-result@1: the answer of GET /api/v1/instruments/resolve?q=&kind= on OpenVibe.Trade (trade.instrument.resolve): { query, status: resolved | ambiguous | not_found, match: { kind, value } | null, instrument | null, candidates } (a CIK, symbol or alias matched; candidates when more than one could be meant).

Fields

FieldTypeRequiredDescriptionConstraints
queryany
statusenumyes
  • one of "resolved", "ambiguous", "not_found"
matchobject | nullyes
instrumentone ofyes
candidatestrade.instrumentyes

Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

Valid: resolved
{
  "query": "acme",
  "status": "resolved",
  "match": {
    "kind": "name",
    "value": "acme"
  },
  "instrument": {
    "id": "ins_01JAB2C3D4E5F6G7H8J9K0MNPQ",
    "symbol": "ACME",
    "name": "Acme Corporation",
    "kind": "equity",
    "exchange": "NASDAQ",
    "cik": "0000123456",
    "currency": "USD",
    "status": "active",
    "url": "https://openvibe.trade/i/ACME",
    "created_at": "2026-09-20T10:00:00.000Z",
    "updated_at": "2026-09-20T10:00:00.000Z"
  },
  "candidates": []
}
Rejected: bad-status
{
  "status": "maybe",
  "match": null,
  "instrument": null,
  "candidates": []
}

Validate

const contracts = require('openvibe-contracts');
contracts.validate('trade.resolve-result@1', value);   // { valid, errors: [{ path, message }] }