Reporting API Reference
Welcome to the Reporting API reference page.
This page provides GraphQL API endpoint documentation where you can find queries/mutations for service-to-service integration.
Uploading files
To retrieve upload URL for a file use the following request:
curl --request POST \
--url https://reporting-api.rekap.online/graphql \
--header 'authorization: TOKEN {YOUR_API_TOKEN}' \
--header 'content-type: application/json' \
--data '{"variables":{"projectId":"YOUR_PROJECT_ID","filename":"YOUR_FILE_NAME"},"query":"query (: ID!,: String!) { token { project( id: ) { file(name: ) { uploadUrl } } } }"}'
API response:
You will receive upload URL in response:
{"data":{"token":{"project":{"file":{"uploadUrl":"https://....."}}}}}
Upload file:
After receiving uploadUrl from above request you can upload file using PUT request:
curl -X PUT 'https://rekap-etl-files.s3.eu-central-1.amazonaws.com/.....' -d @path-to-local-file.json
Retrieving list of available projects
To retrieve list of available projects send:
curl --request POST \
--url https://reporting-api.rekap.online/graphql \
--header 'authorization: TOKEN {YOUR_API_TOKEN}' \
--header 'content-type: application/json' \
--data '{"query":"query { token { projects { id name } } }"}'
API response:
{"data":{"token":{"projects":[{"id":"...","name":"..."}, ...]}}}
Fetching data
To fetch data from specific project using query send:
curl --request POST \
--url https://reporting-api.rekap.online/graphql \
--header 'authorization: TOKEN {YOUR_API_TOKEN}' \
--header 'content-type: application/json' \
--data '{"variables":{"projectId":"YOUR_PROJECT_ID","queries":["{query1}",...]},"query":"query (: ID!,: [String!]!) { token { project( id: ) { loadQueries(queries: ) { results } } } }"}'
Note that this API doesn't support direct SQL queries. Query must be serialized string using ts-query package (eg. "Q.select().from('table').serialize()")
API response:
{"data":{"token":{"project":{"results":"[[{\"column1\": \"value1\", \"column2\": \"value2\"}, ...]]"}}}}
Terms of Service
API Endpoints
# Production:
https://reporting-api.rekap.online/graphql
Headers
# Pregenerated API Token
Authorization: TOKEN {YOUR_TOKEN_HERE}
Queries
token
Response
Returns a Token
Example
Query
query Token {
token {
name
tokenHash
project {
id
name
loadQueriesAsync
file {
name
uploadUrl
downloadUrl
}
}
projects {
id
name
loadQueriesAsync
file {
name
uploadUrl
downloadUrl
}
}
}
}
Response
{
"data": {
"token": {
"name": "abc123",
"tokenHash": "abc123",
"project": Project,
"projects": [Project]
}
}
}
Types
Boolean
Description
The Boolean scalar type represents true or false.
File
ID
Description
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
"4"
LoadQueriesAsyncInput
Project
String
Description
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
Example
"abc123"
Token
Fields
| Field Name | Description |
|---|---|
name - String
|
|
tokenHash - String!
|
|
project - Project
|
|
Arguments
|
|
projects - [Project!]!
|
|
Example
{
"name": "xyz789",
"tokenHash": "xyz789",
"project": Project,
"projects": [Project]
}