AI/ML API Documentation
API KeyModelsPlaygroundGitHubGet Support
  • 📞Contact Sales
  • 🗯️Send Feedback
  • Quickstart
    • 🧭Documentation Map
    • Setting Up
    • Supported SDKs
  • API REFERENCES
    • 📒All Model IDs
    • Text Models (LLM)
      • AI21 Labs
        • jamba-1-5-mini
      • Alibaba Cloud
        • qwen-max
        • qwen-plus
        • qwen-turbo
        • Qwen2-72B-Instruct
        • Qwen2.5-7B-Instruct-Turbo
        • Qwen2.5-72B-Instruct-Turbo
        • Qwen2.5-Coder-32B-Instruct
        • Qwen-QwQ-32B
        • Qwen3-235B-A22B
      • Anthracite
        • magnum-v4
      • Anthropic
        • Claude 3 Haiku
        • Claude 3.5 Haiku
        • Claude 3 Opus
        • Claude 3 Sonnet
        • Claude 3.5 Sonnet
        • Claude 3.7 Sonnet
      • Cohere
        • command-r-plus
      • DeepSeek
        • DeepSeek V3
        • DeepSeek R1
      • Google
        • gemini-1.5-flash
        • gemini-1.5-pro
        • gemini-2.0-flash-exp
        • gemini-2.0-flash-thinking-exp-01-21
        • gemini-2.0-flash
        • gemini-2.5-flash-preview
        • gemini-2.5-pro-exp
        • gemini-2.5-pro-preview
        • gemma-2
        • gemma-3
      • Gryphe
        • MythoMax-L2-13b-Lite
      • Meta
        • Llama-3-chat-hf
        • Llama-3-8B-Instruct-Lite
        • Llama-3.1-8B-Instruct-Turbo
        • Llama-3.1-70B-Instruct-Turbo
        • Llama-3.1-405B-Instruct-Turbo
        • Llama-3.2-11B-Vision-Instruct-Turbo
        • Llama-3.2-90B-Vision-Instruct-Turbo
        • Llama-Vision-Free
        • Llama-3.2-3B-Instruct-Turbo
        • Llama-3.3-70B-Instruct-Turbo
        • Llama-4-scout
        • Llama-4-maverick
      • MiniMax
        • text-01
        • abab6.5s-chat
      • Mistral AI
        • codestral-2501
        • mistral-nemo
        • mistral-tiny
        • Mistral-7B-Instruct
        • Mixtral-8x22B-Instruct
        • Mixtral-8x7B-Instruct
      • NVIDIA
        • Llama-3.1-Nemotron-70B-Instruct-HF
        • llama-3.1-nemotron-70b
      • NeverSleep
        • llama-3.1-lumimaid
      • NousResearch
        • Nous-Hermes-2-Mixtral-8x7B-DPO
      • OpenAI
        • gpt-3.5-turbo
        • gpt-4
        • gpt-4-preview
        • gpt-4-turbo
        • gpt-4o
        • gpt-4o-mini
        • gpt-4o-audio-preview
        • gpt-4o-mini-audio-preview
        • gpt-4o-search-preview
        • gpt-4o-mini-search-preview
        • o1
        • o1-mini
        • o1-preview
        • o3-mini
        • gpt-4.5-preview
        • gpt-4.1
        • gpt-4.1-mini
        • gpt-4.1-nano
        • o4-mini
      • xAI
        • grok-beta
        • grok-3-beta
        • grok-3-mini-beta
    • Image Models
      • Flux
        • flux-pro
        • flux-pro/v1.1
        • flux-pro/v1.1-ultra
        • flux-realism
        • flux/dev
        • flux/dev/image-to-image
        • flux/schnell
      • Google
        • Imagen 3.0
      • OpenAI
        • DALL·E 2
        • DALL·E 3
      • RecraftAI
        • Recraft v3
      • Stability AI
        • Stable Diffusion v3 Medium
        • Stable Diffusion v3.5 Large
    • Video Models
      • Alibaba Cloud
        • Wan 2.1 (Text-to-Video)
      • Google
        • Veo2 (Image-to-Video)
        • Veo2 (Text-to-Video)
      • Kling AI
        • v1-standard/image-to-video
        • v1-standard/text-to-video
        • v1-pro/image-to-video
        • v1-pro/text-to-video
        • v1.6-standard/text-to-video
        • v1.6-standard/image-to-video
        • v1.6-pro/image-to-video
        • v1.6-pro/text-to-video
        • v1.6-standard/effects
        • v1.6-pro/effects
        • v2-master/image-to-video
        • v2-master/text-to-video
      • Luma AI
        • Text-to-Video v2
        • Text-to-Video v1 (legacy)
      • MiniMax
        • video-01
        • video-01-live2d
      • Runway
        • gen3a_turbo
        • gen4_turbo
    • Music Models
      • MiniMax
        • minimax-music [legacy]
        • music-01
      • Stability AI
        • stable-audio
    • Voice/Speech Models
      • Speech-to-Text
        • stt [legacy]
        • Deepgram
          • nova-2
        • OpenAI
          • whisper-base
          • whisper-large
          • whisper-medium
          • whisper-small
          • whisper-tiny
      • Text-to-Speech
        • Deepgram
          • aura
    • Content Moderation Models
      • Meta
        • Llama-Guard-3-11B-Vision-Turbo
        • LlamaGuard-2-8b
        • Meta-Llama-Guard-3-8B
    • 3D-Generating Models
      • Stability AI
        • triposr
    • Vision Models
      • Image Analysis
      • OCR: Optical Character Recognition
        • Google
          • Google OCR
        • Mistral AI
          • mistral-ocr-latest
      • OFR: Optical Feature Recognition
    • Embedding Models
      • Anthropic
        • voyage-2
        • voyage-code-2
        • voyage-finance-2
        • voyage-large-2
        • voyage-large-2-instruct
        • voyage-law-2
        • voyage-multilingual-2
      • BAAI
        • bge-base-en
        • bge-large-en
      • Google
        • textembedding-gecko
        • text-multilingual-embedding-002
      • OpenAI
        • text-embedding-3-large
        • text-embedding-3-small
        • text-embedding-ada-002
      • Together AI
        • m2-bert-80M-retrieval
  • Solutions
    • Bagoodex
      • AI Search Engine
        • Find Links
        • Find Images
        • Find Videos
        • Find the Weather
        • Find a Local Map
        • Get a Knowledge Structure
    • OpenAI
      • Assistants
        • Assistant API
        • Thread API
        • Message API
        • Run and Run Step API
        • Events
  • Use Cases
    • Create Images: Illustrate an Article
    • Animate Images: A Children’s Encyclopedia
    • Create an Assistant to Discuss a Specific Document
    • Create a 3D Model from an Image
    • Create a Looped GIF for a Web Banner
    • Read Text Aloud and Describe Images: Support People with Visual Impairments
    • Summarize Websites with AI-Powered Chrome Extension
  • Capabilities
    • Completion and Chat Completion
    • Streaming Mode
    • Code Generation
    • Thinking / Reasoning
    • Function Calling
    • Vision in Text Models (Image-To-Text)
    • Web Search
    • Features of Anthropic Models
    • Model comparison
  • FAQ
    • Can I use API in Python?
    • Can I use API in NodeJS?
    • What are the Pro Models?
    • How to use the Free Tier?
    • Are my requests cropped?
    • Can I call API in the asynchronous mode?
    • OpenAI SDK doesn't work?
  • Errors and Messages
    • General Info
    • Errors with status code 4xx
    • Errors with status code 5xx
  • Glossary
    • Concepts
  • Integrations
    • 🧩Our Integration List
    • Langflow
    • LiteLLM
