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.

Did this answer your question?