> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tiro.ooo/llms.txt
> Use this file to discover all available pages before exploring further.

# List Workspace Word Memories

> List a workspace's shared word memories with cursor-based pagination. Name the target workspace in the path with its `workspaceGuid` — obtain it from `GET /v1/external/workspaces`.

Workspace word memories are shared among all workspace members. When any member records a meeting, Tiro references both personal and workspace word memories for accurate transcription. New members benefit from the shared vocabulary without additional setup.

Use a **user** or **workspace-bound** API key. A workspace-bound key must match the `workspaceGuid` in the path, or it returns `403`. A user key must belong to a member of the workspace, or it returns `403`.

- Use `cursor` from the previous response's `nextCursor` to paginate through results.




## OpenAPI

````yaml /openapi.yaml get /v1/external/workspaces/{workspaceGuid}/word-memories
openapi: 3.1.0
info:
  title: Tiro API
  description: AI-powered note-taking and voice file processing API
  version: 1.0.0
  contact:
    name: Tiro Support
    email: support@tiro.ooo
    url: https://tiro.ooo
servers:
  - url: https://api.tiro.ooo
    description: Production server
security:
  - BearerAuth: []
tags:
  - name: Note
    description: Operations for managing notes and their paragraphs
  - name: Note Share Link
    description: Manage share links for notes
  - name: Note Summary
    description: Operations for retrieving note summaries
  - name: Note Document
    description: Template-based document generation from notes
  - name: Note Document Template
    description: Operations for managing note document templates
  - name: Folder
    description: Operations for retrieving folders
  - name: Voice File
    description: Operations for voice file processing
  - name: Word Memory
    description: >
      Manage word memories to improve voice transcription accuracy. Register
      important terms like company names, people's names, and product names so
      Tiro recognizes them precisely during recording. Personal word memories
      (User) and a workspace's shared word memories (Workspace) are managed
      separately. The legacy team word memory endpoints
      (`/v1/external/teams/me/word-memories`) are deprecated — removed on
      2026-06-30 — in favor of the workspace-explicit
      `/v1/external/workspaces/{workspaceGuid}/word-memories`.
  - name: Wiki
    description: |
      Access workspace wikis — unified knowledge graphs built from notes.
      Requires a workspace with wiki plan and activation enabled.
  - name: Organization
    description: >
      Endpoints for organization API keys. An organization key is issued by an

      organization admin, carries fixed scopes chosen at issuance, and can reach

      the notes in every workspace that belongs to the organization. Built for

      server-to-server integrations such as CRM sync — receive `note.ended`
      webhook

      events, generate documents for notes, and reconcile with the organization

      notes list.
  - name: Organization Management
    description: Operations for the authenticated user's organization.
paths:
  /v1/external/workspaces/{workspaceGuid}/word-memories:
    get:
      tags:
        - Word Memory
      summary: List Workspace Word Memories
      description: >
        List a workspace's shared word memories with cursor-based pagination.
        Name the target workspace in the path with its `workspaceGuid` — obtain
        it from `GET /v1/external/workspaces`.


        Workspace word memories are shared among all workspace members. When any
        member records a meeting, Tiro references both personal and workspace
        word memories for accurate transcription. New members benefit from the
        shared vocabulary without additional setup.


        Use a **user** or **workspace-bound** API key. A workspace-bound key
        must match the `workspaceGuid` in the path, or it returns `403`. A user
        key must belong to a member of the workspace, or it returns `403`.


        - Use `cursor` from the previous response's `nextCursor` to paginate
        through results.
      operationId: listWorkspaceWordMemories
      parameters:
        - name: workspaceGuid
          in: path
          required: true
          description: Workspace GUID. Obtain it from `GET /v1/external/workspaces`.
          schema:
            type: string
          example: ws_a1b2c3d4
        - name: cursor
          in: query
          description: >-
            Cursor for the next page. Obtained from `nextCursor` in the previous
            response.
          required: false
          schema:
            type: string
        - name: size
          in: query
          description: Number of word memories to return per page
          required: false
          schema:
            type: integer
            default: 1000
            minimum: 1
            maximum: 1000
      responses:
        '200':
          description: Paginated list of workspace word memories
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PageCursorResponse'
                  - type: object
                    properties:
                      content:
                        type: array
                        items:
                          $ref: '#/components/schemas/WordMemory'
              examples:
                success:
                  summary: Workspace word memories list
                  value:
                    content:
                      - id: 1
                        entry: 딥러닝
                        createdAt: '2026-04-01T10:30:00Z'
                      - id: 2
                        entry: 자연어처리
                        createdAt: '2026-04-01T10:35:00Z'
                    nextCursor: eyJpZCI6MiwiY3JlYXRlZEF0IjoiMjAyNi0wNC0wMVQxMDozNTowMFoifQ
                empty:
                  summary: Empty list
                  value:
                    content: []
                    nextCursor: null
        '401':
          description: Unauthorized — missing API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: >-
            Forbidden — the API key is not scoped to this workspace, or you are
            not a member of it
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Workspace not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    PageCursorResponse:
      type: object
      required:
        - content
        - nextCursor
      properties:
        content:
          type: array
          items: {}
          description: Array of items for current page
        nextCursor:
          type: string
          nullable: true
          description: Cursor for next page, null if last page
          example: opaque-cursor-string
    WordMemory:
      type: object
      required:
        - id
        - entry
        - createdAt
      properties:
        id:
          type: integer
          format: int64
          description: Unique identifier of the word memory
          example: 1
        entry:
          type: string
          description: The registered word or term
          example: 인공지능
        createdAt:
          type: string
          format: date-time
          description: When the word memory was created (ISO 8601)
          example: '2026-04-01T10:30:00Z'
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - errorType
            - message
          properties:
            code:
              type: integer
              description: >
                6-digit error code in `AAABBB` form: first 3 digits match the
                HTTP status,

                last 3 digits are a per-status serial (e.g. `404018`). Use only
                when you need

                to distinguish specific error cases within the same HTTP status
                — values may be

                added or renumbered across releases. For general client
                branching, prefer `errorType`.
              example: 404018
            errorType:
              type: string
              description: >
                Stable, coarse-grained error category. Recommended default for
                client-side

                branching: the value-to-status mapping is part of the API
                contract and will not

                change without a breaking-change notice. Typical use:
                  - `unauthorized` → trigger re-authentication
                  - `forbidden` → surface a permission error to the user
                  - `not_found` → treat as missing resource
                  - `too_many_requests` → back off and retry
                  - `internal_error` → retry with exponential backoff
              enum:
                - bad_request
                - unauthorized
                - forbidden
                - not_found
                - not_acceptable
                - conflict
                - payload_too_large
                - unprocessable_entity
                - too_many_requests
                - internal_error
              example: not_found
            message:
              type: string
              description: >-
                Human-readable error message. Not stable; do not use for
                branching.
              example: 'No team found for user #217'
            detail:
              type: string
              nullable: true
              description: Additional error details
              example: null
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: API key in format {id}.{secret}

````