SSPARKDATA

THE PUBLIC MARKET DATA CONTRACT FOR AGENTS

Give your agenta direct line to the market.

This reference contains only customer-facing market data, instrument, and agent endpoints. Every parameter, response mode, and object is generated from the current OpenAPI contract.

Make your first trustworthy quote request

Authenticate with the tenant API key you claimed. Each response carries its source, cache state, and generation time alongside the data.

curl --request GET \
+  'https://spark-data.cn/v1/market-data/quotes/latest?symbols=XSHG%3A600570' \
+  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
Authorization: Bearer $SPARKDATA_API_KEY
PUBLIC OPERATIONS
43
PUBLIC PATHS
30
PUBLIC OBJECTS
67
OPENAPI
3.1

Instruments

Normalized equity, ETF, and index security-master resources.

1 ENDPOINTS
GET/v1/instruments/{instrument_id}Get a normalized equity, ETF, or index
Operation ID
getInstrument
Auth
Tenant API key

Parameters

instrument_idpath
InstrumentIdRequired

Example: XSHG:600570

Responses

200

Instrument found

application/json · InstrumentResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/instruments/XSHG:600570' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'

Market Data

Cached quotes, bars, and best-effort streams.

3 ENDPOINTS
GET/v1/market-data/barsQuery equity, ETF, or index OHLCV bars across complete timeframes

Uses an inclusive `start` and exclusive `end`. JSON is the default. Send `Accept: application/x-ndjson` for one bar per line followed by a `stream_end` control record. Intraday bars are derived from upstream sampled cumulative quotes and are explicitly marked `snapshot_derived`; daily bars come from upstream OHLCV endpoints. Longer equity bars come from upstream period endpoints; longer ETF and index bars are aggregated from upstream daily bars and marked `daily_derived`.

Operation ID
listBars
Auth
Tenant API key

Parameters

symbolsquery
InstrumentId[]Required

Comma-separated canonical IDs; tenant limits apply.Example: ["XSHG:600570","XSHE:000001"]

startquery
string<date-time>Required

Inclusive UTC timestamp.

endquery
string<date-time>Required

Exclusive UTC timestamp; tenant range limits apply.

timeframequery
BarTimeframeOptional

adjustmentquery
raw | forward | backwardOptional

ETF and index bars accept `raw` only.Example: raw

feedquery
auto | realtime | delayedOptionalDeprecated

Compatibility routing hint; the currently deployed source exposes one feed.Example: auto

sortquery
asc | descOptional

Example: asc

Responses

200

Bars or an NDJSON bar stream

application/json · BarsResponse / application/x-ndjson · BarStreamRecord
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/market-data/bars?symbols=XSHG%3A600570%2CXSHE%3A000001&start=2026-07-01T00%3A00%3A00Z&end=2026-08-01T00%3A00%3A00Z' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
GET/v1/market-data/quotes/latestGet latest quotes for multiple equities, ETFs, or indexes
Operation ID
getLatestQuotes
Auth
Tenant API key

Parameters

symbolsquery
InstrumentId[]Required

Comma-separated canonical IDs; tenant limits apply.Example: ["XSHG:600570","XSHE:000001"]

feedquery
auto | realtime | delayedOptionalDeprecated

Compatibility routing hint; the currently deployed source exposes one feed.Example: auto

Responses

200

Latest quotes

application/json · QuotesResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/market-data/quotes/latest?symbols=XSHG%3A600570%2CXSHE%3A000001' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
GET/v1/market-data/streamStream best-effort latest quotes with SSE

Emits `quote`, `heartbeat`, and `reconnect` events. This MVP deliberately provides neither durability nor replay. A new connection starts from the current quote. The regular OpenAPI HTTP operation describes both transports; a separate AsyncAPI contract is unnecessary for this unidirectional SSE API.

Operation ID
streamMarketData
Auth
Tenant API key

Parameters

symbolsquery
InstrumentId[]Required

Comma-separated canonical IDs; tenant limits apply.Example: ["XSHG:600570","XSHE:000001"]

feedquery
auto | realtime | delayedOptionalDeprecated

Compatibility routing hint; the currently deployed source exposes one feed.Example: auto

heartbeat_secondsquery
integerOptional

Example: 20

Responses

200

SSE quote stream

text/event-stream · MarketEvent
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/market-data/stream?symbols=XSHG%3A600570%2CXSHE%3A000001' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'

Agent Context

