Skip to content

Issue a gift card

POST
/api/v1/commerce/gift-cards
curl --request POST \
--url https://digize.com/api/v1/commerce/gift-cards \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: 5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69' \
--header 'x-api-key: <x-api-key>' \
--data '{ "id": "example", "value": 1, "contactId": "example", "note": "example", "expiresAt": "2026-04-15T12:00:00Z" }'

Issues a card by hand, as store credit or a prize. The full code comes back this once.

Needs the commerce:write permission.

Idempotency-Key
string
>= 1 characters <= 255 characters

Makes the request safe to send again: for 24 hours the same key and request answer the first response without repeating the change.

Example

5f1c2a8e-3b7d-4c55-9a0e-1f2d3c4b5a69
Media typeapplication/json
object
id
string
>= 1 characters <= 64 characters
value
required

In the store currency’s minor unit: 1900 is $19.00.

integer
>= 1 <= 100000000
contactId
Any of:
string
>= 1 characters <= 64 characters
note
Any of:
string
<= 500 characters
expiresAt
Any of:
string format: date-time

Example generated

{
"id": "example",
"value": 1,
"contactId": "example",
"note": "example",
"expiresAt": "2026-04-15T12:00:00Z"
}

Done

Media typeapplication/json
object
card
required
object
id
required
string
code
required

The code’s last four characters; the full code only comes back from issuing.

string
initialValue
required
number
balance
required
number
held
required

Set aside by open checkouts.

number
status
required
string
Allowed values: active partly_used used_up disabled expired
customer
required
Any of:
object
id
required
string
name
required
string
email
required
string
source
required
string
Allowed values: order issued
orderNumber
required
number | null
issuedBy
required
string | null
note
required
string | null
issuedAt
required
string format: date-time
expiresAt
required
Any of:
string format: date-time
disabledAt
required
Any of:
string format: date-time
transactions
required
Array<object>
object
id
required
string
kind
required
string
Allowed values: issued redeemed adjusted refunded
amount
required
number
orderNumber
required
number | null
note
required
string | null
at
required
string format: date-time
code
required
string

Example

{
"card": {
"status": "active",
"source": "order",
"transactions": [
{
"kind": "issued"
}
]
}
}

What was sent isn’t valid (invalid).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

No key, or one that’s unknown, off or expired.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

The key doesn’t have the permission this needs.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

Nothing has that id (not_found).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

A request with the same Idempotency-Key is still running (conflict).

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

The Idempotency-Key was used with a different request.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}

Over the rate limit; see retry-after.

Media typeapplication/json
object
error
required
object
code
required
string
Allowed values: invalid unauthorized forbidden not_found conflict too_large rate_limited unavailable internal
message
required
string
details
object
key
additional properties
any

Example

{
"error": {
"code": "invalid"
}
}