Overview
Alpha feature endpoints for Decisions (questions and answers) requestsAvailable Operations
- create - Submit a Decisions (questions and answers) request
create
Submits a Decisions request to the Decisions routerExample Usage
import { OpenRouter } from "@openrouter/sdk";
const openRouter = new OpenRouter({
httpReferer: "<value>",
appTitle: "<value>",
appCategories: "<value>",
apiKey: process.env["OPENROUTER_API_KEY"] ?? "",
});
async function run() {
const result = await openRouter.alpha.decisions.create({
decisionsRequest: {
model: "typesafe/jev-1.13",
questions: {
"is_bug": {
criteria: {
false: "The customer is asking a question or requesting a feature.",
true: "The customer describes broken or unexpected product behavior.",
},
instructions: "Is the customer reporting a software defect?",
type: "noul",
},
"team": {
criteria: {
"account": "Login, permissions, or profile issues.",
"frontend": "Rendering, layout, or browser compatibility issues.",
"payments": "Checkout, billing, or payment processing issues.",
},
instructions: "Which team should own this ticket?",
type: "choice",
},
"urgency": {
criteria: [
"Can wait for the next release",
"Should be fixed this week",
"Blocking revenue right now",
],
instructions: "How urgent is this ticket?",
type: "score",
},
},
state: {
"customer_tier": "enterprise",
"ticket": "My checkout page shows a blank screen after I click Pay. I have tried two browsers.",
},
},
});
console.log(result);
}
run();
Standalone function
The standalone function version of this method:import { OpenRouterCore } from "@openrouter/sdk/core.js";
import { alphaDecisionsCreate } from "@openrouter/sdk/funcs/alphaDecisionsCreate.js";
// Use `OpenRouterCore` for best tree-shaking performance.
// You can create one instance of it to use across an application.
const openRouter = new OpenRouterCore({
httpReferer: "<value>",
appTitle: "<value>",
appCategories: "<value>",
apiKey: process.env["OPENROUTER_API_KEY"] ?? "",
});
async function run() {
const res = await alphaDecisionsCreate(openRouter, {
decisionsRequest: {
model: "typesafe/jev-1.13",
questions: {
"is_bug": {
criteria: {
false: "The customer is asking a question or requesting a feature.",
true: "The customer describes broken or unexpected product behavior.",
},
instructions: "Is the customer reporting a software defect?",
type: "noul",
},
"team": {
criteria: {
"account": "Login, permissions, or profile issues.",
"frontend": "Rendering, layout, or browser compatibility issues.",
"payments": "Checkout, billing, or payment processing issues.",
},
instructions: "Which team should own this ticket?",
type: "choice",
},
"urgency": {
criteria: [
"Can wait for the next release",
"Should be fixed this week",
"Blocking revenue right now",
],
instructions: "How urgent is this ticket?",
type: "score",
},
},
state: {
"customer_tier": "enterprise",
"ticket": "My checkout page shows a blank screen after I click Pay. I have tried two browsers.",
},
},
});
if (res.ok) {
const { value: result } = res;
console.log(result);
} else {
console.log("alphaDecisionsCreate failed:", res.error);
}
}
run();
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
request | operations.CreateApiAlphaDecisionsRequest | :heavy_check_mark: | The request object to use for the request. |
options | RequestOptions | :heavy_minus_sign: | Used to set various options for making HTTP requests. |
options.fetchOptions | RequestInit | :heavy_minus_sign: | Options that are passed to the underlying HTTP request. This can be used to inject extra headers for examples. All Request options, except method and body, are allowed. |
options.retries | RetryConfig | :heavy_minus_sign: | Enables retrying HTTP requests under certain failure conditions. |
Response
Promise<models.DecisionsResponse>Errors
| Error Type | Status Code | Content Type |
|---|---|---|
| errors.BadRequestResponseError | 400 | application/json |
| errors.UnauthorizedResponseError | 401 | application/json |
| errors.PaymentRequiredResponseError | 402 | application/json |
| errors.ForbiddenResponseError | 403 | application/json |
| errors.NotFoundResponseError | 404 | application/json |
| errors.PayloadTooLargeResponseError | 413 | application/json |
| errors.TooManyRequestsResponseError | 429 | application/json |
| errors.InternalServerResponseError | 500 | application/json |
| errors.BadGatewayResponseError | 502 | application/json |
| errors.ServiceUnavailableResponseError | 503 | application/json |
| errors.EdgeNetworkTimeoutResponseError | 524 | application/json |
| errors.ProviderOverloadedResponseError | 529 | application/json |
| errors.OpenRouterDefaultError | 4XX, 5XX | */* |