Skip to main content
POST
/
v1
/
responses
Responses API
curl --request POST \
  --url https://api.unifically.com/v1/responses \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "<string>",
  "input": {},
  "instructions": "<string>",
  "stream": true,
  "temperature": 123,
  "max_output_tokens": 123,
  "tools": [
    {}
  ],
  "tool_choice": {},
  "previous_response_id": "<string>",
  "store": true
}
'
{
  "id": "resp_abc123",
  "object": "response",
  "created_at": 1710000000,
  "model": "openai/gpt-5.4",
  "status": "completed",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "Code flows like rain\nBugs hide in silent logic\nCompile, then rejoice"
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 12,
    "output_tokens": 24,
    "total_tokens": 36
  }
}
The /v1/responses endpoint provides an OpenAI Responses API-compatible interface for text generation, tool use, and multi-turn conversations. Use the same request format as the OpenAI Responses API — swap the base URL to https://api.unifically.com and pass any supported model ID in the model field.
All LLM models support this endpoint, including Cursor, OpenAI, and Anthropic models.

Create Response

POST /v1/responses

Request

curl -X POST https://api.unifically.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "openai/gpt-5.4",
    "input": "Write a haiku about programming."
  }'

Request Parameters

model
string
required
Model identifier in provider/model-name format. See Available LLM Models.
input
string | array
required
Text prompt, or an array of input items (messages, tool results, etc.) for multi-turn conversations.
instructions
string
System-level instructions for the model.
stream
boolean
If true, the response is streamed using server-sent events. Default: false.
temperature
number
Sampling temperature between 0 and 2.
max_output_tokens
integer
Maximum number of output tokens to generate.
tools
array
Tools available to the model. Each tool includes a type and definition.
tool_choice
string | object
Controls tool usage: none, auto, required, or a specific tool.
previous_response_id
string
ID of a previous response to continue a multi-turn conversation.
store
boolean
Whether to store the response for later retrieval. Default: true.

Multi-turn Example

curl -X POST https://api.unifically.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "anthropic/claude-opus-4-8",
    "instructions": "You are a concise technical writer.",
    "input": [
      {"role": "user", "content": "What is an API gateway?"},
      {"role": "assistant", "content": "An API gateway is a server that acts as an entry point for API requests..."},
      {"role": "user", "content": "Give me a shorter version."}
    ]
  }'

Response

{
  "id": "resp_abc123",
  "object": "response",
  "created_at": 1710000000,
  "model": "openai/gpt-5.4",
  "status": "completed",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "Code flows like rain\nBugs hide in silent logic\nCompile, then rejoice"
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 12,
    "output_tokens": 24,
    "total_tokens": 36
  }
}

Streaming Response

When stream: true, the API returns server-sent events with partial response objects:
curl -X POST https://api.unifically.com/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "model": "cursor/composer-2.5",
    "input": "Explain recursion simply.",
    "stream": true
  }'

Supported Models

ModelProvider
cursor/composer-2.5Cursor
cursor/composer-2.5-fastCursor
openai/gpt-5.4-miniOpenAI
openai/gpt-5.4-nanoOpenAI
openai/gpt-5.4OpenAI
openai/gpt-5.5OpenAI
anthropic/claude-sonnet-4-6Anthropic
anthropic/claude-opus-4-6Anthropic
anthropic/claude-opus-4-7Anthropic
anthropic/claude-opus-4-8Anthropic
See individual model pages under LLM Models for details.

SDK Compatibility

Point any OpenAI SDK at Unifically by changing the base URL:
from openai import OpenAI

client = OpenAI(
    api_key="YOUR_API_KEY",
    base_url="https://api.unifically.com/v1"
)

response = client.responses.create(
    model="openai/gpt-5.5",
    input="Summarize REST APIs in two sentences."
)
print(response.output_text)