DataGate API
Introduction
DataGate API utilizes HTTP POST methods, handling requests and responses as structured JSON documents. All API endpoints are comprehensively documented, clearly detailing request parameters, response structures, field descriptions, and practical examples.
Requests
API requests are structured as JSON documents containing specific parameters for data selection. DataGate offers extensive flexibility for querying blockchain data:
Blockchain Entity Selection: Select records based on specific blockchain entities, such as block indices or transaction hashes.
On-Chain Value Filtering: Query records by particular on-chain values. For instance, selecting all token transfers above a certain amount.
Complex and precise blockchain data queries are supported through a range of powerful comparison operators ($eq
, $ne
, $gt
, $gte
, $lt
, $lte
, $in
, $nin
) and logical operators ($and
, $not
, $nor
, $or
). The request syntax closely resembles MongoDB query syntax, ensuring familiarity and ease of adoption. Examples and detailed explanations are provided on the DataGate API portal.
All requests undergo strict JSON validation. If a request contains errors, a 422 HTTP
response code is returned, accompanied by a descriptive error message.
Responses
Responses are structured as JSON documents, consistently containing two main sections:
data
: Holds the query results.metadata
: Includes additional context:request_context
: Maintains data consistency across multiple API requests. Refer to Data consistency.blockchain_head
: Indicates the most recent finalized blockchain block, providing insights into blockchain state.pagination
: Offers details for navigating paginated data results. See the Paginationsection below.
Support for Keyless Addresses
Keyless addresses are integral to Trevo's architecture, and DataGate provides comprehensive support for querying these addresses.
Requests can filter by blockchain addresses using keyless address identifiers. Examples include:
Match any transactional keyless address controlled by AppAgent
100
:Match transactional keyless addresses within a specific range
[1000, 1100]
controlled by AppAgent100
:
API responses include detailed information for address fields, such as:
More detailed examples are available on the DataGate API portal.
Pagination
Responses containing extensive records are automatically paginated. Each paginated response includes a metadata.pagination
object:
To retrieve subsequent pages, submit additional requests using the provided next_page_id
:
Last updated