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

# Get a room

> Fetch one room with its members and agents.



## OpenAPI

````yaml /developer-api/developer-v1.openapi.yaml get /v1/rooms/{room_id}
openapi: 3.1.0
info:
  title: CREAO CLI
  version: 1.0.0
  description: |
    Create, update, and run personal CREAO agents from your backend through
    CREAO CLI with Account API keys. The `/v1` API uses stable `agent_id`,
    `conversation_id`, and `run_id` identifiers and is served from
    `developer.creao.ai`.
servers:
  - url: https://developer.creao.ai
    description: Production
security:
  - bearerAuth: []
  - apiKeyQuery: []
tags:
  - name: Agents
    description: >-
      Create, list, get, update, and edit personal agents for the authenticated
      account.
  - name: Agent Memory
    description: >-
      Read, overwrite, and clear long-term memory (playbooks) for a personal
      agent.
  - name: Agent Files
    description: List, download, and delete files in a personal agent's skill file space.
  - name: Product Profile
    description: Once-per-account Super Agent persona and brand context.
  - name: Agent Runs
    description: >-
      Create, stream, fetch, and list runs for created personal agents. Super
      Agent rows are excluded. `usage.models` is present only for Super
      Agent–allowlisted accounts.
  - name: Super Agent
    description: >-
      Chat with CREAO Super Agent from your backend. Same public NDJSON render
      protocol as Agent Runs. Requires an allowlisted account. `usage.models` is
      present only for Super Agent–allowlisted accounts.
  - name: Account
    description: Read the calling account's platform-wallet balance and CREAO CLI spend.
  - name: Workspaces
    description: Create and list personal workspaces, and add or remove personal agents.
  - name: Workspace Files
    description: Upload, list, download, and delete files in a personal workspace.
  - name: Secrets
    description: Add, update, and list account secret keys. Values are write-only.
  - name: Skills
    description: Install, list, and enable account-level Agent Brain skills.
  - name: Rooms
    description: >-
      Read team rooms, post messages as the key's owner, and stream room events.
      The key acts as its owner.
paths:
  /v1/rooms/{room_id}:
    get:
      tags:
        - Rooms
      summary: Get a room
      description: |
        One room with its active and suspended members and agents. A public
        room of your team that you have not joined can be read too, and team
        owners and managers can read private rooms they have not joined;
        `member_id` is then null and posting is refused.
      operationId: getRoom
      parameters:
        - $ref: '#/components/parameters/RoomId'
      responses:
        '200':
          description: The room.
          content:
            application/json:
              schema:
                type: object
                required:
                  - room
                properties:
                  room:
                    $ref: '#/components/schemas/RoomDetail'
        '401':
          $ref: '#/components/responses/AuthenticationRequired'
        '403':
          $ref: '#/components/responses/RoomsForbidden'
        '404':
          $ref: '#/components/responses/RoomNotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
