Un-abort offers

Removes the aborts each entry names, so those offers show again on each player's next catalog read whenever your Get Catalog response returns them, with no catalog fetched again from your server. An entry removes exactly one abort: an identifier alone removes the abort without a version, and an identifier with a version removes the abort for that version. It also removes aborts made in Stash Studio. An entry that names no active abort changes nothing. At most 100 entries per call.

POST
/sdk/server/catalog/offer-aborts/unabort
x-stash-hmac-signature<token>

Versioned HMAC-SHA256 signature authenticating server-to-server SDK requests (your backend calling Stash), as opposed to client-side SDK operations. Recommended over the deprecated X-Stash-Api-Key for the best security. Header format: v1;{appId};{unixMillisTimestamp};{base64Signature} (semicolon-delimited). {base64Signature} is the base64-encoded HMAC-SHA256 of the string {unixMillisTimestamp}.{requestBody} using your app ingress secret (the ingress secret is shown base64-encoded in Studio; base64-decode it to the raw bytes used as the HMAC key), where {requestBody} is the compact canonical request JSON for POST requests and empty for GET requests. The timestamp must be within 5 minutes of Stash server time. Your appId is your immutable app identifier, shown in Stash Studio under Project Settings > App details; your ingress secret is under Project Settings > API Secrets.

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/sdk/server/catalog/offer-aborts/unabort" \  -H "Content-Type: application/json" \  -d '{    "offers": [      {        "offerId": "string"      }    ]  }'
{  "results": [    {      "offerId": "string",      "version": "string",      "removed": true    }  ]}

How is this guide?