POST/threads/{thread_id}/messages/{message_id}

Modify message metadata

Updates the metadata attached to a message in a thread. Provide the thread and message identifiers to select the message, then supply metadata key-value pairs to change. Use this operation when you need to update message metadata without changing its content.

  • IdempotentThe SDK sends Idempotency-Key, so a retried request is only applied once.

2 parameters · 1 body field
thread_idstringrequired
The ID of the thread containing the message.
message_idstringrequired
The ID of the message to modify.

Message metadata to update.

metadataobjectoptional
Up to 16 key-value pairs to attach to the message; keys can be at most 64 characters and values are strings.

2 status codes
200Returns the updated message object with its ID, thread ID, status, role, content, attachments, and metadata.
idstringrequired
The identifier, which can be referenced in API endpoints.
objectstringrequired
The object type, which is always `thread.message`.
Allowed:thread.message
created_atintegerrequired
The Unix timestamp (in seconds) for when the message was created.
thread_idstringrequired
The [thread](https://developers.openai.com/api/docs/assistants/migration) ID that this message belongs to.
statusstringrequired
The status of the message, which can be either `in_progress`, `incomplete`, or `completed`.
Allowed:in_progressincompletecompleted
incomplete_detailsobjectrequired
On an incomplete message, details about why the message is incomplete.
completed_atintegerrequired
The Unix timestamp (in seconds) for when the message was completed.
incomplete_atintegerrequired
The Unix timestamp (in seconds) for when the message was marked as incomplete.
rolestringrequired
The entity that produced the message. One of `user` or `assistant`.
Allowed:userassistant
contentarray<ImageFile>required
The content of the message in array of text and/or images.
assistant_idstringrequired
If applicable, the ID of the [assistant](https://developers.openai.com/api/docs/assistants/migration) that authored this message.
run_idstringrequired
The ID of the [run](https://developers.openai.com/api/docs/assistants/migration) associated with the creation of this message. Value is `null` when messages are created manually using the create message or create thread endpoints.
attachmentsarray<object>required
A list of files attached to the message, and the tools they were added to.
metadataobjectrequired
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.
429Returned when the request is rejected because a rate limit was exceeded.
errorobjectrequired

Error handling

A 429 is returned when the request exceeds a rate limit. The thread_id path parameter identifies the containing thread, and the message_id path parameter identifies the message to modify. Metadata keys can be at most 64 characters, and metadata values must be strings.