Agent-oriented compound views assembled from reusable cached resources.

1 ENDPOINTS
GET/v1/agent/context/{instrument_id}Get a comprehensive cached context for one equity, ETF, or index

Combines the company profile, latest quote, and requested bars in one agent-friendly response. The operation does not create a monolithic cache entry: it reuses canonical per-instrument quote and time-partitioned bar fragments, so overlapping requests from different users share cache hits. When `start` and `end` are both omitted, the service returns up to the last 365 calendar days, capped by the tenant's bar-range limit. Provider data is included verbatim beside normalized fields. Both dates must be supplied together when overriding the default range.

Operation ID
getAgentContext
Auth
Tenant API key

Parameters

instrument_idpath
InstrumentIdRequired

Example: XSHG:600570

startquery
string<date-time>Optional

Inclusive UTC timestamp; must be paired with `end`.

endquery
string<date-time>Optional

Exclusive UTC timestamp; must be paired with `start`.

timeframequery
BarTimeframeOptional

adjustmentquery
raw | forward | backwardOptional

ETF and index bars accept `raw` only.Example: raw

sortquery
asc | descOptional

Example: asc

Responses

200

Agent context assembled from reusable cached resources

application/json · AgentContextResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/agent/context/XSHG:600570' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'

Aggregate Data

Nine agent-facing capability APIs covering all 371 published operations.

18 ENDPOINTS
GET/v1/discoveryList exact discovery operation contracts
Operation ID
describeDiscovery
Auth
Tenant API key

Parameters

operationquery
stringOptional

Case-sensitive operation name. Omit to list every operation in the capability.

Responses

200

Exact generated workbook contracts for the selected capability

application/json · OperationContractsResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/discovery' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/discoveryInvoke a discovery or screening operation
Operation ID
queryDiscovery
Auth
Tenant API key

Parameters

This operation has no parameters.

Request body

`operation` must be one of the operations assigned to this capability in the published operation catalog. `parameters` uses the exact contract field names. Enumeration parameters accept a dictionary code, caption, reference code, or canonical A-share ID; SparkData resolves and validates the upstream code.

application/json · AggregateQuery

Responses

200

Complete upstream response plus resolved enum inputs and cache metadata

application/json · AggregateResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/discovery' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
GET/v1/entitiesList exact entity operation contracts
Operation ID
describeEntities
Auth
Tenant API key

Parameters

operationquery
stringOptional

Case-sensitive operation name. Omit to list every operation in the capability.

Responses

200

Exact generated workbook contracts for the selected capability

application/json · OperationContractsResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/entities' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/entitiesInvoke an entity or reference-data operation
Operation ID
queryEntities
Auth
Tenant API key

Parameters

This operation has no parameters.

Request body

`operation` must be one of the operations assigned to this capability in the published operation catalog. `parameters` uses the exact contract field names. Enumeration parameters accept a dictionary code, caption, reference code, or canonical A-share ID; SparkData resolves and validates the upstream code.

application/json · AggregateQuery

Responses

200

Complete upstream response plus resolved enum inputs and cache metadata

application/json · AggregateResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/entities' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
GET/v1/market-dataList exact market-data operation contracts
Operation ID
describeMarketData
Auth
Tenant API key

Parameters

operationquery
stringOptional

Case-sensitive operation name. Omit to list every operation in the capability.

Responses

200

Exact generated workbook contracts for the selected capability

application/json · OperationContractsResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/market-data' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/market-dataInvoke a unified market-data operation
Operation ID
queryMarketData
Auth
Tenant API key

Parameters

This operation has no parameters.

Request body

`operation` must be one of the operations assigned to this capability in the published operation catalog. `parameters` uses the exact contract field names. Enumeration parameters accept a dictionary code, caption, reference code, or canonical A-share ID; SparkData resolves and validates the upstream code.

application/json · AggregateQuery

Responses

200

Complete upstream response plus resolved enum inputs and cache metadata

application/json · AggregateResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/market-data' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
GET/v1/fundamentalsList exact fundamentals operation contracts
Operation ID
describeFundamentals
Auth
Tenant API key

Parameters

operationquery
stringOptional

Case-sensitive operation name. Omit to list every operation in the capability.

Responses

200

Exact generated workbook contracts for the selected capability

application/json · OperationContractsResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/fundamentals' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/fundamentalsInvoke a fundamentals or forecast operation
Operation ID
queryFundamentals
Auth
Tenant API key

Parameters

This operation has no parameters.

Request body

`operation` must be one of the operations assigned to this capability in the published operation catalog. `parameters` uses the exact contract field names. Enumeration parameters accept a dictionary code, caption, reference code, or canonical A-share ID; SparkData resolves and validates the upstream code.

application/json · AggregateQuery

Responses

200

Complete upstream response plus resolved enum inputs and cache metadata

application/json · AggregateResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/fundamentals' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
GET/v1/ownershipList exact ownership operation contracts
Operation ID
describeOwnership
Auth
Tenant API key

Parameters

operationquery
stringOptional

Case-sensitive operation name. Omit to list every operation in the capability.

Responses

200

Exact generated workbook contracts for the selected capability

application/json · OperationContractsResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/ownership' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/ownershipInvoke an ownership or portfolio operation
Operation ID
queryOwnership
Auth
Tenant API key

Parameters

This operation has no parameters.

Request body

`operation` must be one of the operations assigned to this capability in the published operation catalog. `parameters` uses the exact contract field names. Enumeration parameters accept a dictionary code, caption, reference code, or canonical A-share ID; SparkData resolves and validates the upstream code.

application/json · AggregateQuery

Responses

200

Complete upstream response plus resolved enum inputs and cache metadata

application/json · AggregateResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/ownership' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
GET/v1/eventsList exact event operation contracts
Operation ID
describeEvents
Auth
Tenant API key

Parameters

operationquery
stringOptional

Case-sensitive operation name. Omit to list every operation in the capability.

Responses

200

Exact generated workbook contracts for the selected capability

application/json · OperationContractsResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/events' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/eventsInvoke an event, corporate-action, or risk operation
Operation ID
queryEvents
Auth
Tenant API key

Parameters

This operation has no parameters.

Request body

`operation` must be one of the operations assigned to this capability in the published operation catalog. `parameters` uses the exact contract field names. Enumeration parameters accept a dictionary code, caption, reference code, or canonical A-share ID; SparkData resolves and validates the upstream code.

application/json · AggregateQuery

Responses

200

Complete upstream response plus resolved enum inputs and cache metadata

application/json · AggregateResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/events' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
GET/v1/analyticsList exact analytics operation contracts
Operation ID
describeAnalytics
Auth
Tenant API key

Parameters

operationquery
stringOptional

Case-sensitive operation name. Omit to list every operation in the capability.

Responses

200

Exact generated workbook contracts for the selected capability

application/json · OperationContractsResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/analytics' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/analyticsInvoke an analytics, valuation, or ranking operation
Operation ID
queryAnalytics
Auth
Tenant API key

Parameters

This operation has no parameters.

Request body

`operation` must be one of the operations assigned to this capability in the published operation catalog. `parameters` uses the exact contract field names. Enumeration parameters accept a dictionary code, caption, reference code, or canonical A-share ID; SparkData resolves and validates the upstream code.

application/json · AggregateQuery

Responses

200

Complete upstream response plus resolved enum inputs and cache metadata

application/json · AggregateResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/analytics' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
GET/v1/economyList exact economy operation contracts
Operation ID
describeEconomy
Auth
Tenant API key

Parameters

operationquery
stringOptional

Case-sensitive operation name. Omit to list every operation in the capability.

Responses

200

Exact generated workbook contracts for the selected capability

application/json · OperationContractsResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/economy' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/economyInvoke a macro, regional, or industry-economy operation
Operation ID
queryEconomy
Auth
Tenant API key

Parameters

This operation has no parameters.

Request body

`operation` must be one of the operations assigned to this capability in the published operation catalog. `parameters` uses the exact contract field names. Enumeration parameters accept a dictionary code, caption, reference code, or canonical A-share ID; SparkData resolves and validates the upstream code.

application/json · AggregateQuery

Responses

200

Complete upstream response plus resolved enum inputs and cache metadata

application/json · AggregateResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/economy' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
GET/v1/contentList exact content operation contracts
Operation ID
describeContent
Auth
Tenant API key

Parameters

operationquery
stringOptional

Case-sensitive operation name. Omit to list every operation in the capability.

Responses

200

Exact generated workbook contracts for the selected capability

application/json · OperationContractsResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/content' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/contentInvoke a research, filing, news, or policy operation
Operation ID
queryContent
Auth
Tenant API key

Parameters