Powered by GitBook
On this page

Was this helpful?

  1. Solutions
  2. OpenAI
  3. Assistants

Message API

PreviousThread APINextRun and Run Step API

Last updated 1 month ago

Was this helpful?

Messages are individual pieces of communication within a Thread, sent either by the user or the Assistant, helping to maintain the flow and context of the conversation.

This page provides API schemas for the following methods:

After each API schema, you'll find a short example demonstrating how to correctly call the described method in code using the OpenAI SDK.

Note that the method names in the API schema and the SDK often differ. Accordingly, when calling these methods via the REST API, you should use the names from the API schema, while for calls through the OpenAI SDK, use the names from the examples.

API Schemas

Create a Message

Python + OpenAI SDK Example:

from openai import OpenAI
client = OpenAI()

thread_message = client.beta.threads.messages.create(
  "thread_abc123",
  role="user",
  content="How does AI work? Explain it in simple terms.",
)
print(thread_message)


Retrieve a list of Messages from a specific Thread along with their properties

Python + OpenAI SDK Example:

from openai import OpenAI
client = OpenAI()

thread_messages = client.beta.threads.messages.list("thread_abc123")
print(thread_messages.data)


Retrieve information about a specific Message by its ID

Python + OpenAI SDK Example:

from openai import OpenAI
client = OpenAI()