components:
  parameters:
    RoomId:
      name: room_id
      in: path
      required: true
      schema:
        type: string
        format: uuid
      description: >-
        Room id. An id you cannot see answers `ROOM_NOT_FOUND`, like an unknown
        one.
  schemas:
    RoomDetail:
      allOf:
        - $ref: '#/components/schemas/Room'
        - type: object
          required:
            - members
            - agents
          properties:
            members:
              type: array
              items:
                $ref: '#/components/schemas/RoomMember'
            agents:
              type: array
              items:
                $ref: '#/components/schemas/RoomAgent'
    Room:
      type: object
      required:
        - id
        - organization_id
        - name
        - topic
        - visibility
        - last_seq
        - member_count
        - unread_count
        - role
        - member_id
        - archived_at
        - created_at
        - updated_at
      properties:
        id:
          type: string
          format: uuid
        organization_id:
          type: string
          format: uuid
        name:
          type: string
        topic:
          oneOf:
            - type: string
            - type: 'null'
        visibility:
          type: string
          enum:
            - public
            - private
        last_seq:
          type: integer
          description: The room's latest message `seq`.
        member_count:
          type: integer
        unread_count:
          type: integer
        role:
          description: >-
            Your role in the room. In a room you read without joining it is
            `admin` for a team owner or manager, otherwise `member`.
          oneOf:
            - type: string
              enum:
                - owner
                - admin
                - member
            - type: 'null'
        member_id:
          description: >-
            Your own membership id, or null when you read the room without
            joining.
          oneOf:
            - type: string
              format: uuid
            - type: 'null'
        archived_at:
          oneOf:
            - type: string
              format: date-time
            - type: 'null'
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
    RoomMember:
      type: object
      required:
        - member_id
        - kind
        - name
        - role
        - status
        - user_id
        - agent_app_id
        - is_assistant
      properties:
        member_id:
          type: string
          format: uuid
        kind:
          type: string
          enum:
            - user
            - agent
        name:
          type: string
          description: Display name; write `@` plus this name to mention the member.
        role:
          type: string
          enum:
            - owner
            - admin
            - member
        status:
          type: string
          enum:
            - active
            - suspended
        user_id:
          description: People only.
          oneOf:
            - type: string
            - type: 'null'
        agent_app_id:
          description: Agents only.
          oneOf:
            - type: string
              format: uuid
            - type: 'null'
        is_assistant:
          type: boolean
          description: True for the room assistant.
    RoomAgent:
      type: object
      required:
        - member_id
        - name
        - member_status
        - is_assistant
        - status
        - invocation_id
        - trigger_seqs
      properties:
        member_id:
          type: string
          format: uuid
        name:
          type: string
        member_status:
          type: string
          enum:
            - active
            - suspended
        is_assistant:
          type: boolean
        status:
          type: string
          enum:
            - idle
            - queued
            - working
            - failed
        invocation_id:
          oneOf:
            - type: string
              format: uuid
            - type: 'null'
        trigger_seqs:
          type: array
          description: The messages the agent is working on.
          items:
            type: integer
    ErrorResponse:
      type: object
      additionalProperties: true
      required:
        - error
      properties:
        error:
          type: string
          description: Stable machine-readable error code.
        message:
          type: string
          description: Debug message. Do not rely on this field in production clients.
        available:
          type: number
          description: Available credits, when returned for credit errors.
        required:
          type: number
          description: Required credits, when returned for credit errors.
        retryAfterSeconds:
          type: integer
          description: Retry delay, when returned for hourly cap errors.
        reason:
          type: string
          description: >-
            A readable explanation on `400` and `409` room errors. Do not branch
            on it.
        candidates:
          type: array
          description: >-
            Members a `ROOM_MENTION_AMBIGUOUS` name matches. Resend with one of
            their ids in `mentions` to pick it.
          items:
            type: object
            properties:
              member_id:
                type: string
                format: uuid
              kind:
                type: string
                enum:
                  - user
                  - agent
              name:
                oneOf:
                  - type: string
                  - type: 'null'
  responses:
    AuthenticationRequired:
      description: Missing, malformed, revoked, or unknown Account API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            missingKey:
              value:
                error: AUTHENTICATION_REQUIRED
    RoomsForbidden:
      description: >
        The rooms API is not enabled for this account (`ROOMS_API_NOT_ENABLED`),

        rooms are off in the requested team (`ROOMS_NOT_ENABLED`), the owner

        can read but not post (`ROOM_MEMBERSHIP_REQUIRED`,
        `ROOM_ACCESS_DENIED`),

        or the account is blocked (`ACCOUNT_BLOCKED`).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            apiNotEnabled:
              value:
                error: ROOMS_API_NOT_ENABLED
            membershipRequired:
              value:
                error: ROOM_MEMBERSHIP_REQUIRED
    RoomNotFound:
      description: Unknown room, a room the key's owner cannot see, or a malformed id.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            notFound:
              value:
                error: ROOM_NOT_FOUND
    RateLimited:
      description: Account-level or IP-level rate limit exceeded.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            rateLimited:
              value:
                error: RATE_LIMITED
    ServiceUnavailable:
      description: Agent execution service was unavailable before the run was accepted.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          examples:
            unavailable:
              value:
                error: SERVICE_UNAVAILABLE
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: cr_sk
      description: Account API key from Developer Console. Keys start with `cr_sk_`.
      x-default: cr_sk_your_key_here
    apiKeyQuery:
      type: apiKey
      in: query
      name: creao-api-key
      description: |
        Account API key passed as a query parameter, for platforms that cannot
        set a custom Authorization header. The bearerAuth header takes
        precedence when both are present.
      x-default: cr_sk_your_key_here

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.