This operation has no parameters.

Request body

`operation` must be one of the operations assigned to this capability in the published operation catalog. `parameters` uses the exact contract field names. Enumeration parameters accept a dictionary code, caption, reference code, or canonical A-share ID; SparkData resolves and validates the upstream code.

application/json · AggregateQuery

Responses

200

Complete upstream response plus resolved enum inputs and cache metadata

application/json · AggregateResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/content' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'

Data Catalog

Stable dataset groups and observed readiness without inferred rights or watermarks.

3 ENDPOINTS
GET/v1/datasetsList stable dataset groups covering all 371 operations
Operation ID
listDatasets
Auth
Tenant API key

Parameters

This operation has no parameters.

Responses

200

Dataset catalog

application/json · DatasetsResponse
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/datasets' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
GET/v1/datasets/{dataset_id}Return one dataset and its stable operation names
Operation ID
getDataset
Auth
Tenant API key

Parameters

dataset_idpath
cn-equity | funds | bonds | indices | classifications | wealth-products | hk-equity | us-equity | neeq | macro-research | announcements | news-policy | business-risk | smart-screeningRequired

Responses

200

Dataset detail

application/json · DatasetDetailResponse
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/datasets/cn-equity' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
GET/v1/data-readinessReturn observed readiness without inventing coverage, rights, or watermarks
Operation ID
getDataReadiness
Auth
Tenant API key

Parameters

This operation has no parameters.

Responses

200

Observed catalog readiness

application/json · DataReadinessResponse
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/data-readiness' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'

Research

Published research templates and tenant experiment metadata; no hosted execution.

5 ENDPOINTS
GET/v1/research/templatesList six evidence-oriented research template definitions
Operation ID
listResearchTemplates
Auth
Tenant API key

Parameters

This operation has no parameters.

Responses

200

Published research templates

application/json · ResearchTemplatesResponse
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/research/templates' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
GET/v1/experiment-runsList tenant experiment metadata
Operation ID
listExperimentRuns
Auth
Tenant API key

Parameters

This operation has no parameters.

Responses

200

Experiment records

application/json · ExperimentRunsResponse
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/experiment-runs' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/experiment-runsRecord a planned research or factor experiment without executing it
Operation ID
createExperimentRun
Auth
Tenant API key

Parameters

This operation has no parameters.

Request body

Required

application/json · CreateExperimentRun

Responses

201

Experiment metadata created

application/json · ExperimentRunResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/experiment-runs' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
GET/v1/experiment-runs/{run_id}Get one tenant experiment record
Operation ID
getExperimentRun
Auth
Tenant API key

Parameters

run_idpath
string<uuid>Required

Responses

200

Experiment metadata

application/json · ExperimentRunResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/experiment-runs/RUN_ID' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
PATCH/v1/experiment-runs/{run_id}Apply a guarded status transition and optional result summary
Operation ID
updateExperimentRun
Auth
Tenant API key

Parameters

run_idpath
string<uuid>Required

Request body

Required

application/json · UpdateExperimentRun

Responses

200

Experiment metadata updated

application/json · ExperimentRunResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
409

Resource state prevents the operation

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request PATCH \
  'https://spark-data.cn/v1/experiment-runs/RUN_ID' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'

Factors

Tenant-scoped factor definitions and immutable versions; no computation.

5 ENDPOINTS
GET/v1/factorsList tenant factor definitions
Operation ID
listFactors
Auth
Tenant API key

Parameters

This operation has no parameters.

Responses

200

Factor definitions

application/json · FactorsResponse
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/factors' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/factorsCreate a tenant-unique factor definition without running computation
Operation ID
createFactor
Auth
Tenant API key

Parameters

This operation has no parameters.

Request body

Required

application/json · CreateFactorDefinition

Responses

201

Factor definition created

application/json · FactorResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
409

Resource state prevents the operation

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/factors' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
GET/v1/factors/{factor_id}Get one tenant factor definition
Operation ID
getFactor
Auth
Tenant API key

Parameters

factor_idpath
string<uuid>Required

Responses

200

Factor definition

application/json · FactorResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/factors/FACTOR_ID' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
GET/v1/factors/{factor_id}/versionsList immutable versions for one factor
Operation ID
listFactorVersions
Auth
Tenant API key

Parameters

factor_idpath
string<uuid>Required

Responses

200

Factor versions

