Transcend's GraphQL API
Transcend offers a GraphQL API to interact with its offerings, in an automated fashion.
The GraphQL API is hosted at https://api.transcend.io/graphql
(or https://api.us.transcend.io/graphql
if you are a US-based customer). You can visit those pages
using a web browser to find an GraphQL playground to discover all the different queries and operations we support using the GraphQL API.
You will need an API key generated from the Transcend Admin-dashboard, with the appropriate scopes granted to the key, for the routes you wish to use. Include
the API key generated as a Bearer token, with the Authorization
header in any requests you send to the GraphQL API.
We have an established set of best practices when calling our GraphQL API, especially for certain queries and mutations.
When using the GraphQL API for a query to read some information from Transcend's systems, we recommend you use the useMaster: false
parameter in order to route your
requests to our read-replicas. While the GraphQL resolver will certainly attempt to route your query to the right database instance to process your query, we recommend using
this parameter to avoid any ambiguity.
Our read-replicas have a typical replication lag of about 100 milliseconds.
An example query with the useMaster
parameter is:
query ListDataSilos { dataSilos(first: 10, useMaster: false) { nodes { id title type } } }
When repeatedly calling the subDataPoints
GraphQL query, we recommend using a cursor-based pagination using the id
attribute to massively decrease the response times
to your queries. Each subsequent call to the GraphQL query would use the id
attribute of the last subDataPoint
in the response (nodes[nodes.length - 1].id
), as
the cursor for the next page of results.
An example query is:
query ListSubDataPointsByDataSilo($datasilo: ID!, $id_cursor: ID!) { subDataPoints( first: 100 filterBy: { dataSilos: [$datasilo], cursor: { id: $id_cursor } } useMaster: false ) { nodes { id name } totalCount } }