---
title: "Get a conversation (v1alpha1)"
method: GET
path: "/api/v1alpha1/assistant/{assistant_kind}/conversations/{conversation_id}"
tags: ["v1alpha1"]
---

# Get a conversation (v1alpha1)

`GET /api/v1alpha1/assistant/{assistant_kind}/conversations/{conversation_id}`

## Request

- Base URL: `https://api.trademeai.co.nz` (the document declares no server; this is the origin it was published from)
- URL: `https://api.trademeai.co.nz/api/v1alpha1/assistant/{assistant_kind}/conversations/{conversation_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/trademeai/apis/trade-me-ai-platform/docs/api/v1alpha1/assistant/:assistant_kind/conversations/:conversation_id/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns one conversation with its participants. A conversation the member cannot reach answers 403, the same as one that does not exist. Adds `trafficSource`, and for Studio Playground conversations `playgroundOverrides` and `playgroundAudience`.

## Path parameters

- `conversation_id` string, required

## Headers

- `authorization` string, nullable

## Response `200`

Successful Response

- AlphaConversationDetail: A conversation as v1alpha1 returns it on read and create: the alpha summary plus `playgroundOverrides` and `playgroundAudience`. `playgroundOverrides` is the variant overrides a Studio Playground conversation runs under, sorted by feature. It is an empty list when there are none, and null for any conversation that is not a Playground one. `playgroundAudience` is null in the same cases.
  - `id` string, required
  - `title` string, nullable
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required
  - `lastMessageAt` string, date-time, nullable
  - `isShared` boolean, required
  - `participants` union[], required
    - union
      - MemberParticipant: Domain MemberParticipant with camelCase wire aliases.
        - `participantType` 'member'
        - `memberId` string, required
        - `displayName` string, nullable
        - `role` 'owner' | 'member' | 'invited'
      - AssistantParticipant: Domain AssistantParticipant with camelCase wire aliases.
        - `participantType` 'assistant'
        - `assistantId` string, required
        - `displayName` string, nullable
  - `assistantStatus` 'idle' | 'running' | 'error'
  - `messageCount` integer
  - `referrer` union
    - DirectReferrer: Domain DirectReferrer with camelCase wire aliases.
      - `sourceType` 'direct'
    - HomepageReferrer: Domain HomepageReferrer with camelCase wire aliases.
      - `sourceType` 'homepage'
      - `tva` TemplatedViewAddress, required: Structured navigation address compatible with Koru's responseAddress shape. :ivar view_name: Koru view name, e.g. ``"ListingDetailsPage"``. :ivar uri: Canonical URL string (same role as the old ``canonical_url``). :ivar parameters: Typed key/value parameters for the view. :ivar annotation: Optional human-readable link metadata. :ivar relative_path: Path portion of ``uri`` with the Trade Me web ``/a/`` prefix stripped, intended for client-side routing. ``None`` when uri is empty or unparseable. Not suitable as input to ``build_listing_url()`` — that function expects the canonical_path form which includes the ``/a/`` segment.
        - `viewName` string, required
        - `uri` string, required
        - `parameters` TVAParameter[]
          - `key` string, required
          - `value` TypedValue, required: A discriminated-union value carrier for TVA parameters. Exactly one of the four value fields must be non-``None``. An all-``None`` instance is semantically invalid — it represents a parameter with no value.
            - `strValue` string, nullable
            - `numValue` union
              - …
            - `boolValue` boolean, nullable
            - `arrValue` TypedValue[], nullable
        - `annotation` LinkAnnotation: Optional human-readable annotation attached to a TVA link.
          - `title` string, required
          - `summary` string, nullable
          - `imageUrl` string, nullable
    - PropertyHomepageReferrer: Domain PropertyHomepageReferrer with camelCase wire aliases.
      - `sourceType` 'property_homepage'
    - PropertyDeepLinkReferrer: Domain PropertyDeepLinkReferrer with camelCase wire aliases.
      - `sourceType` 'property_deep_link'
    - SearchFormReferrer: Domain SearchFormReferrer with camelCase wire aliases.
      - `sourceType` 'search_form'
      - `tva` TemplatedViewAddress: Structured navigation address compatible with Koru's responseAddress shape. :ivar view_name: Koru view name, e.g. ``"ListingDetailsPage"``. :ivar uri: Canonical URL string (same role as the old ``canonical_url``). :ivar parameters: Typed key/value parameters for the view. :ivar annotation: Optional human-readable link metadata. :ivar relative_path: Path portion of ``uri`` with the Trade Me web ``/a/`` prefix stripped, intended for client-side routing. ``None`` when uri is empty or unparseable. Not suitable as input to ``build_listing_url()`` — that function expects the canonical_path form which includes the ``/a/`` segment.
        - `viewName` string, required
        - `uri` string, required
        - `parameters` TVAParameter[]
          - `key` string, required
          - `value` TypedValue, required: A discriminated-union value carrier for TVA parameters. Exactly one of the four value fields must be non-``None``. An all-``None`` instance is semantically invalid — it represents a parameter with no value.
            - `strValue` string, nullable
            - `numValue` union
              - …
            - `boolValue` boolean, nullable
            - `arrValue` TypedValue[], nullable
        - `annotation` LinkAnnotation: Optional human-readable annotation attached to a TVA link.
          - `title` string, required
          - `summary` string, nullable
          - `imageUrl` string, nullable
    - SearchResultsReferrer: Domain SearchResultsReferrer with camelCase wire aliases.
      - `sourceType` 'search_results'
      - `tva` TemplatedViewAddress, required: Structured navigation address compatible with Koru's responseAddress shape. :ivar view_name: Koru view name, e.g. ``"ListingDetailsPage"``. :ivar uri: Canonical URL string (same role as the old ``canonical_url``). :ivar parameters: Typed key/value parameters for the view. :ivar annotation: Optional human-readable link metadata. :ivar relative_path: Path portion of ``uri`` with the Trade Me web ``/a/`` prefix stripped, intended for client-side routing. ``None`` when uri is empty or unparseable. Not suitable as input to ``build_listing_url()`` — that function expects the canonical_path form which includes the ``/a/`` segment.
        - `viewName` string, required
        - `uri` string, required
        - `parameters` TVAParameter[]
          - `key` string, required
          - `value` TypedValue, required: A discriminated-union value carrier for TVA parameters. Exactly one of the four value fields must be non-``None``. An all-``None`` instance is semantically invalid — it represents a parameter with no value.
            - `strValue` string, nullable
            - `numValue` union
              - …
            - `boolValue` boolean, nullable
            - `arrValue` TypedValue[], nullable
        - `annotation` LinkAnnotation: Optional human-readable annotation attached to a TVA link.
          - `title` string, required
          - `summary` string, nullable
          - `imageUrl` string, nullable
    - ListingReferrer: Domain ListingReferrer with camelCase wire aliases.
      - `sourceType` 'listing'
      - `listingId` string, required
      - `listingSummary` ListingSummary: Domain ListingSummary with camelCase wire aliases.
        - `title` string, nullable
        - `priceDisplay` string, nullable
        - `address` string, nullable
        - `suburb` string, nullable
        - `propertyType` string, nullable
        - `bedrooms` integer, nullable
        - `bathrooms` integer, nullable
        - `parking` integer, nullable
        - `floorArea` string, nullable
        - `landArea` string, nullable
        - `tva` TemplatedViewAddress: Structured navigation address compatible with Koru's responseAddress shape. :ivar view_name: Koru view name, e.g. ``"ListingDetailsPage"``. :ivar uri: Canonical URL string (same role as the old ``canonical_url``). :ivar parameters: Typed key/value parameters for the view. :ivar annotation: Optional human-readable link metadata. :ivar relative_path: Path portion of ``uri`` with the Trade Me web ``/a/`` prefix stripped, intended for client-side routing. ``None`` when uri is empty or unparseable. Not suitable as input to ``build_listing_url()`` — that function expects the canonical_path form which includes the ``/a/`` segment.
          - `viewName` string, required
          - `uri` string, required
          - `parameters` TVAParameter[]
            - `key` string, required
            - `value` TypedValue, required: A discriminated-union value carrier for TVA parameters. Exactly one of the four value fields must be non-``None``. An all-``None`` instance is semantically invalid — it represents a parameter with no value.
              - …
          - `annotation` LinkAnnotation: Optional human-readable annotation attached to a TVA link.
            - `title` string, required
            - `summary` string, nullable
            - `imageUrl` string, nullable
  - `capabilities` string[], nullable
  - `experimentMetadata` ExperimentMetadata: Which assistant model a conversation was set up with. `isInStaffGroup` is true when the conversation was created with the staff header, and `servedModel` names the model chosen at that moment. Neither changes afterwards.
    - `isInStaffGroup` boolean
    - `servedModel` string, nullable
  - `kind` string
  - `trafficSource` string, nullable
  - `playgroundOverrides` PlaygroundOverride[], nullable
    - `feature` string, required
    - `variant` string, required
  - `playgroundAudience` PlaygroundAudience: Who a Studio Playground conversation behaves as. `kind` is `targeting` (the account's own targeting, the default), `public` (a member outside every group), `group` (a member of `group` alone) or `groups` (a member of exactly `groups`, two or more). `groups` is null for the first three.
    - `kind` 'targeting' | 'public' | 'group' | 'groups'
    - `group` string, nullable
    - `groups` string[], nullable

## Other responses

- `422`: Validation Error

## Changes

- **2026-10-28** `3bd25b153c37`: 1 info
  - added the optional property `playgroundAudience` to the response with the `200` status
- **2026-10-28** `5f9344cea8b6`: 1 info
  - added the optional property `playgroundOverrides` to the response with the `200` status
- **2026-10-23** `666cac392cba`: 2 info
  - api operation id `get_conversation_api_v1alpha1_assistant__assistant_kind__conversations__conversation_id__get` removed and replaced with `get_conversation_alpha_api_v1alpha1_assistant__assistant_kind__conversations__conversation_id__get`
  - added the optional property `trafficSource` to the response with the `200` status
- **2026-08-20** `fef830d30272`: 1 breaking, 1 info
  - added `#/components/schemas/PropertyDeepLinkReferrer` to the `referrer/anyOf[subschema #1]/` response property `oneOf` list for the response status `200`
  - added `property_deep_link` discriminator mapping keys to the `referrer/anyOf[subschema #1]/` response property for the response status `200`
- **2026-08-04** `93e6dba49eec`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/trademeai/apis/trade-me-ai-platform/changes/api/v1alpha1/assistant/:assistant_kind/conversations/:conversation_id/get.md)

---

[API](https://skmtc.dev/trademeai/apis/trade-me-ai-platform.md) - [All operations](https://skmtc.dev/trademeai/apis/trade-me-ai-platform/llms.txt) - [OpenAPI document](https://skmtc.dev/trademeai/apis/trade-me-ai-platform/revisions/1164c8a5c534?raw)
