Skip to content
This page View Markdown Open in ChatGPT Open in Claude

Get indexes

Lists the indexes of a table in the same format for every database : the name, the fields with their direction, whether it is unique, and the access method when the database says it.

Method POST
URL /api/system-api/admin/get-indexes : admin is the user path of your account
Body { instance, database, collection | table } or an array of them
Answer data : an array of indexes, or an array of arrays
From code g.sys.system.getIndexes

The call

Body
{ "instance": "mysql8", "database": "inventory", "table": "orders" }
Answer
{
    "success": true,
    "statusCode": 200,
    "data": [
        { "name": "PRIMARY", "key": { "id": 1 }, "unique": true },
        { "name": "am_ix_orders_customer_id_status_3f9a1c", "key": { "customer_id": 1, "status": -1 }, "unique": false, "method": "BTREE" }
    ]
}
Property Meaning
name Index name.
key The fields in order, with their direction : 1 ascending, -1 descending, hashed or text on MongoDB.
unique A unique index (the primary key included).
method The access method when the database tells it (BTREE, HASH, gin…).
  • An array of tables answers an array of lists, in the same order.

Access and settings

  • Over HTTP, a system API answers once its settings give it apiAccessType: TOKEN_ACCESS (the token of an API user whose group grants this system API, in x-am-authorization) or IS_PUBLIC. Without settings it is NO_ACCESS : your code calls it through g.sys, the admin panel tests it, and an HTTP call is refused.
  • The settings can also cache the answer or require person tokens (authProviders) ; pre and post hooks run around it like around any API.
  • The request headers apply : x-am-response-case, x-am-content-type-response, x-am-internationalization, x-am-tenant-username…

Errors

Code When
400 The body is wrong : the message names the missing or invalid key.
401 No valid API user token, or the API is NO_ACCESS : You are not authorized to access this API.
403 No group grants this system API.