> For the complete documentation index, see [llms.txt](https://docs.tnid.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tnid.com/api-reference/static.md).

# Overview

TNID makes creating your personal and business identity a breeze. Connect with people and companies you care about, and manage your preferences with them in one simple to use interface.

This documentation will guide you through how to set up the integration to TNID, it contains documented endpoints and examples.

The API is implemented using GraphQL, and there's 2 GraphQL servers, so use the appropriate one:

* `/user` use this one if you're a regular user, and
* `/company` use this one if you're using it as a company.

The API is hosted on these URLs:

* `api.staging.v2.tnid.com` for our staging environment, and
* `api.zero.v2.tnid.com` for our zero/prep environment.

## Getting started

To get started you'll first need a user account on TNID (currently it's invite only), once you have a regular user account, you can authenticate and start using the API.

### Getting started as a company

Once you get started as a regular user, you can register a company, you need to specify this flag: `provisionCompanyClientSecret: true`, this will ensure that the company is created with a client ID and client secret, these can then be used to authenticate as a company, once you authenticate as a company, start using the `/company` GraphQL server, for example all the requests should go to `https://api.staging.v2.tnid.com/company` if you're on STAGING or `https://api.zero.v2.tnid.com/company` if you want to use the ZERO environment.

### High level overview of authenticating

After you're registered as a user on TNID, you can start using the API in a few steps. **Note:** If you want to use it as a company, you have to have a registered company with client credentials.

#### 1.a. Get an authentication OTP token for email

If you have an account you have to send an request to get authentication and refresh tokens.

#### 1.b. Alternative - Get an authentication OTP token for telephone number

Same as above, but instead of getting the OTP delivered to your email, it'll get delivered to your telephone number.

#### 2. Log in

Once you have the OTP, you can authenticate, check the authentication docs under the *User* section.

#### 3. Authenticate as a company

Once you've registered a company with TNID which has a client ID and secret, you can authenticate as a company, check authentication docs under the *Companies* section.

## Documentation layout

This documentation is divided into the following:

* User specific API
* Company specific API
* GraphQL Definitions

Happy coding!
