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

Reset custom API cache

Drops the cached answers of a custom API with enableCaching. resetCacheOnModificationOf in its settings does it on its own when a table it names is written ; this API is for the other cases.

Method POST
URL /api/system-api/admin/reset-redis-cache-custom-apis : admin is the user path of your account
Body { name, tenantUsername? } or an array of them
Answer data : the number of cache entries removed
From code g.sys.cache.resetCacheCustomApis

The call

Body : one custom API
{ "name": "customers-report" }
Body : several
[ { "name": "customers-report" }, { "name": "top-products" } ]
Body : one tenant
{ "name": "customers-report", "tenantUsername": "acme" }
Answer
{ "success": true, "statusCode": 200, "data": 1 }
  • name is the name of the custom API (its settings), not its path. An unknown name gives -1 and a 404 in errors.
  • Without tenantUsername, the cached answers of every tenant and of the calls without a tenant are reset.

From code

await g.sys.cache.resetCacheCustomApis('customers-report');
await g.sys.cache.resetCacheCustomApis({ name: 'customers-report', tenantUsername: 'acme' });

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.