Skip to content
Get an API key

Get started

Updated

Overview

The helping.io API is an Open Responses API. Any Responses API client can call it.

The helping.io API is the HTTP surface for calling helping.io from your own code. It implements the Open Responses specification; the official OpenAI SDKs and any Open Responses client are clients that work with it, without a custom integration.

Your request carries the current user turn, the model to run it on, and, optionally, your own function tools.

https://api.helping.io/v1

Point your SDK’s base URL at the /v1 prefix, not at the host on its own.

These are the routes the API exposes. Every other path under /v1 answers a 404 in the standard error envelope, including /v1/chat/completions: this API speaks the Responses API, and OpenAI’s guide on moving to Responses covers the change if your app still uses Chat Completions.

Route What it does
GET /v1/models List the model catalog, as canonical provider/model ids
POST /v1/responses Create a response: a new turn, or a further turn through previous_response_id
GET /v1/responses/{response_id} Retrieve a stored response, including its usage
DELETE /v1/responses/{response_id} Delete one stored response
POST /v1/responses/{response_id}/cancel Cancel a response your key created
POST /v1/conversations Create a conversation to hold a history by id
GET, POST, DELETE /v1/conversations/{conversation_id} Read, label, or delete a conversation
GET, POST /v1/conversations/{conversation_id}/items List a conversation’s items, or add to them
GET, DELETE /v1/conversations/{conversation_id}/items/{item_id} Read or remove one item

Conversations ride on previous_response_id

Each response is one turn. Pass the previous response’s id to continue the same conversation. The API keeps the history, so you never resend it.

Your tools are yours to execute

Function tools you define in a request come back as function_call items. You run them and post the result. Standard SDK tool loops work unchanged.

Extensions carry the helpingio: prefix

Everything beyond the Open Responses specification is a namespaced extension field. Clients that do not know the prefix strip it and still parse.