Skip to main content
Glama

Get refund

get_refund
Read-onlyIdempotent

Retrieve a single Klarna refund by order ID and refund ID to view its refunded amount, time, description, reference, and order lines.

Instructions

Get one refund on a Klarna order by refund_id: refunded_amount (minor units), time, description, reference and order lines. To list all refunds, use get_order.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
order_idYesKlarna order id (UUID), as returned at purchase. Not the merchant order number.
refund_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds genuinely useful behavior beyond that: the exact return payload (refunded_amount, time, description, reference, order lines) with the unit caveat 'minor units', which matters because there is no output schema.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the action and key, followed by the alternative. The field enumeration is dense but earns its place since no output schema exists; the sentence is slightly overloaded with a colon-delimited list.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description compensates well for the missing output schema by listing the refund fields returned, and annotations cover the read-only/idempotent profile. The remaining gap is the undocumented refund_id format and any error/not-found behavior, though these are minor for a simple point-lookup tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 50% — order_id is documented as a Klarna UUID that is explicitly not the merchant order number, while refund_id has no schema description at all. The description only restates that lookup is 'by refund_id' and does not give its format or clarify how it relates to order_id, so the schema plus description together still leave the second parameter under-specified.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a precise verb+resource pair ('Get one refund on a Klarna order by refund_id') and enumerates the returned fields, so the agent knows exactly what entity it fetches and by which key. It also explicitly distinguishes itself from the listing path by naming get_order, so no sibling schema needs to be opened to disambiguate.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a clear use context (retrieve a single refund by refund_id) and names the alternative tool for the listing case (get_order). It stops short of stating exclusions or prerequisites, such as whether the refund must already be settled or whether it requires the order to be fetched first, but the when-to-use routing is unambiguous.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.