application/json · FactorVersionsResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/factors/FACTOR_ID/versions' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/factors/{factor_id}/versionsCreate the next immutable declaration version
Operation ID
createFactorVersion
Auth
Tenant API key

Parameters

factor_idpath
string<uuid>Required

Request body

Required

application/json · CreateFactorVersion

Responses

201

Factor version created

application/json · FactorVersionResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
429

Tenant API-key rate limit exceeded

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/factors/FACTOR_ID/versions' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'

Online Agent

A2A 1.0 discovery, messages, Tasks, public workflow events, and cancellation.

7 ENDPOINTS
GET/.well-known/agent-card.jsonDiscover the SparkData online research Agent
Operation ID
getOnlineAgentCard
Auth
Public

Parameters

This operation has no parameters.

Responses

200

Public A2A Agent Card

application/json · AgentCard
cURL
curl --request GET \
  'https://spark-data.cn/.well-known/agent-card.json'
POST/v1/agent/a2a/message:sendSend one message and wait for the authoritative Task result
Operation ID
sendAgentMessage
Auth
User session cookie

Parameters

A2A-Versionheader
stringRequired

This interface supports A2A protocol version 1.0 only.

A2A-Extensionsheader
stringOptional

Comma-separated optional A2A extension URIs selected by the client.

X-CSRF-Tokenheader
stringRequired

Token returned by login or GET /v1/me; Origin must also exactly match an allowed production origin.

Request body

Required

application/a2a+json · SendAgentMessageRequest

Responses

200

Completed or failed Task envelope

application/a2a+json · SendAgentMessageResponse
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
409

Resource state prevents the operation

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/agent/a2a/message:send' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
POST/v1/agent/a2a/message:streamSend one message and stream Task lifecycle events

The first SSE data field is a Task envelope. Later fields contain statusUpdate or artifactUpdate. Public workflow steps are not private model reasoning.

Operation ID
streamAgentMessage
Auth
User session cookie

Parameters

A2A-Versionheader
stringRequired

This interface supports A2A protocol version 1.0 only.

A2A-Extensionsheader
stringOptional

Comma-separated optional A2A extension URIs selected by the client.

X-CSRF-Tokenheader
stringRequired

Token returned by login or GET /v1/me; Origin must also exactly match an allowed production origin.

Request body

Required

application/a2a+json · SendAgentMessageRequest

Responses

200

Ordered A2A SSE events ending at a terminal Task state

text/event-stream · string
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
409

Resource state prevents the operation

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/agent/a2a/message:stream' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'
GET/v1/agent/a2a/tasksList Tasks owned by the authenticated tenant user
Operation ID
listAgentTasks
Auth
User session cookie

Parameters

A2A-Versionheader
stringRequired

This interface supports A2A protocol version 1.0 only.

contextIdquery
string<uuid>Optional

pageSizequery
integerOptional

Example: 50

Responses

200

Owner-scoped Task page

application/a2a+json · AgentTaskList
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/agent/a2a/tasks' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
GET/v1/agent/a2a/tasks/{id}Get one authoritative owner-scoped Task snapshot
Operation ID
getAgentTask
Auth
User session cookie

Parameters

A2A-Versionheader
stringRequired

This interface supports A2A protocol version 1.0 only.

idpath
string<uuid>Required

Responses

200

Current Task snapshot

application/a2a+json · AgentTask
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request GET \
  'https://spark-data.cn/v1/agent/a2a/tasks/value' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/agent/a2a/tasks/{id}:subscribeStream updates for one non-terminal owner-scoped Task
Operation ID
subscribeAgentTask
Auth
User session cookie

Parameters

A2A-Versionheader
stringRequired

This interface supports A2A protocol version 1.0 only.

A2A-Extensionsheader
stringOptional

Comma-separated optional A2A extension URIs selected by the client.

X-CSRF-Tokenheader
stringRequired

Token returned by login or GET /v1/me; Origin must also exactly match an allowed production origin.

idpath
string<uuid>Required

Responses

200

Current Task followed by ordered SSE updates

text/event-stream · string
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
409

Resource state prevents the operation

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/agent/a2a/tasks/value:subscribe' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY'
POST/v1/agent/a2a/tasks/{id}:cancelCancel one non-terminal owner-scoped Task
Operation ID
cancelAgentTask
Auth
User session cookie

Parameters

A2A-Versionheader
stringRequired

This interface supports A2A protocol version 1.0 only.

X-CSRF-Tokenheader
stringRequired

