expiry-set-resolution-reason
/api/v1/expiry-set-resolution-reason
0 credits/call
expiry
Resolve an item as 'otpisano' (written off/discarded), 'vraceno' (returned to supplier), or 'prodano' (sold, no write-off/return) for a specific quantity — works on an ACTIVE item (resolves it on the spot) or on an already-handled one (just re-annotates why, correcting a mis-click). A partial write-off is normal: quantity here can be less than the item's current stock (e.g. 3 of 10 spoiled, the rest still sold normally).
Sign in + create an API key on the keys page to authenticate calls.
curl -X POST https://rokom.ba/api/v1/expiry-set-resolution-reason \
-H "Authorization: Bearer mcpsk_<your_api_key>" \
-H "Content-Type: application/json" \
-d '{
"item_id": "",
"reason": "",
"quantity": 0
}'
Add this server to Claude Desktop's claude_desktop_config.json. The endpoint becomes a callable tool inside Claude. See the MCP setup guide for the full walk-through.
{
"mcpServers": {
"this-api": {
"url": "https://rokom.ba/mcp",
"transport": "http",
"auth": {
"type": "bearer",
"token": "mcpsk_<your_api_key>"
}
}
}
}
Inside Claude this endpoint surfaces as the tool expiry-set-resolution-reason.
Standard requests — no custom SDK needed. pip install requests first.
import requests
r = requests.post(
"https://rokom.ba/api/v1/expiry-set-resolution-reason",
headers={"Authorization": "Bearer mcpsk_<your_api_key>"},
json={
"item_id": "",
"reason": "",
"quantity": 0
},
)
r.raise_for_status()
print(r.json())
Plain fetch. Works in Node 18+, Deno, Bun, and any modern browser.
const r = await fetch("https://rokom.ba/api/v1/expiry-set-resolution-reason", {
method: "POST",
headers: {
"Authorization": "Bearer mcpsk_<your_api_key>",
"Content-Type": "application/json",
},
body: JSON.stringify({
"item_id": "",
"reason": "",
"quantity": 0
}),
});
if (!r.ok) throw new Error(`HTTP ${r.status}`);
console.log(await r.json());
Input
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| item_id | string | required | — | |
| reason | string | required | — |
pattern=^(otpisano|vraceno|prodano)$
|
| quantity | integer | required | — |
maximum=100000
minimum=0
|
Output
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| ok | boolean | required | — | |
| reason | string | required | — | |
| quantity | integer | required | — | |
| status | string | required | — |
Try it
Fires a real POST /api/v1/expiry-set-resolution-reason from your browser. Charges 0 credits per call against your account.