Beta.Responses - Go SDK
Beta.Responses - Go SDK
Beta.Responses method reference
The Go SDK and docs are currently in beta. Report issues on GitHub.
Overview
beta.responses endpoints
Available Operations
- Send - Create a response
Send
Creates a streaming or non-streaming response using OpenResponses API format
Example Usage
1 package main 2 3 import( 4 "context" 5 "os" 6 openrouter "github.com/OpenRouterTeam/go-sdk" 7 "github.com/OpenRouterTeam/go-sdk/models/components" 8 "log" 9 ) 10 11 func main() { 12 ctx := context.Background() 13 14 s := openrouter.New( 15 openrouter.WithSecurity(os.Getenv("OPENROUTER_API_KEY")), 16 ) 17 18 res, err := s.Beta.Responses.Send(ctx, components.ResponsesRequest{ 19 Input: openrouter.Pointer(components.CreateInputsUnionStr( 20 "Tell me a joke", 21 )), 22 Model: openrouter.Pointer("openai/gpt-4o"), 23 }, components.MetadataLevelEnabled.ToPointer()) 24 if err != nil { 25 log.Fatal(err) 26 } 27 if res != nil { 28 defer res.ResponsesStreamingResponse.Close() 29 30 for res.ResponsesStreamingResponse.Next() { 31 event := res.ResponsesStreamingResponse.Value() 32 log.Print(event) 33 // Handle the event 34 } 35 } 36 }
Parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
ctx | context.Context | ✔️ | The context to use for the request. | |
responsesRequest | components.ResponsesRequest | ✔️ | N/A | {"input": [{"content": "Hello, how are you?","role": "user","type": "message"}], “model”: “anthropic/claude-4.5-sonnet-20250929”, “temperature”: 0.7, “tools”: [ {"description": "Get the current weather in a given location","name": "get_current_weather","parameters": {"properties": {"location": {"type": "string"}}, “type”: “object” }, “type”: “function” } ], “top_p”: 0.9 } |
xOpenRouterExperimentalMetadata | *components.MetadataLevel | ➖ | Opt-in to surface routing metadata on the response under openrouter_metadata. Defaults to disabled. | enabled |
opts | []operations.Option | ➖ | The options for this request. |
Response
*operations.CreateResponsesResponse, error
Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| sdkerrors.BadRequestResponseError | 400 | application/json |
| sdkerrors.UnauthorizedResponseError | 401 | application/json |
| sdkerrors.PaymentRequiredResponseError | 402 | application/json |
| sdkerrors.NotFoundResponseError | 404 | application/json |
| sdkerrors.RequestTimeoutResponseError | 408 | application/json |
| sdkerrors.PayloadTooLargeResponseError | 413 | application/json |
| sdkerrors.UnprocessableEntityResponseError | 422 | application/json |
| sdkerrors.TooManyRequestsResponseError | 429 | application/json |
| sdkerrors.InternalServerResponseError | 500 | application/json |
| sdkerrors.BadGatewayResponseError | 502 | application/json |
| sdkerrors.ServiceUnavailableResponseError | 503 | application/json |
| sdkerrors.EdgeNetworkTimeoutResponseError | 524 | application/json |
| sdkerrors.ProviderOverloadedResponseError | 529 | application/json |
| sdkerrors.APIError | 4XX, 5XX | */* |