Token returned by login or GET /v1/me; Origin must also exactly match an allowed production origin.

idpath
string<uuid>Required

Request body

Optional

application/a2a+json · object

Responses

200

Canceled Task snapshot

application/a2a+json · AgentTask
400

Invalid request

application/problem+json · Problem
401

Missing, malformed, expired, revoked, or unknown API key

application/problem+json · Problem
403

API key lacks the required scope

application/problem+json · Problem
404

Resource not found

application/problem+json · Problem
409

Resource state prevents the operation

application/problem+json · Problem
503

MySQL, Redis, or upstream dependency is unavailable

application/problem+json · Problem
cURL
curl --request POST \
  'https://spark-data.cn/v1/agent/a2a/tasks/value:cancel' \
  --header 'Authorization: Bearer $SPARKDATA_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"operation":"operation_code","params":{}}'

Public data objects

Only objects used by customer-facing endpoints are listed. Expand one to inspect its fields, types, and requirements.

67 PUBLIC OBJECTS
AgentCardobject
PropertyType
namestringRequired
descriptionstringRequired
supportedInterfacesobject[]Required
versionstringRequired
capabilitiesobjectRequired
defaultInputModesstring[]Required
defaultOutputModesstring[]Required
skillsobject[]Required
SendAgentMessageRequestobject
PropertyType
messageAgentMessageRequired
configurationAgentSendConfigurationOptional
SendAgentMessageResponseobject
PropertyType
taskAgentTaskRequired
AgentSendConfigurationobject
PropertyType
acceptedOutputModestext/markdown | application/json[]Optional
historyLengthintegerOptional
AgentMessageobject
PropertyType
messageIdstring<uuid>Required
roleROLE_USER | ROLE_AGENTRequired
partsAgentPart[]Required
contextIdstring<uuid>Optional
taskIdstring<uuid>Optional
AgentPartobject | object
PropertyType
AgentTaskStateTASK_STATE_SUBMITTED | TASK_STATE_WORKING | TASK_STATE_COMPLETED | TASK_STATE_FAILED | TASK_STATE_CANCELED
PropertyType
AgentTaskStatusobject
PropertyType
stateAgentTaskStateRequired
timestampstring<date-time>Required
messageAgentMessageOptional
AgentArtifactobject
PropertyType
artifactIdstringRequired
namestringRequired
partsAgentPart[]Required
extensionsstring<uri>[]Optional
metadataobjectOptional
AgentTaskobject
PropertyType
idstring<uuid>Required
contextIdstring<uuid>Required
statusAgentTaskStatusRequired
artifactsAgentArtifact[]Optional
historyAgentMessage[]Optional
metadataobjectRequired
AgentTaskListobject
PropertyType
tasksAgentTask[]Required
nextPageTokenstringOptional
IdentityProvideremail | phone | wechat
PropertyType
DatasetDefinitionobject
PropertyType
dataset_idstringRequired
namestringRequired
descriptionstringRequired
marketsstring[]Required
asset_classesstring[]Required
operation_countintegerRequired
capabilitiesCapability[]Required
normalizationmixed | provider_envelopeRequired
rights_statusstringRequired
freshnessstringRequired
contract_versionstringRequired
DatasetDetailobject
PropertyType
DatasetReadinessobject
PropertyType
dataset_idstringRequired
contract_statusstringRequired
delivery_statusstringRequired
coverage_statusstringRequired
rights_statusstringRequired
watermarknull | stringRequired
operation_countintegerRequired
observed_atstring<date-time>Required
ResearchTemplateobject
PropertyType
template_idstringRequired
versionstringRequired
namestringRequired
descriptionstringRequired
required_datasetsstring[]Required
required_capabilitiesCapability[]Required
output_formatsapplication/json | text/markdown | text/html[]Required
evidence_requiredbooleanRequired
risk_noticestringRequired
FactorDefinitionobject
PropertyType
idstring<uuid>Required
tenant_idstring<uuid>Required
namestringRequired
descriptionstringRequired
input_datasetsstring[]Required
universe_rulestringRequired
created_atstring<date-time>Required
CreateFactorDefinitionobject
PropertyType
namestringRequired
descriptionstringOptional
input_datasetsstring[]Required
universe_rulestringRequired
FactorVersionobject
PropertyType
idstring<uuid>Required
factor_idstring<uuid>Required
version_numberintegerRequired
expressionstringRequired
lookback_daysintegerRequired
adjustmentraw | forward | backwardRequired
created_atstring<date-time>Required
CreateFactorVersionobject
PropertyType
expressionstringRequired
lookback_daysintegerRequired
adjustmentraw | forward | backwardOptional
ExperimentKindresearch | factor
PropertyType
ExperimentStatusplanned | running | succeeded | failed | cancelled
PropertyType
ExperimentRunobject
PropertyType
idstring<uuid>Required
tenant_idstring<uuid>Required
kindExperimentKindRequired
namestringRequired
factor_version_idstring | nullRequired
research_template_idstring | nullRequired
inputsobjectRequired
code_refstring | nullRequired
data_manifest_refstring | nullRequired
environmentobjectRequired
statusExperimentStatusRequired
resultobjectRequired
created_atstring<date-time>Required
updated_atstring<date-time>Required
CreateExperimentRunobject
PropertyType
kindExperimentKindRequired
namestringRequired
factor_version_idstring | nullOptional
research_template_idstring | nullOptional
inputsobjectOptional
code_refstring | nullOptional
data_manifest_refstring | nullOptional
environmentobjectOptional
UpdateExperimentRunobject
PropertyType
statusExperimentStatusRequired
resultobjectOptional
InstrumentIdstring

