---
title: "Authentication"
description: "The Call AI API uses OAuth 2.0 to authorize access to your conversation intelligence data with a time-limited access token."
contentType: "overview"
url: "https://developer.mindtickle.com/docs/call-ai/authentication/"
---

The Call AI API uses the OAuth 2.0 protocol to authorize access to your conversation intelligence data. Before making any API requests, you must generate a time-limited access token with the credentials provided by Mindtickle. These pages cover the lifecycle of those tokens: generating an authorization code, exchanging it for an access token, and refreshing that token when it expires.

## Prerequisites

Before you can generate a token, contact [Mindtickle Support](mailto:support@mindtickle.com) to obtain the following credentials and configurations:

- **Client credentials:** Your unique `client_id` and `client_secret`.
- **Tenant details:** Your `tenant_id` and the specific `user_id` authorized to make requests.
- **Authentication base URL:** The specific endpoint domain for issuing tokens.
- **Permissions:** Explicit approval to access specific fields or data sets within the Call AI API.

## Endpoints

- [Get an authorization code](/docs/call-ai/authentication/get-an-authorization-code/): obtain the temporary code used to request a token. Run this during initial setup and repeat it if the refresh token expires.
- [Generate an access token](/docs/call-ai/authentication/generate-an-access-token/): exchange the authorization code for an access token and a refresh token.
- [Refresh an access token](/docs/call-ai/authentication/refresh-an-access-token/): regenerate an access token without creating a new authorization code.
- [Validate a token](/docs/call-ai/authentication/validate-a-token/): retrieve the user and client details associated with an active access token.

## Related

- [GraphQL API](/docs/call-ai/graphql-api/): pass the generated token in the header of your GraphQL requests.
