TerraGo API

Application Cache

Admin key/value store for app-managed runtime configuration held in Redis. Get, set and delete individual keys, list all values, bulk-update a property across every entry, and clear the whole store. Affects only the app-managed cache namespace, not the entire Redis instance.

6 endpoint(s)
GET Get Cache Value {{url}}/app_cache/get

Retrieve a single value from the server-side key/value cache (Redis-backed) used for lightweight app/session state.

Query Parameters

  • key (string, required, max 255): The cache key to fetch.

Notes

  • Returns 404 if the key doesn't exist or has expired.
Auth
Bearer token
Request Body
{
    "key": "ada52fc6-d481-48d9-82b3-fddb07d5d44f"  // Cache entry key
}
Sample Response (200 OK)
{
    "status": 200,
    "data": {
        "key": "ada52fc6-d481-48d9-82b3-fddb07d5d44f",
        "value": {
            "name": "App One",
            "maintenance_mode": false,
            "status": "active"
        }
    },
    "message": "Cache Fetched successfully"
}
POST Delete Cache Value {{url}}/app_cache/delete

Delete a single application-cache entry by key. Keys are namespaced with the app cache prefix and tracked in a Redis index set, so this removes the value and its index entry.

Request Body

  • key (string, required, max 255): The cache key to delete (without the internal prefix).

Response

Returns the deleted key.

Notes

  • No error if the key doesn't exist — the delete is idempotent.
  • Operates on the app-managed Redis cache namespace only (see Get All Cache Values for what's tracked).
  • Requires a bearer token (auth:api).
Auth
Bearer token
Request Body
{
    "key": "ada52fc6-d481-48d9-82b3-fddb07d5d44f"  // Cache entry key
}
Sample Response (200 OK)
{
    "status": 200,
    "data": {
        "key": "ada52fc6-d481-48d9-82b3-fddb07d5d44f"
    },
    "message": "Cache value deleted successfully"
}
GET Get All Cache Values {{url}}/app_cache/get-all

Retrieve every cache entry belonging to the current cache index, along with each entry's remaining TTL.

Response

{
  "cache_entries": [
    { "key": "some_key", "value": "...", "ttl": 1800 }
  ],
  "total_count": 1
}

ttl may also be the string "forever" or "expired".

Auth
Bearer token
Sample Response (200 OK)
{
    "status": 200,
    "data": {
        "cache_entries": [
            {
                "key": "ada52fc6-d481-48d9-82b3-fddb07d5d44f",
                "value": {
                    "name": "App One",
                    "maintenance_mode": false,
                    "status": "active"
                },
                "ttl": "forever"
            }
        ],
        "total_count": 1
    },
    "message": "All cache values retrieved successfully"
}
DELETE Clear All Cache Values {{url}}/app_cache/clear

Clear all application-cache entries tracked in the app cache index. Iterates the Redis index set, deletes every tracked key, then drops the index itself.

Notes

  • Only affects keys created through these Application Cache endpoints (those in the app cache index) — it does not flush the entire Redis/Laravel cache.
  • Destructive and immediate; there is no undo.
  • Requires a bearer token (auth:api).

Response

Empty data; message confirms all app-managed cache values were cleared.

Auth
Bearer token
Sample Response (200 OK)
{
    "status": 200,
    "data": [],
    "message": "All cache values cleared successfully"
}
POST Bulk-Update a Property Across All Cache Values {{url}}/app_cache/update-all

Set the same property/field to the same value across every cached entry that is an array or object (scalars are skipped). Useful for pushing a config change out to every cached session at once.

Request Body

  • property (string, required, max 255): The field name to set on each cached array/object.
  • value (any type, required): The value to assign.

Response

Includes updated_count — how many cache entries were actually modified.

Auth
Bearer token
Request Body
{
    "property": "maintenance_mode",  // The cache field/property to bulk-update
    "value": true  // The value to store
}
Sample Response (200 OK)
{
    "status": 200,
    "data": {
        "property": "maintenance_mode",
        "value": true,
        "updated_count": 1
    },
    "message": "All cache values updated successfully"
}
POST Set Cache Value {{url}}/app_cache/set

Store a value under a key in the server-side cache.

Request Body

  • key (string, required, max 255)
  • value (any type, required)
  • ttl (integer, optional, min 1, seconds): How long to keep the value. If omitted, it defaults to the time remaining until end-of-day (minimum 1 hour).

Response

Confirmation the key/value was stored (data).

Auth
Bearer token
Request Body
{
    "key": "ada52fc6-d481-48d9-82b3-fddb07d5d44f",  // Cache entry key
    "value": {  // The value to store
        "name": "App One",  // Human-readable name / label
        "maintenance_mode": false,  // Toggle app maintenance mode on/off
        "status": "active"  // Status value — one of the allowed statuses for this resource
    }
}
Sample Response (200 OK)
{
    "status": 200,
    "data": {
        "key": "ada52fc6-d481-48d9-82b3-fddb07d5d44f",
        "ttl": "forever"
    },
    "message": "Cache value stored successfully"
}