Getting Started With the Indico API
Introduction
Indico provides libraries for developers to build with the IPA Platform in several popular languages.
Visit any of the links below for language-specific documentation:
Creating an Account
The first step to begin developing with the Indico API is to register an account on the Indico platform.
Remember, you may need someone with Indico admin-access to grant you "app access" after registering to begin using the platform.
Authentication
The Indico Platform and client libraries use JSON Web Tokens (JWT) for user authentication.
Obtaining an API Token
To download a token:
-
In Agents and Workflows, open your Account page.
-
Click the blue Download New API Token button.
Using Your API Token
Most browsers will download the API token as indico_api_token.txt and place it in your Downloads directory. We suggest moving the token file from Downloads to either your home directory or another location in your development environment.
See below for examples of how to use your API token to authenticate with the Indico client libraries.
from indico import IndicoClient, IndicoConfig
api_token_path = "./indico_api_token.txt"
# Create an Indico API client
my_config = IndicoConfig(
host="your-cluster.example.com", api_token_path=api_token_path
)
client = IndicoClient(config=my_config)
using System;
using IndicoV2;
namespace Examples
{
public class TokenExample
{
private static string GetToken() =>
File.ReadAllText(Path.Combine(Directory.GetCurrentDirectory(), "\\indico_api_token.txt"););
private static Uri url = new Uri("https://your-cluster.example.com")
public static async Task Main()
{
var client = new IndicoClient(GetToken(), url));
}
}
}
package com.testco.indico;
public class main {
public static IndicoKtorClient client;
private static String token_path = "./indico_api_token.txt";
private static String host = "https://your-cluster.example.com"
public static void main(String args[]) throws Exception {
/**
* Set up client
*/
IndicoConfig config = new IndicoConfig.Builder().host(host)
.protocol("https")
.tokenPath(token_path)
.build();
client = new IndicoKtorClient(config);
}
API Key Expiration
When you generate an API key via the Indico platform, that key is good until you generate a new one.
Generating a new API key while logged into the same account will cause every old API key to expire immediately.
Using the Client Libraries
Indico offers three client libraries that allow developers to interact with our API using tokens.
These libraries contain pre-built classes to handle the majority of common Indico interactions. You can also send custom GraphQL requests from the libraries.
Rest API Reference
For detailed descriptions of Indico Rest API endpoints, read our Rest API Reference.
GraphQL API
With your Indico account, you have the ability to interact with the agents and resources via our GraphQL API.
You can work with the resources that you created or that have been shared with you at the analyst/manager permission level.
If your administrator has granted you GraphQL access, you can also use our web sandbox to view the full schema of available data points and test custom queries.
There are two ways to access the GraphQL sandbox:
-
In Agent Studio, click GRAPHIQL in the navigation panel on the left.
-
In the browser, add
/graph/api/graphqlto the end of the Indico platform URL.

Updated about 7 hours ago
