> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usekana.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

Kana's Admin API utilises **GraphQL**. [GraphQL](https://graphql.org/) is a query language for APIs, whereby you have the ability to define precisely the data you want to fetch or update. The Kana GraphQL API therefore offers the flexibility to grab feature, plan, or subscription data for a user as you need, and take actions upon this data, alongside recording feature/plan usage data for your users.

## Introduction to GraphQL

If you're unfamiliar with GraphQL, there's some excellent resources to help you get started. You can find a fantastic introduction below that we recommend giving a brief look before getting started.

<Card
  title="Introduction to GraphQL"
  href="https://graphql.org/learn/"
  icon={
<svg
  class="h-7 w-7"
  xmlns="http://www.w3.org/2000/svg"
  height="64"
  width="64"
  viewBox="0 0 29.999 30"
  fill="#e10098"
>
  <path d="M4.08 22.864l-1.1-.636L15.248.98l1.1.636z" />
  <path d="M2.727 20.53h24.538v1.272H2.727z" />
  <path d="M15.486 28.332L3.213 21.246l.636-1.1 12.273 7.086zm10.662-18.47L13.874 2.777l.636-1.1 12.273 7.086z" />
  <path d="M3.852 9.858l-.636-1.1L15.5 1.67l.636 1.1z" />
  <path d="M25.922 22.864l-12.27-21.25 1.1-.636 12.27 21.25zM3.7 7.914h1.272v14.172H3.7zm21.328 0H26.3v14.172h-1.272z" />
  <path d="M15.27 27.793l-.555-.962 10.675-6.163.555.962z" />
  <path d="M27.985 22.5a2.68 2.68 0 0 1-3.654.981 2.68 2.68 0 0 1-.981-3.654 2.68 2.68 0 0 1 3.654-.981c1.287.743 1.724 2.375.98 3.654M6.642 10.174a2.68 2.68 0 0 1-3.654.981A2.68 2.68 0 0 1 2.007 7.5a2.68 2.68 0 0 1 3.654-.981 2.68 2.68 0 0 1 .981 3.654M2.015 22.5a2.68 2.68 0 0 1 .981-3.654 2.68 2.68 0 0 1 3.654.981 2.68 2.68 0 0 1-.981 3.654c-1.287.735-2.92.3-3.654-.98m21.343-12.326a2.68 2.68 0 0 1 .981-3.654 2.68 2.68 0 0 1 3.654.981 2.68 2.68 0 0 1-.981 3.654 2.68 2.68 0 0 1-3.654-.981M15 30a2.674 2.674 0 1 1 2.674-2.673A2.68 2.68 0 0 1 15 30m0-24.652a2.67 2.67 0 0 1-2.674-2.674 2.67 2.67 0 1 1 5.347 0A2.67 2.67 0 0 1 15 5.347" />
</svg>
}
>
  graphql
</Card>

Don't worry if you're not entirely familiar though - we'll help you get setup with Kana no matter the case. Take a look at our Quick Start guide to get up-and-running using our GraphQL API with little effort.

<Card title="Quick Start" icon="circle-play" href="/quick-start">
  Get set up and provide simple example code to create something within Kana
</Card>

## Authentication

You'll need to an API Key in order to utilise the GraphQL API. We have a handy guide which goes into further detail on how to obtain and provide this.

<Card title="Authorization (Backend)" icon="user-lock" href="/admin-api-backend/authorization-backend" />

## API Reference

Our GraphQL API Reference details the [schema](https://graphql.org/learn/schema/) - defining our GraphQL API's type system in order to describe all accessible data (objects, fields, etc.) and the [queries & mutations](https://graphql.org/learn/queries/) available at your disposal to fetch or manipulate your information in Kana.

<Card title="Admin API (Backend) Reference" icon="rectangle-terminal" href="/reference/admin-api-backend-reference" />

## SDKs

We also provide SDKs which wrap the functionality of the API in the languages you use. While the [Admin API (Backend) Reference](/reference/admin-api-backend-reference) shows example calls for both [Queries](/reference/admin-api-backend-reference/queries) and [Mutations](/reference/admin-api-backend-reference/mutations) in each supported language, you can also access the repositories directly to gain information on how to install, authenticate, and make available calls.

### Repositories

Follow the links to access the repositories for each SDK currently available:

* [Node.js](https://github.com/usekana/admin-kana-js)

### Installation

Install the SDK necessary for your application by following the relevant instructions below:

```bash Node.js theme={null}
// CLI
npm i @usekana/admin\-kana\-js

// package.json - Ensure the following is present:
"dependencies": {
  "@usekana/admin-kana-js": "^0.1.19"
}
```
