---
title: "List app identifiers holding memories"
method: GET
path: "/api/memories/app-identifiers"
tags: ["Memories"]
---

# List app identifiers holding memories

`GET /api/memories/app-identifiers`

## Request

- Base URL: `https://aximo.autify.com`
- URL: `https://aximo.autify.com/api/memories/app-identifiers`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/autify/apis/aximo-api/docs/api/memories/app-identifiers/get.ts> (a function with typed inputs; its response is checked against the schema)

Every `appIdentifier` a workspace's memories are filed under, with how
many workflows, skills and failure patterns sit behind each. Use it to
discover valid values for the `appIdentifier` filter on the list
endpoints — the values are derived by Aximo from the app under test, so
they cannot be guessed reliably.

Not paginated: a workspace holds one identifier per app or hostname it
tests. Results are alphabetical, with the `null` group last.

A defensive bound of 1000 distinct identifiers applies per memory tier —
far above what a real workspace holds. If any tier reaches it,
`truncated` is `true`: the response then lists the alphabetically first
identifiers only, and a tier whose groups were cut reports `0` for
identifiers past its bound. Because the bound is per tier, a truncated
response can still list more than 1000 identifiers.

## Query parameters

- `projectId` string, uuid, required
- `platform` 'desktop' | 'android' | 'ios'

## Response `200`

The identifiers in use.

- object
  - `items` MemoryAppIdentifier[], required
    - `appIdentifier` string, nullable, required: `null` groups the memories with no derivable app identifier. Because the `appIdentifier` filter is an exact match, those rows can only be reached by omitting the filter.
    - `workflows` integer, required
    - `skills` integer, required
    - `failures` integer, required
  - `truncated` boolean, required: `true` when at least one memory tier reached the 1000-identifier bound, so this list is incomplete. Normally `false`.

## Other responses

- `400`: Invalid query parameters.
- `401`: Missing or invalid API key.
- `403`: API key is not scoped to an organization, the user is banned, or the user is no longer a member of the organization.
- `404`: The workspace does not exist in your organization.
- `429`: Rate limit exceeded — e.g. the daily session limit was reached for the organization, or too many API requests were sent in a short window (retry after the number of seconds in the `Retry-After` header).
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/autify/apis/aximo-api.md) - [All operations](https://skmtc.dev/autify/apis/aximo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/autify/apis/aximo-api/revisions/590722011284?raw)
