Skip to main content

Getting Started

The Administration API lets you manage your IDaaS account programmatically without signing in to the Administrator Portal. Use this guide to create an Administration API application, initialize a client, and make your first request.

Start here

Start with the resource that matches your task:

  • Use the Administration API reference when you need endpoint details, request and response schemas, or interactive testing. Before sending test requests from the API Explorer, enter your IDaaS tenant URL and add this site's origin to your IDaaS CORS origins.
  • Use Client setup when you want to install a generated client for your preferred programming language.

Download the OpenAPI file

Download the raw OpenAPI JSON file when you want to import the schema into Postman, generate a client, or validate requests locally.

Prerequisites

Before you run the examples in this guide, make sure you have:

Create an Administration API application in IDaaS

Follow these steps to create an Administration API application:

  1. Go to your IDaaS Admin portal and navigate to Security > Applications.
  2. Click +, and then select Administration API from the list of available applications.
  3. In the General tab, enter the name and description of your application, and assign the role that has the permissions your application needs.
  4. Click Save.
  5. In the Application Credentials dialog, click COPY TO CLIPBOARD to copy the applicationId and sharedSecret credentials to your clipboard, or click DOWNLOAD to download the credentials as a JSON file. You need these credentials to initialize the Administration API client. Example:
{
"applicationId": "b0bd854d-a415-4de8-a511-66da772dd116",
"hostname": "entrust.us.trustedauth.com",
"sharedSecret": "HUsenKfwSnZ9rQENr8vXOwMVw4U9WpjM2NAqXTg0rUc"
}
Hostname format

The hostname is the hostname of your IDaaS account and the schema is https. For example, if your IDaaS account is entrust.us.trustedauth.com, then the hostname is https://entrust.us.trustedauth.com.

Initialize the Administration API client

To call the API, initialize the Administration API client using the applicationId and sharedSecret you copied when you created the application.

import com.entrustdatacard.intellitrust.admin.ApiClient;
import com.entrustdatacard.intellitrust.admin.api.*;
import com.entrustdatacard.intellitrust.admin.model.*;

public class Main {
private static final String SHARED_SECRET = "YOUR_SHARED_SECRET";
private static final String HOST_NAME = "YOUR_HOST_NAME";
private static final String APPLICATION_ID = "YOUR_APPLICATION_ID";

public static void main(String[] args) throws Exception {
ApiClient apiClient = new ApiClient();
apiClient.setBasePath(HOST_NAME);

AdminAuthApi adminAuthApi = new AdminAuthApi(apiClient);

AdminApiAuthentication authParams = new AdminApiAuthentication()
.applicationId(APPLICATION_ID)
.sharedSecret(SHARED_SECRET);
AdminApiAuthenticationResult authResult = adminAuthApi.authenticateAdminApiUsingPOST(authParams);


apiClient.setApiKey(authResult.getAuthToken());
}
}

Try API requests

After you initialize the client, you can make calls to the Administration API. The following example fetches a page of users and prints the userId, firstName, lastName, and email of each user.

UsersApi usersApi = new UsersApi(apiClient);
System.out.println("userId,firstName,lastName,email");
SearchParms searchParms = new SearchParms();
UsersPage usersPage = usersApi.usersPagedUsingPOST(searchParms);
while (true) {
if (usersPage.getResults() != null) {
for (User user : usersPage.getResults()) {
System.out.println(user.getId() + "," + user.getFirstName() + "," + user.getLastName() + "," + user.getEmail());
}
}
if (usersPage.getPaging() != null && usersPage.getPaging().getNextCursor() == null) {
break;
}
searchParms.setCursor(usersPage.getPaging().getNextCursor());
usersPage = usersApi.usersPagedUsingPOST(searchParms);
}

Full example snippet

package com.entrust.idaas.userValidate;

import com.entrustdatacard.intellitrust.admin.ApiClient;
import com.entrustdatacard.intellitrust.admin.api.AdminAuthApi;
import com.entrustdatacard.intellitrust.admin.api.UsersApi;
import com.entrustdatacard.intellitrust.admin.model.*;

public class UserValidate {
private static final String SHARED_SECRET = "YOUR_SHARED_SECRET";
private static final String HOST_NAME = "YOUR_HOST_NAME";
private static final String APPLICATION_ID = "YOUR_APPLICATION_ID";

public static void main(String[] args) throws Exception {
ApiClient apiClient = new ApiClient();
apiClient.setBasePath(HOST_NAME);

AdminAuthApi adminAuthApi = new AdminAuthApi(apiClient);

AdminApiAuthentication authParams = new AdminApiAuthentication()
.applicationId(APPLICATION_ID)
.sharedSecret(SHARED_SECRET);
AdminApiAuthenticationResult authResult = adminAuthApi.authenticateAdminApiUsingPOST(authParams);


apiClient.setApiKey(authResult.getAuthToken());

UsersApi usersApi = new UsersApi(apiClient);
System.out.println("userId,firstName,lastName,email");
SearchParms searchParms = new SearchParms();
UsersPage usersPage = usersApi.usersPagedUsingPOST(searchParms);
while (true) {
if (usersPage.getResults() != null) {
for (User user : usersPage.getResults()) {
System.out.println(user.getId() + "," + user.getFirstName() + "," + user.getLastName() + "," + user.getEmail());
}
}
if (usersPage.getPaging() != null && usersPage.getPaging().getNextCursor() == null) {
break;
}
searchParms.setCursor(usersPage.getPaging().getNextCursor());
usersPage = usersApi.usersPagedUsingPOST(searchParms);
}
}
}
Protect the shared secret

The code samples above are provided for reference only. They are not intended to be used in production.

It is dangerous to store the shared secret as plain text in your code. You should use a secure storage tool to store the shared secret and retrieve it at runtime. In case of a security breach, you should regenerate the shared secret in your IDaaS Admin portal and update your application.