---
title: "Get a learned workflow"
method: GET
path: "/api/memories/workflows/{workflowId}"
tags: ["Memories"]
---

# Get a learned workflow

`GET /api/memories/workflows/{workflowId}`

## Request

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

A single workflow with its ordered skills. Unlike the list items this
response carries `projectId`, since the request itself names no
workspace.

## Path parameters

- `workflowId` string, uuid, required

## Response `200`

The workflow.

- MemoryWorkflow: A task the agent has completed before, the ordered steps it took, and the skills those steps are built from.
  - `id` string, uuid, required
  - `projectId` string, uuid, nullable: Returned only by `GET /api/memories/workflows/{workflowId}`, where the request carries no workspace of its own. `null` for a memory scoped to the whole organization rather than one workspace.
  - `title` string, required
  - `steps` string[], required: The steps that completed the task, in order.
  - `platform` 'desktop' | 'android' | 'ios', required
  - `appIdentifier` string, nullable: The app this memory was learned against. `null` when it could not be derived — see the `appIdentifier` query parameter.
  - `nSucc` integer, required: Sessions in which this workflow was retrieved and the task succeeded.
  - `nUsed` integer, required: Sessions in which this workflow was retrieved.
  - `lastUsedAt` string, date-time, nullable
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `boundToCase` boolean, required: Whether a live test case pins this workflow, which makes it always available to that case's runs regardless of retrieval scoring.
  - `skills` MemoryWorkflowSkill[], required
    - `id` string, uuid, required
    - `title` string, required
    - `template` string, required: The instruction the agent replays, with `[[name]]` placeholders for the values that change between runs.
    - `placeholders` string[], required: Placeholder names appearing in `template`.
    - `platform` 'desktop' | 'android' | 'ios', required
    - `appIdentifier` string, nullable
    - `nSucc` integer, required: Sessions in which this skill was used and the task succeeded.
    - `nUsed` integer, required: Sessions in which this skill was used.

## Other responses

- `400`: `workflowId` is not a UUID.
- `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`: No such workflow 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)
