Assistants

Create message

Create a message.

post/threads/{thread_id}/messages

Path parameters

thread_idstring required

The ID of the thread to create a message for.

Request body

role'user' | 'assistant' required

The role of the entity that is creating the message. Allowed values include:

  • user: Indicates the message is sent by an actual user and should be used in most cases to represent user-generated messages.
  • assistant: Indicates the message is generated by the assistant. Use this value to insert messages from the assistant into the conversation.
metadataMetadata nullable

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

Response

OK

idstring required

The identifier, which can be referenced in API endpoints.

object'thread.message' required

The object type, which is always thread.message.

created_atinteger required

The Unix timestamp (in seconds) for when the message was created.

thread_idstring required

The thread ID that this message belongs to.

status'in_progress' | 'incomplete' | 'completed' required

The status of the message, which can be either in_progress, incomplete, or completed.

completed_atinteger nullable required

The Unix timestamp (in seconds) for when the message was completed.

incomplete_atinteger nullable required

The Unix timestamp (in seconds) for when the message was marked as incomplete.

role'user' | 'assistant' required

The entity that produced the message. One of user or assistant.

assistant_idstring nullable required

If applicable, the ID of the assistant that authored this message.

run_idstring nullable required

The ID of the run associated with the creation of this message. Value is null when messages are created manually using the create message or create thread endpoints.

metadataMetadata nullable required

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

Changes

Changed in 4 of the 163 revisions of this API.115

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the non-success response with the status

      response-non-success-status-added

  • 74cbcf73838f103See the full diff
    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      the request property became not nullable

      request-property-became-not-nullable

    • ▲

      response property assistant_id list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property attachments list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property completed_at list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property incomplete_at list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property metadata list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      response property run_id list-of-types was widened by adding types null to media type application/json of response 200

      response-property-list-of-types-widened

    • ▲

      the response's property type changed from object to no type for status

      response-property-type-changed

    • ▲

      removed the required property / from the response with the status

      response-required-property-removed

    • ○

      request property list-of-types was widened by adding types null to media type application/json

      request-property-list-of-types-widened

    • ○

      request property list-of-types was widened by adding types null to media type application/json

      request-property-list-of-types-widened

    • ○

      added subschema #1 subschema #2 to the response property anyOf list for the response status

      response-property-any-of-added

    This revision also has 40 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ▲

      added to the / response property oneOf list for the response status

      response-property-one-of-added

    This revision also has 2 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog