Aug 31

Announcing Our Open GraphQL API: Integrate with the Stellate Platform

We are excited to announce that our GraphQL API is now open for anyone to use! 🎉

GraphQL gives a lot of power to developers through flexibility, which is why many of us love it. That flexibility has the downside of making it harder to open up GraphQL APIs, with authorization, schema evolution and security being non-trivial concerns.

However, opening up your API and enabling third-party developers to integrate with your systems is a powerful way to create business value. That’s why our current mission to make open GraphQL APIs ubiquitous, and our first step towards that is opening up our own GraphQL API to allow anyone to build an integration with our platform.

If your company is using GraphQL and you’re also thinking about opening up your GraphQL API, apply to be a part of our Open GraphQL API Pilot Program, where our GraphQL experts help companies successfully open up their GraphQL APIs.

To get started with our open GraphQL API, create a new personal access token and go to graph.stellate.co to explore the schema (in the new GraphiQL of course 😍):

To send requests, include your personal access token in the Authorization header:

{
"Authorization": "Bearer <personal-access-token>"
}

You can then, for example, fetch all of your organizations & each of their services:

query getOrganizationsAndServices {
organizations {
edges {
node {
id
name
services {
edges {
node {
id
name
}
}
}
}
}
}
}

Or you can get a service’s metrics for a specific time interval:

query getServiceMetrics($name: ServiceName!, $timeInterval: MetricsRelativeDate = T_2_DAYS_AGO) {
service(name: $name) {
metrics(timeInterval: { fromRelative: $timeInterval }) {
summary {
count # Overall request count
cacheHitRate # Cache hit rate
countErrors # Overall error count
quantileLatencyCold(value: 95) # 95th percentile origin response time
}
}
}
}

Or apply for one of our open jobs at Stellate:

mutation applyForJob($application: ApplyForJobInput!) {
applyForJob(input: $application)
}

Or even give us feedback about our open GraphQL API:

mutation submitApiFeedback($input: SubmitApiFeedbackInput!) {
submitApiFeedback(input: $input)
}

Explore the full schema at graph.stellate.co and we’d love to see what you build with our API in our Discord community!

We’ll be sharing more about how we opened up our GraphQL API and what we learned about authorization, schema subsetting and protecting our API from abuse in the coming weeks, so stay tuned for those posts.