Bloodbath API
Search
K
Comment on page

Working with GraphQL

Bloodbath proposes a powerful GraphQL API.
It's the same API we use internally for developing our applications, most notably our own dashboard. We follow a Relay style of schema.
If you're new to GraphQL, Apollo has resources for beginners. The official documentation is another good starting point.

Prerequisite

Endpoint

Bloodbath's GraphQL endpoint is:
https://api.bloodbath.io/graphql
It supports introspection so you can query the whole schema.

Authorization

To start querying the endpoint, you must add the API key to your authorization headers.
{
"headers": {
"authorization": "Bearer <Your API key>"
}
}

Check your access

Once you have the headers in place you can ping the GraphQL API
query ping {
ping {
receivedAt
}
}
It should respond with something like
{
"data": {
"ping": {
"receivedAt": "2021-05-23T20:45:44.409594Z"
}
}
}

Examples

List events

query listEvents {
listEvents(first: 5) {
pageInfo {
startCursor
}
edges {
node {
id
eventId
method
lockedAt
}
}
}
}
You'll notice that a difference between id and eventId; we have a Relay style schema. It means we have to map a node id and the event id has to be put on the side.

Find an event

query findEvent{
findEvent(
id: "f6596250-044b-4070-a256-31f0977ea4f3"
) {
eventId
scheduledFor
}
}