mirror of
https://github.com/HeyPuter/puter.git
synced 2025-12-31 02:00:13 -06:00
2.1 KiB
2.1 KiB
Puter Drivers
POST /drivers/call
Notes
- HTTP response status -
A successful driver response, even if the response is an error message, will always have HTTP status
200. Note that sometimes this will include rate limit and usage limit errors as well.
This endpoint allows you to call a Puter driver. Whether or not the driver call fails, this endpoint will respond with HTTP 200 OK. When a driver call fails, you will get a JSON response from the driver with
Parameters
Parameters are provided in the request body. The content type of the
request should be application/json.
- interface:
string- description: The type of driver to call. For example,
LLMs use the interface called
puter-chat-completion.
- description: The type of driver to call. For example,
LLMs use the interface called
- service:
string- description: The name of the service to use. For example, the
claudeservice might be used forputer-chat-completion.
- description: The name of the service to use. For example, the
- method:
string- description: The name of the method to call. For example, LLMs implement
completewhich does a chat completion, andlistwhich lists models.
- description: The name of the method to call. For example, LLMs implement
- args:
object- description: Parametized arguments for the driver call. For example,
puter-chat-completion'scompletemethod supports the argumentsmessagesandtemperature(and others), so you might set this to{ "messages": [...], "temperature": 1.2 }
- description: Parametized arguments for the driver call. For example,
Example
{
"interface": "<name of interface>",
"service": "<name of service>",
"method": "<name of method>",
"args": { "parametized": "arguments" }
}
Response
- Error Response - Driver error responses will always have status 200, content type
application/json, and a response body in this format:{ "success": false, "error": { "code": "string identifier for the error", "message": "some message about the error", } } - Success Response - The success response is either a JSON response
wrapped in
{ "success": true, "result": ___ }, or a response with aContent-Typethat is notapplication/json.{ "success": true, "result": {} }