Read Gift Up! gift cards, orders, items, promotions and transactions (read-only, codes masked).
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The Gift Up account this API key belongs to: id, name, currency, whether onboarding is complete and whether the checkout is live. GET /company.
This tool takes no arguments.
The Gift Up account this API key belongs to: id, name, currency, whether onboarding is complete and whether the checkout is live. GET /company.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}One gift card by its code: balance (remainingValue / remainingUnits), status flags, expiry, recipient, order, fulfilment and the full ledger of events (created, redeemed, topped up, voided). Returns the code in full because you asked for this card by code; do not repeat it elsewhere. Read-only: it never redeems or changes the card. GET /gift-cards/{code}.
| Argument | Type | Description |
|---|---|---|
| code* | string | The gift card code. |
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"code"
],
"properties": {
"code": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "The gift card code."
},
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
}
}
}One item (gift card product) by id. Pre-generated codes are reduced to a count and masked tails. GET /items/{id}.
| Argument | Type | Description |
|---|---|---|
| item_id* | string | The item id (a GUID, from giftup_list_items). |
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"item_id"
],
"properties": {
"item_id": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$",
"description": "The item id (a GUID, from giftup_list_items)."
},
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
}
}
}One item group by id. GET /groups/{id}.
| Argument | Type | Description |
|---|---|---|
| group_id* | string | The item group id (a GUID, from giftup_list_item_groups). |
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"group_id"
],
"properties": {
"group_id": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$",
"description": "The item group id (a GUID, from giftup_list_item_groups)."
},
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
}
}
}One order by id: totals, purchaser, promotions, custom fields, sales taxes, notes, metadata and payment provider. GET /orders/{id}.
| Argument | Type | Description |
|---|---|---|
| order_id* | string | The order id (a GUID, from giftup_list_orders). |
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"order_id"
],
"properties": {
"order_id": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$",
"description": "The order id (a GUID, from giftup_list_orders)."
},
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
}
}
}One report transaction by id. The gift card code inside is MASKED (at least 6 characters stay hidden). GET /reports/transactions/{id}.
| Argument | Type | Description |
|---|---|---|
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
| transaction_id* | string | The transaction id (a GUID, from giftup_list_transactions). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"transaction_id"
],
"properties": {
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
},
"transaction_id": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$",
"description": "The transaction id (a GUID, from giftup_list_transactions)."
}
}
}List gift cards with balance, status flags (canBeRedeemed, hasExpired, notYetValid, isVoided), title, recipient, expiry and the order they came from. Codes are MASKED (at least 6 characters stay hidden); to see one card in full (code and ledger) use giftup_get_gift_card with its code. Filter by state, creation/update time, order, SKU, recipient/purchaser email or payment transaction id. GET /gift-cards.
| Argument | Type | Description |
|---|---|---|
| sku | string | Only gift cards with this private SKU. |
| limit | integer | Results per page, 1-100 (default 25). |
| offset | integer | Results to skip (default 0). Pass the previous reply's next_offset. |
| status | string | Only gift cards in this state. |
| order_id | string | Only gift cards of this order id. |
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
| purchaser_email | string | Only gift cards bought by this purchaser email address. |
| recipient_email | string |
List item groups (the sections that organize items in the checkout): id, name, description, sort order, auto-expand. GET /groups.
| Argument | Type | Description |
|---|---|---|
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
}
}
}List the gift card products on sale (items): name, price, value, price type, availability window, group, stock level, per-order limit, SKU and terms. Pre-generated codes are reduced to a count and masked tails. Optionally only one group. GET /items.
| Argument | Type | Description |
|---|---|---|
| group_id | string | Only items in this item group id. |
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"group_id": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$",
"description": "Only items in this item group id."
},
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
}
}
}List the locations (stores) of the account; their ids filter and label report transactions. GET /locations.
| Argument | Type | Description |
|---|---|---|
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
}
}
}List orders (the purchases that created gift cards), newest first: order number, purchaser, revenue, tip, fees, discount, applied promotions, source, notes, metadata and payment provider. Filter by creation time, purchaser email or source. GET /orders.
| Argument | Type | Description |
|---|---|---|
| limit | integer | Results per page, 1-100 (default 25). |
| offset | integer | Results to skip (default 0). Pass the previous reply's next_offset. |
| source | string | Only orders from this source. |
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
| purchaser_email | string | Only orders by this purchaser email address. |
| created_on_or_after | string | Only orders created on or after this time (UTC). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"offset": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Results to skip (default 0). Pass the previous reply's next_offset."
},
"source": {
"enum": [
"API",
"Checkout",
"Dashboard",
"Import",
"Square",
"Vend",
"External"
],
"type": "string",
"description": "Only orders from this source."
},
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
},
"purchaser_email": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only orders by this purchaser email address."
},
"created_on_or_after": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,7})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "Only orders created on or after this time (UTC)."
}
}
}List promotions (checkout discounts and bonus credit): name, published/stopped dates, benefits (percentage and fixed discounts, extra credit), usage counts and revenue, limitations and triggers (items, groups, spend and quantity thresholds, promo code). Read-only. GET /promotions.
| Argument | Type | Description |
|---|---|---|
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
}
}
}The immutable financial transaction log: OrderPlaced (income, fees, tip), GiftCardCreated, CreditAdded, Redeemed, Expired, Unexpired, Voided, Reactivated, with who, where, reason, Gift Up fee and the value change. Gift card codes are MASKED (at least 6 characters stay hidden). Filter by time range, event type, user email, location id or one gift card code. GET /reports/transactions.
| Argument | Type | Description |
|---|---|---|
| code | string | Only events of the gift card with this code. |
| limit | integer | Results per page, 1-100 (default 25). |
| users | array | Only events generated by these user email addresses. |
| events | array | Only these event types. |
| offset | integer | Results to skip (default 0). Pass the previous reply's next_offset. |
| locations | array | Only events at these location ids (see giftup_list_locations). |
| test_mode | boolean | Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false. |
| event_occurred_on_or_after |
| Only gift cards sent to this recipient email address. |
| created_on_or_after | string | Only gift cards created on or after this time (UTC). |
| updated_on_or_after | string | Only gift cards updated on or after this time (UTC). |
| payment_transaction_id | string | Only gift cards whose payment-provider transaction id matches. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"sku": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only gift cards with this private SKU."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"offset": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Results to skip (default 0). Pass the previous reply's next_offset."
},
"status": {
"enum": [
"active",
"expired",
"redeemed",
"voided"
],
"type": "string",
"description": "Only gift cards in this state."
},
"order_id": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$",
"description": "Only gift cards of this order id."
},
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
},
"purchaser_email": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only gift cards bought by this purchaser email address."
},
"recipient_email": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only gift cards sent to this recipient email address."
},
"created_on_or_after": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,7})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "Only gift cards created on or after this time (UTC)."
},
"updated_on_or_after": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,7})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "Only gift cards updated on or after this time (UTC)."
},
"payment_transaction_id": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Only gift cards whose payment-provider transaction id matches."
}
}
}| string |
| Only events on or after this time (UTC). |
| event_occurred_on_or_before | string | Only events on or before this time (UTC). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"code": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Only events of the gift card with this code."
},
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "Results per page, 1-100 (default 25)."
},
"users": {
"type": "array",
"items": {
"type": "string",
"maxLength": 200,
"minLength": 1
},
"maxItems": 10,
"minItems": 1,
"description": "Only events generated by these user email addresses."
},
"events": {
"type": "array",
"items": {
"enum": [
"OrderPlaced",
"GiftCardCreated",
"CreditAdded",
"Redeemed",
"Expired",
"Unexpired",
"Voided",
"Reactivated"
],
"type": "string"
},
"maxItems": 8,
"minItems": 1,
"description": "Only these event types."
},
"offset": {
"type": "integer",
"maximum": 1000000,
"minimum": 0,
"description": "Results to skip (default 0). Pass the previous reply's next_offset."
},
"locations": {
"type": "array",
"items": {
"type": "string",
"pattern": "^[A-Za-z0-9-]{1,64}$",
"description": "The id (a GUID)."
},
"maxItems": 10,
"minItems": 1,
"description": "Only events at these location ids (see giftup_list_locations)."
},
"test_mode": {
"type": "boolean",
"description": "Read the account's test data instead of live data (sends x-giftup-testmode: true). Default false."
},
"event_occurred_on_or_after": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,7})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "Only events on or after this time (UTC)."
},
"event_occurred_on_or_before": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}([T ]\\d{2}:\\d{2}(:\\d{2}(\\.\\d{1,7})?)?(Z|[+-]\\d{2}:?\\d{2})?)?$",
"description": "Only events on or before this time (UTC)."
}
}
}