API reference
Create a conversation.
const url = 'https://api.helping.io/v1/conversations';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"items":[{"id":"example"}],"metadata":{}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.helping.io/v1/conversations \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "items": [ { "id": "example" } ], "metadata": {} }'Both fields are optional: an empty body gives you an empty conversation.
items seeds it with up to 20 items, which the next response on this
conversation will see as context.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”The conversation to create.
Create a conversation.
Both fields are optional: POST /v1/conversations with an empty body is a
valid call and gives you an empty conversation.
object
Items to seed the conversation with, up to 20.
Seeded items become part of the conversation’s context: the next response on this conversation sees them.
An input item, discriminated by type.
object
A message item, discriminated by role.
object
Text you are sending to the model.
object
Text the model produced.
annotations carries any citations for spans of this text.
logprobs carries per-token log probabilities; it is an empty array on
every response this surface produces today, because log probabilities
are never requested from a provider.
object
An annotation attached to a span of output text.
object
The log probability of one output token.
This surface does not produce log probabilities yet: top_logprobs is
accepted and not applied, and include: ["message.output_text.logprobs"]
is accepted and not acted on, so the logprobs arrays that carry this
type are empty on every response today. They are arrays rather than nulls
because the schema requires an array, and an empty one is the honest
answer for “none were produced”.
object
One alternative token the model considered, with its log probability.
object
Plain text, where neither direction is implied.
object
A summary of the model’s reasoning.
object
Reasoning text produced by the model.
object
The model declined to answer, and why.
object
An image you are sending to the model.
image_url accepts a URL or a data URL. detail asks for a
fidelity; omit it to let the model choose.
A file you are sending to the model, by URL or inline contents.
object
A video you are sending to the model.
object
A message item, discriminated by role.
object
Text you are sending to the model.
object
Text the model produced.
annotations carries any citations for spans of this text.
logprobs carries per-token log probabilities; it is an empty array on
every response this surface produces today, because log probabilities
are never requested from a provider.
object
An annotation attached to a span of output text.
object
The log probability of one output token.
This surface does not produce log probabilities yet: top_logprobs is
accepted and not applied, and include: ["message.output_text.logprobs"]
is accepted and not acted on, so the logprobs arrays that carry this
type are empty on every response today. They are arrays rather than nulls
because the schema requires an array, and an empty one is the honest
answer for “none were produced”.
object
One alternative token the model considered, with its log probability.
object
Plain text, where neither direction is implied.
object
A summary of the model’s reasoning.
object
Reasoning text produced by the model.
object
The model declined to answer, and why.
object
An image you are sending to the model.
image_url accepts a URL or a data URL. detail asks for a
fidelity; omit it to let the model choose.
A file you are sending to the model, by URL or inline contents.
object
A video you are sending to the model.
object
A message item, discriminated by role.
object
Text you are sending to the model.
object
Text the model produced.
annotations carries any citations for spans of this text.
logprobs carries per-token log probabilities; it is an empty array on
every response this surface produces today, because log probabilities
are never requested from a provider.
object
An annotation attached to a span of output text.
object
The log probability of one output token.
This surface does not produce log probabilities yet: top_logprobs is
accepted and not applied, and include: ["message.output_text.logprobs"]
is accepted and not acted on, so the logprobs arrays that carry this
type are empty on every response today. They are arrays rather than nulls
because the schema requires an array, and an empty one is the honest
answer for “none were produced”.
object
One alternative token the model considered, with its log probability.
object
Plain text, where neither direction is implied.
object
A summary of the model’s reasoning.
object
Reasoning text produced by the model.
object
The model declined to answer, and why.
object
An image you are sending to the model.
image_url accepts a URL or a data URL. detail asks for a
fidelity; omit it to let the model choose.
A file you are sending to the model, by URL or inline contents.
object
A video you are sending to the model.
object
A message item, discriminated by role.
object
Text you are sending to the model.
object
Text the model produced.
annotations carries any citations for spans of this text.
logprobs carries per-token log probabilities; it is an empty array on
every response this surface produces today, because log probabilities
are never requested from a provider.
object
An annotation attached to a span of output text.
object
The log probability of one output token.
This surface does not produce log probabilities yet: top_logprobs is
accepted and not applied, and include: ["message.output_text.logprobs"]
is accepted and not acted on, so the logprobs arrays that carry this
type are empty on every response today. They are arrays rather than nulls
because the schema requires an array, and an empty one is the honest
answer for “none were produced”.
object
One alternative token the model considered, with its log probability.
object
Plain text, where neither direction is implied.
object
A summary of the model’s reasoning.
object
Reasoning text produced by the model.
object
The model declined to answer, and why.
object
An image you are sending to the model.
image_url accepts a URL or a data URL. detail asks for a
fidelity; omit it to let the model choose.
A file you are sending to the model, by URL or inline contents.
object
A video you are sending to the model.
object
An input item, discriminated by type.
object
An input item, discriminated by type.
object
Text you are sending to the model.
object
Text the model produced.
annotations carries any citations for spans of this text.
logprobs carries per-token log probabilities; it is an empty array on
every response this surface produces today, because log probabilities
are never requested from a provider.
object
An annotation attached to a span of output text.
object
The log probability of one output token.
This surface does not produce log probabilities yet: top_logprobs is
accepted and not applied, and include: ["message.output_text.logprobs"]
is accepted and not acted on, so the logprobs arrays that carry this
type are empty on every response today. They are arrays rather than nulls
because the schema requires an array, and an empty one is the honest
answer for “none were produced”.
object
One alternative token the model considered, with its log probability.
object
Plain text, where neither direction is implied.
object
A summary of the model’s reasoning.
object
Reasoning text produced by the model.
object
The model declined to answer, and why.
object
An image you are sending to the model.
image_url accepts a URL or a data URL. detail asks for a
fidelity; omit it to let the model choose.
A file you are sending to the model, by URL or inline contents.
object
A video you are sending to the model.
object
An input item, discriminated by type.
object
Text you are sending to the model.
object
Text the model produced.
annotations carries any citations for spans of this text.
logprobs carries per-token log probabilities; it is an empty array on
every response this surface produces today, because log probabilities
are never requested from a provider.
object
An annotation attached to a span of output text.
object
The log probability of one output token.
This surface does not produce log probabilities yet: top_logprobs is
accepted and not applied, and include: ["message.output_text.logprobs"]
is accepted and not acted on, so the logprobs arrays that carry this
type are empty on every response today. They are arrays rather than nulls
because the schema requires an array, and an empty one is the honest
answer for “none were produced”.
object
One alternative token the model considered, with its log probability.
object
Plain text, where neither direction is implied.
object
A summary of the model’s reasoning.
object
Reasoning text produced by the model.
object
The model declined to answer, and why.
object
An image you are sending to the model.
image_url accepts a URL or a data URL. detail asks for a
fidelity; omit it to let the model choose.
A file you are sending to the model, by URL or inline contents.
object
A video you are sending to the model.
object
An input item, discriminated by type.
object
A pointer to an item that already exists, by id.
object
Labels to attach: up to 16 pairs, keys up to 64 characters, values up to 512.
object
Responses
Section titled “ Responses ”The conversation.
A conversation.
OpenAI requires all four fields, so none of them is optional here and none
is skipped when empty. metadata in particular: a conversation with no
labels answers with {}, never with the field absent.
object
When the conversation was created, in seconds since the Unix epoch.
The conversation’s opaque id, conv_....
The customer’s own labels on this conversation.
object
Always conversation.
Examplegenerated
{ "created_at": 1, "id": "example", "metadata": {}, "object": "example"}Metadata outside the documented limits, or more than 20 items (the error envelope)
Missing or invalid API key (the error envelope)
The key is not entitled to what the request asked for (the error envelope)
The Idempotency-Key was already used and its result cannot be returned for this request, or its first request is still being processed (the error envelope)
This organization has exhausted its allowance; retry after the Retry-After header.
The request could not be completed; quote the x-request-id response header when reporting it.
The request could not be served this instant; retry after the Retry-After header.