If you need to page over a large amount of JSON data, then use this endpoint to send the JSON in chunks. Transcend will create a file and append each JSON chunk to the file as you post the data. You will specify when your service has completed paging over the data, after which, Transcend will mark the Datapoint as ready.
POST
/v1/datapoint-chunkedIn your request headers, pass authorization: Bearer <<token>>.
If you're self-hosting Sombra, also add the request header x-sombra-authorization: Bearer <<sombraInternalKey>>. You can read more about request authorization here.
Requires scope:
API Key must be associated to this integration
authorizationstringAn API key generated from the Transcend dashboard: https://app.transcend.io/infrastructure/api-keys. |
x-sombra-authorizationstringThe Sombra internal key. This header is only needed for self-hosted Sombra gateways. See https://docs.transcend.io/docs/dsr-automation/api-integration/authentication#authenticating-to-sombra |
content-typestringSpecify content-type: application/json for a JSON response from the Transcend API. |
x-transcend-noncestringA reusable token sent in Transcend's webhook for this job, and returned by you when uploading the result of this job back to Transcend. Called a 'nonce' for legacy reasons, but is actually reusable. |
application/json
dataPointNamestring(required)The name of the datapoint that data is being uploaded for. |
dataarray<object>(required)An array of data to be uploaded for that datapoints. This is typically a page worth of JSON data |
isLastPagebooleanSet to true when you upload your final page of data (you may also upload an empty list with isLastPage=true). When this value is set to true, the datapoint will be marked as completed. |
fileIdstringGive the chunk of data being uploaded a title. For example, if the data is some date range, you could title the file "mm/dd/yyy - mm/dd/yyy" |
Request Body Examples
Example:
{
"dataPointName": "activities",
"fileId": "History 04/07 - 04/08",
"data": [
{
"id": "d8e57222-43c6-4fd7-b928-4a8ae106fe98",
"time_stamp": "2022-04-07T04:58:19.900Z",
"metric": 4,
"isCool": true
},
{
"id": "31a17418-ec6e-4b3a-9056-b5c17278d053",
"time_stamp": "2022-04-08T04:58:19.900Z",
"metric": 0,
"isCool": false
}
]
}
Example Final Page:
{
"dataPointName": "activities",
"data": [
{
"id": "96555188-5681-4e77-9375-a841af4b004c",
"time_stamp": "2022-04-010T04:58:19.900Z",
"metric": 9,
"isCool": true
}
],
"isLastPage": true
}
Example Empty Final Page:
{
"dataPointName": "activities",
"data": [],
"isLastPage": true
}
200 (OK)
application/jsonYour request was received without an issue.
400 (Bad Request)
application/jsonWhile this request passed authentication, the input is malformed. Please double-check that your code conforms to our API specification.
401 (Unauthorized)
application/jsonThere was a problem authenticating your request. This may be an issue with the Transcend API key ("authorization" header), or the Sombra API key ("x-sombra-authorization" header used for self-hosted gateways only).
413 (Request Entity Too Large)
application/jsonThe request body is too large. JSON and raw bodies must be less than 50MB. URL encoded bodies must be less than 30MB.
429 (Too Many Requests)
application/jsonYou are sending requests too quickly and have hit our rate limit. If you hit this, you'll need to throttle your request velocity or try again later.
Response Headers
Retry-Afterinteger |
X-RateLimit-Limitinteger |
X-RateLimit-Remaininginteger |
X-RateLimit-Resetinteger |
500 (Internal Server Error)
application/jsonA 5xx error means there is either an issue with your self-hosted gateway, or a Transcend server is having issues. You check our system status at status.transcend.io. Please reach out to Transcend support if you're experiencing this error.
502 (Bad Gateway)
application/jsonAn upstream service on Transcend's side is having issues. You check our system status at status.transcend.io. Please reach out to Transcend support if you're experiencing this error.