Canonical MIC-prefixed ID for a supported mainland equity, ETF, or index.

PropertyType
Decimalstring
PropertyType
BarTimeframe1m | 5m | 15m | 30m | 1h | 1d | 1w | 1mo | 1q | 1y
PropertyType
CacheStatushit | miss | mixed | bypass
PropertyType
ResponseMetaobject
PropertyType
request_idstring<uuid>Required
schema_versionstringRequired
cache_statusCacheStatusRequired
sourcesparkdata-market-data | sparkdata-control-planeRequired
generated_atstring<date-time>Required
Instrumentobject
PropertyType
instrument_idInstrumentIdRequired · Canonical MIC-prefixed ID for a supported mainland equity, ETF, or index.
symbolstringRequired
namestring | nullRequired
company_namestring | nullRequired
micXSHG | XSHE | XBSERequired
asset_classequity | etf | indexRequired
currencystringRequired
timezonestringRequired
statusstringRequired
industrystring | nullRequired
conceptsstring[]Required
provider_dataProviderDataRequired
ProviderDataobject
PropertyType
operationstringRequired · Exact operation name from the published source contract or dictionary service.
rawobjectRequired · Exact untrimmed upstream envelope, row, or rows used for a derived record.
Capabilitydiscovery | entities | market_data | fundamentals | ownership | events | analytics | economy | content
PropertyType
ContractDataTypestring | string_array | number | number_array | date | date_array
PropertyType
InputContractobject
PropertyType
namestringRequired · Public parameter name accepted by SparkData.
upstream_namestringRequired · Exact field name sent to the live upstream.
display_namestringRequired
data_typeContractDataTypeRequired
descriptionstringRequired
requiredbooleanRequired
enum_groupstring | nullRequired · Live dictionary group when the workbook marks the input as enumerated.
enum_declarationstring | nullRequired · Unmodified enumeration declaration from the workbook.
fixed_valuestring | nullRequired · Value marked as fixed by the workbook and inserted by SparkData.
OutputContractobject
PropertyType
namestringRequired
display_namestringRequired
data_typeContractDataTypeRequired
descriptionstringRequired
OperationContractobject
PropertyType
api_idintegerRequired
sheet_namestringRequired
display_namestringRequired
operationstringRequired
descriptionstringRequired
methodstringRequired
pathstringRequired
capabilityCapabilityRequired
last_modifiedstringRequired
inputsInputContract[]Required
outputsOutputContract[]Required
OperationContractsResponseobject
PropertyType
metaResponseMetaRequired
dataOperationContract[]Required
AggregateQueryobject
PropertyType
operationstringRequired · Case-sensitive Excel operation name, for example FinancialStatement.
parametersobjectOptional · Exact Excel input names and values; undeclared fields are rejected.
EnumResolutionobject
PropertyType
fieldstringRequired
group_namestringRequired
inputobjectRequired
codestringRequired
captionstring | nullRequired
provider_dataProviderDataRequired
AggregateDataobject
PropertyType
api_idintegerRequired
capabilityCapabilityRequired
operationstringRequired
resolved_parametersobjectRequired · Exact request sent upstream after fixed-value insertion and enum resolution.
enum_resolutionsEnumResolution[]Required
provider_dataProviderDataRequired
AggregateResponseobject
PropertyType
metaResponseMetaRequired
dataAggregateDataRequired
PriceLevelobject
PropertyType
priceDecimalRequired
sizeDecimalRequired
Quoteobject
PropertyType
instrument_idInstrumentIdRequired · Canonical MIC-prefixed ID for a supported mainland equity, ETF, or index.
event_timestring<date-time>Required
last_priceDecimalRequired
previous_closeDecimalRequired
openDecimalRequired
highDecimalRequired
lowDecimalRequired
changeDecimal | nullRequired
change_percentDecimal | nullRequired
volumeDecimalRequired
turnoverDecimalRequired
trade_statusstringRequired
bid_levelsPriceLevel[]Required
ask_levelsPriceLevel[]Required
provider_dataProviderDataRequired
Barobject
PropertyType
instrument_idInstrumentIdRequired · Canonical MIC-prefixed ID for a supported mainland equity, ETF, or index.
event_timestring<date-time>Required · Start of the interval in UTC.
trading_datestring | nullRequired · Upstream trading or period-end date; null for derived intraday bars.
timeframeBarTimeframeRequired
openDecimalRequired
highDecimalRequired
lowDecimalRequired
closeDecimalRequired
previous_closeDecimal | nullRequired
volumeDecimalRequired
turnoverDecimal | nullRequired
trade_countinteger | nullRequired
suspendedbooleanRequired
adjustmentraw | forward | backwardRequired · ETF and index bars accept `raw` only.
aggregation_sourceprovider | snapshot_derived | daily_derivedRequired
provider_dataProviderDataRequired
StreamControlobject
PropertyType
control_typestream_end | heartbeat | reconnectRequired
request_idstring<uuid>Required
event_timestring<date-time>Required
records_sentintegerOptional
MarketEventQuote | StreamControl
PropertyType
BarStreamRecordBar | StreamControl
PropertyType
AgentContextobject
PropertyType
instrument_idInstrumentIdRequired · Canonical MIC-prefixed ID for a supported mainland equity, ETF, or index.
instrumentInstrumentRequired
latest_quoteQuote | nullRequired
barsBar[]Required
upstream_operationsstring[]Required
AgentContextResponseobject
PropertyType
metaResponseMetaRequired
dataAgentContextRequired
DatasetsResponseobject
PropertyType
metaResponseMetaRequired
dataDatasetDefinition[]Required
DatasetDetailResponseobject
PropertyType
metaResponseMetaRequired
dataDatasetDetailRequired
DataReadinessResponseobject
PropertyType
metaResponseMetaRequired
dataDatasetReadiness[]Required
ResearchTemplatesResponseobject
PropertyType
metaResponseMetaRequired
dataResearchTemplate[]Required
FactorResponseobject
PropertyType
metaResponseMetaRequired
dataFactorDefinitionRequired
FactorsResponseobject
PropertyType
metaResponseMetaRequired
dataFactorDefinition[]Required
FactorVersionResponseobject
PropertyType
metaResponseMetaRequired
dataFactorVersionRequired
FactorVersionsResponseobject
PropertyType
metaResponseMetaRequired
dataFactorVersion[]Required
ExperimentRunResponseobject
PropertyType
metaResponseMetaRequired
dataExperimentRunRequired
ExperimentRunsResponseobject
PropertyType
metaResponseMetaRequired
dataExperimentRun[]Required
InstrumentResponseobject
PropertyType
metaResponseMetaRequired
dataInstrumentRequired
InstrumentResponseObjectobject
PropertyType
metaResponseMetaRequired
dataInstrumentRequired
BarsResponseobject
PropertyType
metaResponseMetaRequired
dataBar[]Required
QuotesResponseobject
PropertyType
metaResponseMetaRequired
dataQuote[]Required
MeResponseobject
PropertyType
metaResponseMetaRequired
dataobjectRequired
InvalidParameterobject
PropertyType
namestringRequired
reasonstringRequired
Problemobject
PropertyType
typestring<uri-reference>Required
titlestringRequired
statusintegerRequired
detailstringRequired
request_idstring<uuid>Required
codestringRequired
invalid_parametersInvalidParameter[]Required

Ready to give your agent real market data?

Claim an API key, install the Skill, and ask your research question directly.

Start nowDownload OpenAPI YAML