API Reference
List projects
GET /projects — list the projects in a workspace to discover the project_id used for filtering.
GET /projects
Returns the projects in the key's workspace, each with its id (UUID) and name. Use this to
find the project_id you pass to List transcriptions.
Access
Which projects you get back depends on the key owner's role in the workspace:
- Workspace owner — every project in the workspace.
- Member — only the projects they belong to.
No query parameters.
Request
curl https://app.memoai.tech/api/v1/developer/projects \
-H "Authorization: Bearer mk_live_your_key_here"import httpx
resp = httpx.get(
"https://app.memoai.tech/api/v1/developer/projects",
headers={"Authorization": "Bearer mk_live_your_key_here"},
)
resp.raise_for_status()
projects = resp.json()["items"]const res = await fetch("https://app.memoai.tech/api/v1/developer/projects", {
headers: { Authorization: "Bearer mk_live_your_key_here" },
});
const { items } = await res.json();Which projects do I have in Memo AI?
The assistant calls memo_list_projects, then can reuse a project's id to filter
memo_list_transcriptions by that project.
Response
200 OK
{
"items": [
{
"id": "8b1f3e22-1c4a-4f7e-9a2b-6d5e8c1a2b3c",
"name": "Sales",
"created_at": "2026-04-02T10:00:00Z"
},
{
"id": "1d2c3b4a-5e6f-7a8b-9c0d-1e2f3a4b5c6d",
"name": "Research",
"created_at": "2026-03-15T08:30:00Z"
}
],
"total": 2
}Response fields
| Field | Type | Description |
|---|---|---|
items[] | array | Accessible projects, newest first. |
items[].id | UUID | Project identifier — pass as project_id to List transcriptions. |
items[].name | string | Project name. |
items[].created_at | datetime | When the project was created. |
total | integer | Number of projects returned. |
Errors
| Status | When |
|---|---|
401 | Missing/invalid key, or key passed in the URL. |
403 | Plan without API access. |
429 | Rate limit exceeded. |
See Errors for full details.