Skip to main content
POST
/
v1
/
send-http-text-message
Send Http Text Message
curl --request POST \
  --url https://api.getbluejay.ai/v1/send-http-text-message \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "simulation_result_id": "<string>",
  "message": "<string>",
  "end_conversation": false,
  "end_turn": true,
  "message_id": "<string>",
  "type": "message"
}
'
{
  "simulation_result_id": "<string>",
  "status": "success",
  "end_conversation": false
}
Integration Prompt for AI Agents
# Bluejay — Testing & Monitoring Platform for Conversational AI Agents

You are a senior backend engineer integrating the Bluejay API. Think step-by-step: first understand the endpoint, then plan the integration, then implement with minimal changes.

## Send HTTP Text Message — POST /v1/send-http-text-message

> **What this endpoint does:** Receive a text message via HTTP, process it through the lambda, and send response to webhook. Uses simulation_result_id (test_result_id) for Redis operations and evaluations.

**Endpoint:** POST `https://api.getbluejay.ai/v1/send-http-text-message`
**Auth:** `X-API-Key` header
**Content-Type:** application/json

### Required Parameters
| Name | Type | Description |
|------|------|-------------|
| X-API-Key | string | API key required to authenticate requests. |
| simulation_result_id | string | ID of the simulation result (test result) |
| message | string | Text message to send (required when `type="message"`) |
| name | string | Tool name (required when `type="tool_call"`) |

### Optional Parameters
| Name | Type | Default | Description |
|------|------|---------|-------------|
| type | string | `"message"` | `"message"` for a conversation turn; `"tool_call"` to log a tool invocation without affecting the transcript |
| parameters | object | null | Tool input parameters (used when `type="tool_call"`) |
| output | any | null | Tool return value (used when `type="tool_call"`) |
| end_conversation | boolean | false | End and evaluate the conversation |
| end_turn | boolean | true | Process immediately (true) or stack for batching (false) |
| message_id | string | null | Deduplication key |

Review the full parameter list at https://docs.getbluejay.ai/api-reference/endpoint/send-http-text-message and include any optional parameters that serve your integration's use case and align with Bluejay's testing and monitoring capabilities.

### Request Body examples
```json
// Regular message turn
{
  "simulation_result_id": "string",
  "message": "string"
}

// Tool call log (does not affect transcript or trigger agent response)
{
  "simulation_result_id": "string",
  "type": "tool_call",
  "name": "tool_name",
  "parameters": {},
  "output": {}
}
```

Refer to the full schema at https://docs.getbluejay.ai/api-reference/endpoint/send-http-text-message. Include optional fields that serve the goal of setting up for testing and monitoring on Bluejay.

### Example
**POST with body:**
```python
import requests

def send_http_text_message(payload: dict, api_key: str) -> dict:
    url = "https://api.getbluejay.ai/v1/send-http-text-message"
    headers = {"X-API-Key": api_key}
    response = requests.post(url, headers=headers, json=payload)
    response.raise_for_status()
    return response.json()
```

### Constraints
- Minimal changes — only add/change files needed for this integration.
- Match existing codebase patterns (naming, file structure, error handling).
- Include error handling for 422: Validation Error.

### Integration Checklist
Before writing code, verify:
1. Which module/service owns this API domain in the codebase?
2. What HTTP client and error-handling patterns does the project use?
3. Are there existing types/interfaces to extend?

Then implement the integration, export it, and confirm it compiles/passes lint.
This endpoint allows you to send HTTP text messages to an active HTTP text simulation run.

Authorizations

X-API-Key
string
header
required

API key required to authenticate requests.

Headers

X-API-Key
string
required

API key required to authenticate requests.

Body

application/json

Chat message: Send a message to the user.

simulation_result_id
string
required

ID of the simulation result (test result)

message
string
required

Text message to send

end_conversation
boolean | null
default:false

If true, skip lambda and end/evaluate the conversation

end_turn
boolean | null
default:true

If true, process the message now; if false, stack it for later

message_id
string | null

Unique message ID for deduping within a conversation

type
string
default:message

Send a message to the user

Allowed value: "message"

Response

Successful Response

Response model for HTTP text message

simulation_result_id
string
required

Simulation result ID

status
string
default:success

Status of the response

end_conversation
boolean
default:false

Whether the conversation has ended