Overview
Alpha feature endpoints for Extractions requestsAvailable Operations
- create - Submit an Extractions request
create
Extracts, computes, estimates or forecasts typed fields from a state string and image assets using an extraction-style System One model. Alpha: the shape is not stable.Example 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.extractions.create({
extractionsRequest: {
fields: {
"contacts": {
items: "text",
type: "list",
},
"days_to_pay": {
max: 120,
min: 0,
step: 1,
type: "estimate",
},
"due_date": {
instructions: "Issue date plus the net payment days",
type: "date",
},
"invoice_number": {
type: "text",
},
"total": {
decimals: 2,
type: "number",
unit: "USD",
},
},
model: "cloudflare/clairic",
referenceDate: "2026-10-28",
state: "Invoice INV-2291 issued 2026-09-02, net 30. Contacts: Dana Ruiz, Priya Shah. Total $1080.",
},
});
console.log(result);
}
run();
Standalone function
The standalone function version of this method:import { OpenRouterCore } from "@openrouter/sdk/core.js";
import { alphaExtractionsCreate } from "@openrouter/sdk/funcs/alphaExtractionsCreate.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 alphaExtractionsCreate(openRouter, {
extractionsRequest: {
fields: {
"contacts": {
items: "text",
type: "list",
},
"days_to_pay": {
max: 120,
min: 0,
step: 1,
type: "estimate",
},
"due_date": {
instructions: "Issue date plus the net payment days",
type: "date",
},
"invoice_number": {
type: "text",
},
"total": {
decimals: 2,
type: "number",
unit: "USD",
},
},
model: "cloudflare/clairic",
referenceDate: "2026-10-28",
state: "Invoice INV-2291 issued 2026-09-02, net 30. Contacts: Dana Ruiz, Priya Shah. Total $1080.",
},
});
if (res.ok) {
const { value: result } = res;
console.log(result);
} else {
console.log("alphaExtractionsCreate failed:", res.error);
}
}
run();
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
request | operations.CreateApiAlphaExtractionsRequest | ✔️ | The request object to use for the request. |
options | RequestOptions | ➖ | Used to set various options for making HTTP requests. |
options.fetchOptions | RequestInit | ➖ | 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 | ➖ | Enables retrying HTTP requests under certain failure conditions. |
options.serverURL | string | ➖ | An optional server URL to use. |
Response
Promise<models.ExtractionsResponse>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 | */* |