---
title: "RealtimeClientEventConversationItemCreate"
url: "https://kongair.terwilligar.com/apis/openai-api-2-3-0/versions/ea92d048-c746-4ead-a6a8-da28d93137d1/schemas/RealtimeClientEventConversationItemCreate"
---

> Full API specification: https://kongair.terwilligar.com/apis/openai-api-2-3-0/versions/ea92d048-c746-4ead-a6a8-da28d93137d1.md

# RealtimeClientEventConversationItemCreate

Add a new Item to the Conversation's context, including messages, function calls, and function call responses. This event can be used both to populate a "history" of the conversation and to add new items mid-stream, but has the current limitation that it cannot populate assistant audio messages. If successful, the server will respond with a `conversation.item.created` event, otherwise an `error` event will be sent.

## OpenAPI definition

```yaml
openapi: 3.0.0
info:
  title: OpenAI API
  version: 2.3.0
servers:
  - url: https://api.openai.com/v1
components:
  schemas:
    RealtimeConversationItem:
      type: object
      x-oaiExpandable: true
      description: The item to add to the conversation.
      properties:
        id:
          type: string
          description: >
            The unique ID of the item, this can be generated by the client to
            help 

            manage server-side context, but is not required because the server
            will 

            generate one if not provided.
        type:
          type: string
          enum:
            - message
            - function_call
            - function_call_output
          description: >
            The type of the item (`message`, `function_call`,
            `function_call_output`).
        object:
          type: string
          enum:
            - realtime.item
          description: >
            Identifier for the API object being returned - always
            `realtime.item`.
          x-stainless-const: true
        status:
          type: string
          enum:
            - completed
            - incomplete
          description: >
            The status of the item (`completed`, `incomplete`). These have no
            effect 

            on the conversation, but are accepted for consistency with the 

            `conversation.item.created` event.
        role:
          type: string
          enum:
            - user
            - assistant
            - system
          description: >
            The role of the message sender (`user`, `assistant`, `system`),
            only 

            applicable for `message` items.
        content:
          type: array
          x-oaiExpandable: true
          description: >
            The content of the message, applicable for `message` items. 

            - Message items of role `system` support only `input_text` content

            - Message items of role `user` support `input_text` and
            `input_audio` 
              content
            - Message items of role `assistant` support `text` content.
          items:
            type: object
            x-oaiExpandable: true
            properties:
              type:
                type: string
                enum:
                  - input_audio
                  - input_text
                  - item_reference
                  - text
                description: >
                  The content type (`input_text`, `input_audio`,
                  `item_reference`, `text`).
              text:
                type: string
                description: >
                  The text content, used for `input_text` and `text` content
                  types.
              id:
                type: string
                description: >
                  ID of a previous conversation item to reference (for
                  `item_reference`

                  content types in `response.create` events). These can
                  reference both

                  client and server created items.
              audio:
                type: string
                description: >
                  Base64-encoded audio bytes, used for `input_audio` content
                  type.
              transcript:
                type: string
                description: >
                  The transcript of the audio, used for `input_audio` content
                  type.
        call_id:
          type: string
          description: >
            The ID of the function call (for `function_call` and 

            `function_call_output` items). If passed on a
            `function_call_output` 

            item, the server will check that a `function_call` item with the
            same 

            ID exists in the conversation history.
        name:
          type: string
          description: |
            The name of the function being called (for `function_call` items).
        arguments:
          type: string
          description: |
            The arguments of the function call (for `function_call` items).
        output:
          type: string
          description: |
            The output of the function call (for `function_call_output` items).
    RealtimeClientEventConversationItemCreate:
      type: object
      description: >
        Add a new Item to the Conversation's context, including messages,
        function 

        calls, and function call responses. This event can be used both to
        populate a 

        "history" of the conversation and to add new items mid-stream, but has
        the 

        current limitation that it cannot populate assistant audio messages.


        If successful, the server will respond with a
        `conversation.item.created` 

        event, otherwise an `error` event will be sent.
      properties:
        event_id:
          type: string
          description: Optional client-generated ID used to identify this event.
        type:
          type: string
          enum:
            - conversation.item.create
          description: The event type, must be `conversation.item.create`.
          x-stainless-const: true
        previous_item_id:
          type: string
          description: >
            The ID of the preceding item after which the new item will be
            inserted. 

            If not set, the new item will be appended to the end of the
            conversation.

            If set to `root`, the new item will be added to the beginning of the
            conversation.

            If set to an existing ID, it allows an item to be inserted
            mid-conversation. If the

            ID cannot be found, an error will be returned and the item will not
            be added.
        item:
          $ref: "#/components/schemas/RealtimeConversationItem"
      required:
        - type
        - item
      x-oaiMeta:
        name: conversation.item.create
        group: realtime
        example: |
          {
              "event_id": "event_345",
              "type": "conversation.item.create",
              "previous_item_id": null,
              "item": {
                  "id": "msg_001",
                  "type": "message",
                  "role": "user",
                  "content": [
                      {
                          "type": "input_text",
                          "text": "Hello, how are you?"
                      }
                  ]
              }
          }
```
