LaunchNotes was made with collaboration and communication across teams at the heart of what we do. Collaboration across tools and teams works best when everyone stays in sync and processes work seamlessly.
This article will discuss the following:
- GraphQL
- API Documentation
- API Authentication
- Interacting with the API
- Access limitations
GraphQL
We use GraphQL for our API, which provides powerful functionality and flexibility.
💡 Tip: If you're unfamiliar with GraphQL, you can find out more about it here: https://graphql.org/
API documentation
Our API documentation can be found at https://app.launchnotes.io/graphiql. You can search the schema on the Documentation Explorer on the right hand side of this page, which will bring up the relevant fields, nodes and implementations:
Authentication
To interact with our API, you'll need to generate an API token. This can be found under Project settings > API & Embed and selecting the + create an API token button.
There are two types of API tokens: publishable and management:
Read only Public and Internal API tokens
Public API (read-only)
This API user can only read in public releases. Perfect for embedding published releases into your web app using our pop-over embed or the API itself.
Internal API (read-only) / Full Access
Referred to as Full Access in the app this token gives you access to internal and public releases. This API is perfect if you want to embed public and/or internal releases on your internal company wiki or other places protected by some authentication.
Management API tokens
Management API tokens provide read and write access to your project. Their level of permission is that of a project contributor, so they can create and update releases. These tokens should never be shared publicly and are suitable for server-side use cases where you might want to automate the creation of content.
Creating an API token
💡 Tip: You must be a project or organization admin to create an API token.
The GraphQL endpoint
https://app.launchnotes.io/graphql
The endpoint is the same for all operations, regardless of token type.
Using an API token
You must provide an API token as a Bearer token for every request to the API.
For example:
curl 'H "Authorization: Bearer public_QKHLUeWw6HxyE5cq9nujHqqX" \
-X POST -d " \
{ \
\"query\": \"query { viewer { id }}\" \
} \
" https://app.launchnotes.io/graphql
Interacting with the API
Entrypoint
All operations should be made through the viewer
field.
For example, querying a project's categories:
query GetCategories {
viewer {
project(id: "pro_MlXQmkFhbtes1") {
categories {
nodes {
id
name
description
color
}
}
}
}
}
Or, creating a release:
mutation CreateRelease {
createRelease(input: {
release: {
name: "My fancy new release",
description: "The details are remarkable",
projectId: "pro_MlXQmkFhbtes1",
categories: [{id: "cat_ATrb4K25Qj6-4"}]
}
}) {
errors { path, message }
release { id }
}
}
Access limitations
Rate limit
An API token can run a maximum of 300 operations every 5 minutes.