message = client.beta.threads.messages.retrieve(
  message_id="msg_abc123",
  thread_id="thread_abc123",
)
print(message)


Modify a specific message by its ID

Python + OpenAI SDK Example:

from openai import OpenAI
client = OpenAI()

message = client.beta.threads.messages.update(
  message_id="msg_abc12",
  thread_id="thread_abc123",
  metadata={
    "modified": "true",
    "user": "abc123",
  },
)
print(message)


Delete a specific message by its ID

Python + OpenAI SDK Example:

from openai import OpenAI
client = OpenAI()

deleted_message = client.beta.threads.messages.delete(
  message_id="msg_abc12",
  thread_id="thread_abc123",
)
print(deleted_message)

https://api.aimlapi.com/threads/{threadId}/messages

https://api.aimlapi.com/threads/{threadId}/messages

https://api.aimlapi.com/threads/{threadId}/messages/{messageId}

https://api.aimlapi.com/threads/{threadId}/messages/{messageId}

https://api.aimlapi.com/threads/{threadId}/messages/{messageId}

Create a Message
Retrieve a list of Messages from a specific Thread along with their properties
Retrieve information about a specific Message by its ID
Modify a specific Message by its ID
Delete a specific Message by its ID
get
Authorizations
Path parameters
threadIdstringRequired
Query parameters
limitintegerOptional

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.

orderstringOptional

Sort order by the created_at timestamp of the objects. asc for ascending order and desc for descending order.

beforestringOptional

A cursor for use in pagination. before is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with obj_foo, your subsequent call can include before=obj_foo in order to fetch the previous page of the list.

afterstringOptional

A cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.

run_idstringOptional

Filter Messages by the Run ID that generated them.

