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¶
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.
From code¶
g.sys.system.getIndexes makes the same call from your code, whatever the settings of this API say about HTTP callers.
The indexes of a table¶
The indexes of a table, in the same format for every database.
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, inx-am-authorization) orIS_PUBLIC. Without settings it isNO_ACCESS: your code calls it throughg.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. |