Download OpenAPI specification:Download
This is the spec that defines the API provided by the application to provide auth across the cluster
Create an access token for EFA
Credentials to fetch a token
| username | string Name of the user for whom the token has to be generated | 
| password | string Password for the above user | 
{- "username": "admin",
- "password": "password"
}{- "access-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "token-type": "Bearer",
- "refresh-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Create an access token for EFA clients
Client Credentials to fetch a token
| username | string Name of the user for whom the token has to be generated | 
| password | string Password for the above user | 
| clientId | string ID of the registered client | 
{- "username": "admin",
- "password": "password"
}{- "access-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "token-type": "Bearer"
}Get access token with refresh token
Refresh token
| refresh-token | string refresh token | 
| grant-type | string grant type(refresh_token) | 
{- "grant-type": "refresh_token",
- "refresh-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}{- "access-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
- "token-type": "Bearer",
- "refresh-token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Create a key for EFA clients
| force  required  | boolean Force key regenerate | 
Credentials to fetch a token
| clientId | string ID of the registered client | 
{- "clientId": "sdjfdjskjd"
}{- "apiKey": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Update Token Expiry Time For A Specific Token
Type of the EFA token
| type | string Type of the token | 
| hours | integer Hours for token expiry | 
| minutes | integer Minutes for token expiry | 
{- "type": "ACCESS",
- "hours": 0,
- "minutes": 15
}{- "type": "ACCESS",
- "hours": 0,
- "minutes": 15
}Register a new client to access EFA
Details of the client
| name | string Name for the client(tenant name for Openstack clients) | 
| clientType | string Type of the client(openstack for Openstack clients) | 
{- "name": "tenantname",
- "clientType": "openstack"
}{- "name": "tenantname",
- "clientID": "askjf-djffi-dwokd-askls",
- "clientType": "openstack"
}Fetch LDAP details by name
| name  required  | string Name given for the ldap connection | 
{- "id": 0,
- "name": "string",
- "primary": 0,
- "host": "string",
- "port": "string",
- "tls": true,
- "insecure-tls": true,
- "cacert": "string",
- "timeout": 0,
- "bind-user-name": "string",
- "bind-user-password": "string",
- "user-search-base": "string",
- "user-object-class": "string",
- "user-login-attribute": "string",
- "user-role-attribute": "string",
- "user-role-attribute-key": "string",
- "user-member-attribute": "string",
- "group-search-base": "string",
- "group-object-class": "string",
- "group-attribute": "string",
- "group-member-user-attribute": "string",
- "group-member-mapping-attribute": "string"
}Update LDAP configuration for authentication
| name  required  | string Name of the registered LDAP Server | 
Details of the LDAP Server
| name | string Name for the LDAP connection | 
| primary  required  | integer Set to 1 when multiple LDAP connections are available | 
| host | string Specify the hostname or IP address | 
| port | string Specify the port at which the OpenLDAP server is listening for connections | 
| tls  required  | boolean Enable to use LDAP over SSL/TLS | 
| insecure-tls  required  | boolean Enable to use LDAP without cert verification | 
| cacert | string CA certificate | 
| timeout  required  | integer Duration in number of seconds before considering the server unreachable(defaults to 5 sec) | 
| bind-user-name | string Distinguished Name (DN) of the user that should be used to bind, search and retrieve LDAP entries | 
| bind-user-password | string Password of the bind user | 
| user-search-base | string Enter the Distinguished Name of the node in your directory tree from which to start searching for user objects. | 
| user-object-class | string Name of the object class used for user objects(defaults to inetOrgPerson) | 
| user-login-attribute | string The attribute whose value matches the username part of credentials entered by your users when logging in(defualts to uid) | 
| user-role-attribute | string The attribute to read the role of user from | 
| user-role-attribute-key | string The attribute to read the role value from role attribute | 
| user-member-attribute | string The attribute to read the member of the group the user is part of | 
| group-search-base | string Enter the Distinguished Name of the node in your directory tree from which to start searching for group objects. | 
| group-object-class | string Name of the object class used for group objects(defaults to groupOfNames) | 
| group-attribute | string Attribute to define search filter on group(defaults to cn) | 
| group-member-user-attribute | string The name of the user attribute whose format matches the group members(defualts to entrydn) | 
| group-member-mapping-attribute | string The name of the group attribute containing the members of a group(defaults to member) | 
{- "name": "string",
- "primary": 0,
- "host": "string",
- "port": "string",
- "tls": true,
- "insecure-tls": true,
- "cacert": "string",
- "timeout": 0,
- "bind-user-name": "string",
- "bind-user-password": "string",
- "user-search-base": "string",
- "user-object-class": "string",
- "user-login-attribute": "string",
- "user-role-attribute": "string",
- "user-role-attribute-key": "string",
- "user-member-attribute": "string",
- "group-search-base": "string",
- "group-object-class": "string",
- "group-attribute": "string",
- "group-member-user-attribute": "string",
- "group-member-mapping-attribute": "string"
}{- "id": 0,
- "name": "string",
- "primary": 0,
- "host": "string",
- "port": "string",
- "tls": true,
- "insecure-tls": true,
- "cacert": "string",
- "timeout": 0,
- "bind-user-name": "string",
- "bind-user-password": "string",
- "user-search-base": "string",
- "user-object-class": "string",
- "user-login-attribute": "string",
- "user-role-attribute": "string",
- "user-role-attribute-key": "string",
- "user-member-attribute": "string",
- "group-search-base": "string",
- "group-object-class": "string",
- "group-attribute": "string",
- "group-member-user-attribute": "string",
- "group-member-mapping-attribute": "string"
}Register a new LDAP Server for authentication
Details of the LDAP Server
| name | string Name for the LDAP connection | 
| primary  required  | integer Set to 1 when multiple LDAP connections are available | 
| host | string Specify the hostname or IP address | 
| port | string Specify the port at which the OpenLDAP server is listening for connections | 
| tls  required  | boolean Enable to use LDAP over SSL/TLS | 
| insecure-tls  required  | boolean Enable to use LDAP without cert verification | 
| cacert | string CA certificate | 
| timeout  required  | integer Duration in number of seconds before considering the server unreachable(defaults to 5 sec) | 
| bind-user-name | string Distinguished Name (DN) of the user that should be used to bind, search and retrieve LDAP entries | 
| bind-user-password | string Password of the bind user | 
| user-search-base | string Enter the Distinguished Name of the node in your directory tree from which to start searching for user objects. | 
| user-object-class | string Name of the object class used for user objects(defaults to inetOrgPerson) | 
| user-login-attribute | string The attribute whose value matches the username part of credentials entered by your users when logging in(defualts to uid) | 
| user-role-attribute | string The attribute to read the role of user from | 
| user-role-attribute-key | string The attribute to read the role value from role attribute | 
| user-member-attribute | string The attribute to read the member of the group the user is part of | 
| group-search-base | string Enter the Distinguished Name of the node in your directory tree from which to start searching for group objects. | 
| group-object-class | string Name of the object class used for group objects(defaults to groupOfNames) | 
| group-attribute | string Attribute to define search filter on group(defaults to cn) | 
| group-member-user-attribute | string The name of the user attribute whose format matches the group members(defualts to entrydn) | 
| group-member-mapping-attribute | string The name of the group attribute containing the members of a group(defaults to member) | 
{- "name": "string",
- "primary": 0,
- "host": "string",
- "port": "string",
- "tls": true,
- "insecure-tls": true,
- "cacert": "string",
- "timeout": 0,
- "bind-user-name": "string",
- "bind-user-password": "string",
- "user-search-base": "string",
- "user-object-class": "string",
- "user-login-attribute": "string",
- "user-role-attribute": "string",
- "user-role-attribute-key": "string",
- "user-member-attribute": "string",
- "group-search-base": "string",
- "group-object-class": "string",
- "group-attribute": "string",
- "group-member-user-attribute": "string",
- "group-member-mapping-attribute": "string"
}{- "id": 0,
- "name": "string",
- "primary": 0,
- "host": "string",
- "port": "string",
- "tls": true,
- "insecure-tls": true,
- "cacert": "string",
- "timeout": 0,
- "bind-user-name": "string",
- "bind-user-password": "string",
- "user-search-base": "string",
- "user-object-class": "string",
- "user-login-attribute": "string",
- "user-role-attribute": "string",
- "user-role-attribute-key": "string",
- "user-member-attribute": "string",
- "group-search-base": "string",
- "group-object-class": "string",
- "group-attribute": "string",
- "group-member-user-attribute": "string",
- "group-member-mapping-attribute": "string"
}[- {- "id": 0,
- "name": "string",
- "primary": 0,
- "host": "string",
- "port": "string",
- "tls": true,
- "insecure-tls": true,
- "cacert": "string",
- "timeout": 0,
- "bind-user-name": "string",
- "bind-user-password": "string",
- "user-search-base": "string",
- "user-object-class": "string",
- "user-login-attribute": "string",
- "user-role-attribute": "string",
- "user-role-attribute-key": "string",
- "user-member-attribute": "string",
- "group-search-base": "string",
- "group-object-class": "string",
- "group-attribute": "string",
- "group-member-user-attribute": "string",
- "group-member-mapping-attribute": "string"
 }
]Get the detailed output of the given execution ID
| id  required  | string Execution ID | 
{- "start_time": "2000-01-23T04:56:07.000Z",
- "end_time": "2000-01-23T04:56:07.000Z",
- "id": "id",
- "parameters": "client add",
- "logs": "logs",
- "command": "client add",
- "status": "Failed, Succeeded"
}This API will delete the execution entries older than specific number of days
| days_older_by  required  | integer  Default:  30 Deletes execution entries older than specified number of days | 
{- "code": 0,
- "message": "message"
}Get the list of all the previous executions
| limit  required  | integer  Default:  10 Limit the number of executions that will be sent in the response. Default is 10 | 
| status | string  Default:  "all" Filter the executions based on the status(failed/succeeded/all) | 
{- "items": [- {- "start_time": "2000-01-23T04:56:07.000Z",
- "end_time": "2000-01-23T04:56:07.000Z",
- "id": "id",
- "command": "client add",
- "status": "client add"
 },
- {- "start_time": "2000-01-23T04:56:07.000Z",
- "end_time": "2000-01-23T04:56:07.000Z",
- "id": "id",
- "command": "client add",
- "status": "client add"
 }
 ]
}Add new role mapping
Details of the mapping to be created
| name | string Name for the user or group for whom role is to assigned | 
| role | string Name of the role to be assigned | 
| type | string Type of the assignment (user or group) | 
{- "name": "tenantname",
- "role": "TenantAdmin",
- "type": "user"
}{- "id": 1,
- "name": "tenantname",
- "role": "TenantAdmin",
- "type": "user"
}