Responses
default
application/json
get
GET /threads/{threadId}/messages HTTP/1.1
Host: api.aimlapi.com
Authorization: Bearer <YOUR_AIMLAPI_KEY>
Accept: */*
default
{
  "object": "list",
  "data": [
    {
      "role": "user",
      "content": "text",
      "attachments": [
        {
          "file_id": "text",
          "tools": [
            {
              "type": "code_interpreter"
            }
          ]
        }
      ],
      "metadata": {
        "ANY_ADDITIONAL_PROPERTY": "text"
      },
      "id": "text",
      "object": "thread.message",
      "status": "completed",
      "created_at": 1,
      "completed_at": 1,
      "incomplete_at": 1,
      "incomplete_details": {
        "reason": "text"
      },
      "assistant_id": "text",
      "thread_id": "text",
      "run_id": "text"
    }
  ],
  "first_id": "text",
  "last_id": "text",
  "has_more": true
}
get
Authorizations
Path parameters
threadIdstringRequired
messageIdstringRequired
Responses
default
application/json
get
GET /threads/{threadId}/messages/{messageId} HTTP/1.1
Host: api.aimlapi.com
Authorization: Bearer <YOUR_AIMLAPI_KEY>
Accept: */*
default
{
  "role": "user",
  "content": "text",
  "attachments": [
    {
      "file_id": "text",
      "tools": [
        {
          "type": "code_interpreter"
        }
      ]
    }
  ],
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "id": "text",
  "object": "thread.message",
  "status": "completed",
  "created_at": 1,
  "completed_at": 1,
  "incomplete_at": 1,
  "incomplete_details": {
    "reason": "text"
  },
  "assistant_id": "text",
  "thread_id": "text",
  "run_id": "text"
}
delete
Authorizations
Path parameters
threadIdstringRequired
messageIdstringRequired
Responses
default
application/json
delete
DELETE /threads/{threadId}/messages/{messageId} HTTP/1.1
Host: api.aimlapi.com
Authorization: Bearer <YOUR_AIMLAPI_KEY>
Accept: */*
default
{
  "id": "text",
  "object": "thread.message.deleted",
  "deleted": true
}
  • API Schemas
  • Create a Message
  • POST/threads/{threadId}/messages
  • Retrieve a list of Messages from a specific Thread along with their properties
  • GET/threads/{threadId}/messages
  • Retrieve information about a specific Message by its ID
  • GET/threads/{threadId}/messages/{messageId}
  • Modify a specific message by its ID
  • POST/threads/{threadId}/messages/{messageId}
  • Delete a specific message by its ID
  • DELETE/threads/{threadId}/messages/{messageId}
post
Authorizations
Path parameters
threadIdstringRequired
Body
rolestring · enumRequired

The role of the entity that is creating the Message

Possible values:
contentany ofRequired
stringOptional

The text contents of the Message

or
Responses
default
application/json
post
POST /threads/{threadId}/messages HTTP/1.1
Host: api.aimlapi.com
Authorization: Bearer <YOUR_AIMLAPI_KEY>
Content-Type: application/json
Accept: */*
Content-Length: 151

{
  "role": "user",
  "content": "text",
  "attachments": [
    {
      "file_id": "text",
      "tools": [
        {
          "type": "code_interpreter"
        }
      ]
    }
  ],
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}
default
{
  "role": "user",
  "content": "text",
  "attachments": [
    {
      "file_id": "text",
      "tools": [
        {
          "type": "code_interpreter"
        }
      ]
    }
  ],
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "id": "text",
  "object": "thread.message",
  "status": "completed",
  "created_at": 1,
  "completed_at": 1,
  "incomplete_at": 1,
  "incomplete_details": {
    "reason": "text"
  },
  "assistant_id": "text",
  "thread_id": "text",
  "run_id": "text"
}
post
Authorizations
Path parameters
threadIdstringRequired
messageIdstringRequired
Body
Responses
default
application/json
post
POST /threads/{threadId}/messages/{messageId} HTTP/1.1
Host: api.aimlapi.com
Authorization: Bearer <YOUR_AIMLAPI_KEY>
Content-Type: application/json
Accept: */*
Content-Length: 47

{
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  }
}
default
{
  "role": "user",
  "content": "text",
  "attachments": [
    {
      "file_id": "text",
      "tools": [
        {
          "type": "code_interpreter"
        }
      ]
    }
  ],
  "metadata": {
    "ANY_ADDITIONAL_PROPERTY": "text"
  },
  "id": "text",
  "object": "thread.message",
  "status": "completed",
  "created_at": 1,
  "completed_at": 1,
  "incomplete_at": 1,
  "incomplete_details": {
    "reason": "text"
  },
  "assistant_id": "text",
  "thread_id": "text",
  "run_id": "text"
}