> For the complete documentation index, see [llms.txt](https://docs.scaleconnect.com.au/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.scaleconnect.com.au/api/rest-api/scaleapp-rest-api/cache.md).

# Cache

Cache data retrieval for client lists

## Paginated client list summary

> Server-side sorted/searched/filtered, paginated summary rows for the broker client list.

```json
{"openapi":"3.0.0","info":{"title":"ScaleApp API","version":"1.0.0"},"tags":[{"name":"Cache","description":"Cache data retrieval for client lists"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/v1/cache/clients":{"get":{"description":"Server-side sorted/searched/filtered, paginated summary rows for the broker client list.","operationId":"CacheController_getClients_v1","parameters":[{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"sort","required":true,"in":"query","schema":{"type":"string"}},{"name":"dir","required":true,"in":"query","schema":{"type":"string"}},{"name":"search","required":true,"in":"query","schema":{"type":"string"}},{"name":"health","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Paginated client list summary","tags":["Cache"]}}}}
```

## Projected already-written cache hits

> Which blob: url+fields, or pulls=\[{path,fields}] (cap 4 URLs, 12 fields, one time axis). When: FY-array URLs (/v1/personal-cashflow, /v1/property-cashflow) need years (list: FY2030, 2030, this, this+N) or yearFrom+yearTo (max 11); month-card URLs (/v1/timeline/personal-level-strategy, -user1, -user2) take dates (YYYY-MM-01, first of the month) or dateFrom+dateTo (max 24; omitted = current month + note); today/list URLs take an optional single dates entry as snapshot as-of. Who: userIds (omit = whole book, cap 200). Fields: dotted cells or a section; never years/financialYears. Base strategy rows only. Returns projected cells from existing user\_cache rows; misses are listed, never zero-filled.

```json
{"openapi":"3.0.0","info":{"title":"ScaleApp API","version":"1.0.0"},"tags":[{"name":"Cache","description":"Cache data retrieval for client lists"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/v1/cache/hits":{"get":{"description":"Which blob: url+fields, or pulls=[{path,fields}] (cap 4 URLs, 12 fields, one time axis). When: FY-array URLs (/v1/personal-cashflow, /v1/property-cashflow) need years (list: FY2030, 2030, this, this+N) or yearFrom+yearTo (max 11); month-card URLs (/v1/timeline/personal-level-strategy, -user1, -user2) take dates (YYYY-MM-01, first of the month) or dateFrom+dateTo (max 24; omitted = current month + note); today/list URLs take an optional single dates entry as snapshot as-of. Who: userIds (omit = whole book, cap 200). Fields: dotted cells or a section; never years/financialYears. Base strategy rows only. Returns projected cells from existing user_cache rows; misses are listed, never zero-filled.","operationId":"CacheController_getHits_v1","parameters":[{"name":"url","required":true,"in":"query","schema":{"type":"string"}},{"name":"pulls","required":true,"in":"query","schema":{"type":"string"}},{"name":"yearFrom","required":true,"in":"query","schema":{"type":"string"}},{"name":"yearTo","required":true,"in":"query","schema":{"type":"string"}},{"name":"dateFrom","required":true,"in":"query","schema":{"type":"string"}},{"name":"dateTo","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Projected already-written cache hits","tags":["Cache"]}}}}
```

## Paginated raw timeline page

> Server-side selected (search/health/sort), paginated raw users+data slice for the /client timeline view.

```json
{"openapi":"3.0.0","info":{"title":"ScaleApp API","version":"1.0.0"},"tags":[{"name":"Cache","description":"Cache data retrieval for client lists"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/v1/cache/clients/timeline-page":{"get":{"description":"Server-side selected (search/health/sort), paginated raw users+data slice for the /client timeline view.","operationId":"CacheController_getTimelinePage_v1","parameters":[{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"sort","required":true,"in":"query","schema":{"type":"string"}},{"name":"dir","required":true,"in":"query","schema":{"type":"string"}},{"name":"search","required":true,"in":"query","schema":{"type":"string"}},{"name":"health","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Paginated raw timeline page","tags":["Cache"]}}}}
```

## Paginated simulator strategy list

> Server-side grouped + searched + paginated real-client strategies for /simulator.

```json
{"openapi":"3.0.0","info":{"title":"ScaleApp API","version":"1.0.0"},"tags":[{"name":"Cache","description":"Cache data retrieval for client lists"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/v1/cache/simulator/strategies":{"get":{"description":"Server-side grouped + searched + paginated real-client strategies for /simulator.","operationId":"CacheController_getSimulatorStrategies_v1","parameters":[{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"search","required":true,"in":"query","schema":{"type":"string"}},{"name":"sort","required":true,"in":"query","schema":{"type":"string"}},{"name":"filter","required":true,"in":"query","schema":{"type":"string"}},{"name":"order","required":true,"in":"query","schema":{"type":"string"}},{"name":"dir","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Paginated simulator strategy list","tags":["Cache"]}}}}
```

## Paginated simulator 'Your Strategies' tab

> Server-side joined + searched + paginated clone-strategy rows for the /simulator 'Your Strategies' tab, plus unpaginated ghost clients.

```json
{"openapi":"3.0.0","info":{"title":"ScaleApp API","version":"1.0.0"},"tags":[{"name":"Cache","description":"Cache data retrieval for client lists"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/v1/cache/simulator/your-strategies":{"get":{"description":"Server-side joined + searched + paginated clone-strategy rows for the /simulator 'Your Strategies' tab, plus unpaginated ghost clients.","operationId":"CacheController_getSimulatorYourStrategies_v1","parameters":[{"name":"offset","required":true,"in":"query","schema":{"type":"string"}},{"name":"limit","required":true,"in":"query","schema":{"type":"string"}},{"name":"search","required":true,"in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":""}},"summary":"Paginated simulator 'Your Strategies' tab","tags":["Cache"]}}}}
```

## Get cache data

> Fetches data from the cache service (defaults to localhost:8000, configurable via CACHE\_SERVICE\_URL). For regular users, returns cache for current user only. For brokers, returns users linked via broker\_user table. For admins, returns all users.

```json
{"openapi":"3.0.0","info":{"title":"ScaleApp API","version":"1.0.0"},"tags":[{"name":"Cache","description":"Cache data retrieval for client lists"}],"security":[{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"}}},"paths":{"/v1/cache":{"get":{"description":"Fetches data from the cache service (defaults to localhost:8000, configurable via CACHE_SERVICE_URL). For regular users, returns cache for current user only. For brokers, returns users linked via broker_user table. For admins, returns all users.","operationId":"CacheController_getCache_v1","parameters":[],"responses":{"200":{"description":""}},"summary":"Get cache data","tags":["Cache"]}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.scaleconnect.com.au/api/rest-api/scaleapp-rest-api/cache.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
