openapi: 3.0.1
info:
title: Huuray API
description: Huuray API for B2B customers (last updated april 2025)
contact:
name: Support
email: tech@huuray.com
version: v4
paths:
/v4/Balance:
get:
tags:
- Balance
summary: Used to get available balances
description: The amount of available balances on the B2B account in minor units
with currency
parameters:
- name: X-API-NONCE
in: header
description: A random value that can only be used once every 60 days. (max
50 characters)
(this prevents your message from being re-transmitted,
and thereby also replay attacks)
required: true
- name: X-API-HASH
in: header
description: 'The SHA512 hash of a concatenated string containing the following:
( API-SECRET + NONCE ).
(this is used to authenticate you)'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/BalanceResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
security:
- ApiToken: []
/v4/Cancel:
delete:
tags:
- Cancel
summary: Used to Cancel Orders or Giftcards
description: n/a
parameters:
- name: X-API-NONCE
in: header
description: A random value that can only be used once every 60 days. (max
50 characters)
(this prevents your message from being re-transmitted,
and thereby also replay attacks)
required: true
- name: X-API-HASH
in: header
description: 'The SHA512 hash of a concatenated string containing the following:
( API-SECRET + NONCE ).
(this is used to authenticate you)'
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CancelRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CancelResponse'
'206':
description: Partial Content
content:
application/json:
schema:
$ref: '#/components/schemas/CancelResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'422':
description: Unprocessable Content
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
security:
- ApiToken: []
/v4/Catalogue:
post:
tags:
- Catalogue
summary: Used to get a list of the available products
description: The list will include both texts and images. It will also include
your currently available discount if "All" is set to "False"
parameters:
- name: X-API-NONCE
in: header
description: A random value that can only be used once every 60 days. (max
50 characters)
(this prevents your message from being re-transmitted,
and thereby also replay attacks)
required: true
- name: X-API-HASH
in: header
description: 'The SHA512 hash of a concatenated string containing the following:
( API-SECRET + NONCE ).
(this is used to authenticate you)'
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogueRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/CatalogueResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
security:
- ApiToken: []
/v4/ExchangeRates:
get:
tags:
- ExchangeRates
summary: Used to retrieve current exchange rate data
description: The exchange rate data consists of exchange rate and spread. The
currency parameters must be ISO-3 currency codes.
parameters:
- name: FromCurrency
in: query
schema:
type: string
- name: ToCurrency
in: query
schema:
type: string
- name: X-API-NONCE
in: header
description: A random value that can only be used once every 60 days. (max
50 characters)
(this prevents your message from being re-transmitted,
and thereby also replay attacks)
required: true
- name: X-API-HASH
in: header
description: 'The SHA512 hash of a concatenated string containing the following:
( API-SECRET + NONCE ).
(this is used to authenticate you)'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ExchangeRatesResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
security:
- ApiToken: []
/v4/Order:
post:
tags:
- Order
summary: Used to order giftcards
description: The giftcards will be sent out as redeemable links. They will be
sent out automatically via Email or SMS, or returned in a callback if you
have set one up and enabled this feature
parameters:
- name: X-API-NONCE
in: header
description: A random value that can only be used once every 60 days. (max
50 characters)
(this prevents your message from being re-transmitted,
and thereby also replay attacks)
required: true
- name: X-API-HASH
in: header
description: 'The SHA512 hash of a concatenated string containing the following:
( API-SECRET + NONCE ).
(this is used to authenticate you)'
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/OrderRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/OrderResponse'
'201':
description: Created
content:
application/json:
schema:
$ref: '#/components/schemas/OrderResponse'
'202':
description: Accepted
content:
application/json:
schema:
$ref: '#/components/schemas/OrderResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'422':
description: Unprocessable Content
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
security:
- ApiToken: []
/v4/Resend:
post:
tags:
- Resend
summary: Used to Resend Orders or Giftcards
description: n/a
parameters:
- name: X-API-NONCE
in: header
description: A random value that can only be used once every 60 days. (max
50 characters)
(this prevents your message from being re-transmitted,
and thereby also replay attacks)
required: true
- name: X-API-HASH
in: header
description: 'The SHA512 hash of a concatenated string containing the following:
( API-SECRET + NONCE ).
(this is used to authenticate you)'
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ResendRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/ResendResponse'
'206':
description: Partial Content
content:
application/json:
schema:
$ref: '#/components/schemas/ResendResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'422':
description: Unprocessable Content
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
security:
- ApiToken: []
/v4/Search:
post:
tags:
- Search
summary: Used to search through giftcards from previous orders
description: n/a
parameters:
- name: X-API-NONCE
in: header
description: A random value that can only be used once every 60 days. (max
50 characters)
(this prevents your message from being re-transmitted,
and thereby also replay attacks)
required: true
- name: X-API-HASH
in: header
description: 'The SHA512 hash of a concatenated string containing the following:
( API-SECRET + NONCE ).
(this is used to authenticate you)'
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
security:
- ApiToken: []
/v4/Stock:
post:
tags:
- Stock
summary: Used to check the current stock of a product
description: n/a
parameters:
- name: X-API-NONCE
in: header
description: A random value that can only be used once every 60 days. (max
50 characters)
(this prevents your message from being re-transmitted,
and thereby also replay attacks)
required: true
- name: X-API-HASH
in: header
description: 'The SHA512 hash of a concatenated string containing the following:
( API-SECRET + NONCE ).
(this is used to authenticate you)'
required: true
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/StockRequest'
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/StockResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'422':
description: Unprocessable Content
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
security:
- ApiToken: []
/v4/Template:
post:
tags:
- Template
summary: Used to get a list of the available templates
description: The list will include both texts and type
parameters:
- name: X-API-NONCE
in: header
description: A random value that can only be used once every 60 days. (max
50 characters)
(this prevents your message from being re-transmitted,
and thereby also replay attacks)
required: true
- name: X-API-HASH
in: header
description: 'The SHA512 hash of a concatenated string containing the following:
( API-SECRET + NONCE ).
(this is used to authenticate you)'
required: true
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/TemplateResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'403':
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Response'
security:
- ApiToken: []
components:
schemas:
BalanceItem:
title: Balance Item
type: object
properties:
Currency:
type: string
description: The currency as ISO alpha-3 code
nullable: true
Balance:
type: integer
description: The available balance in minor units
format: int64
Master:
type: boolean
description: An option that shows whether the currency is a master currency
additionalProperties: false
description: An object containing information about available balance for currency
BalanceResponse:
title: Balance Response
type: object
properties:
Balances:
type: array
items:
$ref: '#/components/schemas/BalanceItem'
description: The list of balances
nullable: true
Status:
type: integer
description: HttpStatus code for the response
format: int32
Message:
type: string
description: Deprecated, use StatusMessage instead. Error message describing
an error that occurred during the processing of the request
nullable: true
deprecated: true
StatusMessage:
type: string
description: Status message describing an error that occurred during the
processing of the request
nullable: true
additionalProperties: false
description: The response containing available balances with currency
CancelRequest:
title: Cancel Request
required:
- OrderUID
type: object
properties:
OrderUID:
type: string
description: The UID of the Order you want to Cancel from
VoucherID:
type: integer
description: The ID of the specific Voucher in the given Order that you
want to Cancel. If null is given, we will attempt to Cancel the entire
Order
format: int32
nullable: true
additionalProperties: false
description: An object containing all the necessary information for Canceling
giftcards
CancelResponse:
title: Cancel Response
type: object
properties:
OrderUID:
type: string
description: The UID of the Order that was attempted to be cancelled
nullable: true
OrderCancelled:
type: boolean
description: An option that shows whether the Order was cancelled
Vouchers:
type: array
items:
$ref: '#/components/schemas/CancelVoucher'
description: A list of the individual Vouchers in the Order that was attempted
to be cancelled
nullable: true
Status:
type: integer
description: HttpStatus code for the response
format: int32
Message:
type: string
description: Deprecated, use StatusMessage instead. Error message describing
an error that occurred during the processing of the request
nullable: true
deprecated: true
StatusMessage:
type: string
description: Status message describing an error that occurred during the
processing of the request
nullable: true
additionalProperties: false
description: The response from a Cancel request
CancelVoucher:
title: Voucher (Cancel)
type: object
properties:
ID:
type: integer
description: The ID of the Voucher that was attempted to be cancelled
format: int32
Cancelled:
type: boolean
description: An option that shows whether the Voucher was cancelled
additionalProperties: false
description: An object describing the outcome of an Voucher Cancel
CatalogueProduct:
title: Product (Catalogue)
type: object
properties:
ProductToken:
type: string
description: Unique product ID
Only part of the response if the 'all'
request-parameter is 'false'
nullable: true
BrandName:
type: string
description: Products brand name
nullable: true
Country:
type: string
description: Country name
nullable: true
CountryCode:
type: string
description: Country IsoAlpha2 code
nullable: true
Discount:
type: number
description: Discount in percent
format: decimal(5,2)
nullable: true
Denominations:
type: string
description: Product denominations separated by commas
nullable: true
Currency:
type: string
description: Currency IsoAlpha3 code
nullable: true
RealTimeStock:
type: string
description: Real-time or Stock
nullable: true
Categories:
type: string
description: Product categories separated by commas
nullable: true
LanguageCode:
type: string
description: Language IsoAlpha2 code
nullable: true
Active:
type: boolean
description: Active status
BrandDescription:
type: string
description: Brand description in original language
nullable: true
RedemptionInstructions:
type: string
description: Redemption instructions in original language
nullable: true
LogoFile:
type: string
description: Logo file url
nullable: true
additionalProperties: false
description: An object containing information about product
CatalogueRequest:
title: Product Catalogue Request
type: object
properties:
All:
type: boolean
description: Set this option to 'true' to fetch the entire product catalog;
'false' to limit the search to the products that your account has access
to
nullable: true
additionalProperties: false
description: An object containing the required input for the product catalogue
API
CatalogueResponse:
title: Product Catalogue Response
type: object
properties:
Products:
type: array
items:
$ref: '#/components/schemas/CatalogueProduct'
description: The list of products
nullable: true
Status:
type: integer
description: HttpStatus code for the response
format: int32
Message:
type: string
description: Deprecated, use StatusMessage instead. Error message describing
an error that occurred during the processing of the request
nullable: true
deprecated: true
StatusMessage:
type: string
description: Status message describing an error that occurred during the
processing of the request
nullable: true
additionalProperties: false
description: The response containing products
ExchangeRatesResponse:
title: Exchange Rates Response
type: object
properties:
ExchangeRate:
type: number
description: Exchange rate
format: double
nullable: true
Spread:
type: integer
description: Spread in percentage
format: int32
nullable: true
Status:
type: integer
description: HttpStatus code for the response
format: int32
Message:
type: string
description: Deprecated, use StatusMessage instead. Error message describing
an error that occurred during the processing of the request
nullable: true
deprecated: true
StatusMessage:
type: string
description: Status message describing an error that occurred during the
processing of the request
nullable: true
additionalProperties: false
description: The response containing the exchange rate and spread
OrderProduct:
title: Product (Order)
required:
- Currency
- Quantity
- Token
- Value
type: object
properties:
Token:
minLength: 1
type: string
description: The token used to identify a specific product
Value:
type: integer
description: The value denomination that you want to order. Must be specified
in minor units (i.e. $5.00 should be sent as 500)
format: int32
Currency:
minLength: 1
type: string
description: The currency of the product
Quantity:
type: integer
description: The amount of codes you are ordering
format: int32
Expires:
type: string
description: An optional time and date for the giftcards to expire. If omitted,
the default expiration will be used, and the value cannot exceed the default
expiration
format: date-time
nullable: true
additionalProperties: false
description: An object containing information about a product
OrderRecipient:
title: Recipient (Order)
type: object
properties:
Name:
type: string
description: The name of the recipient
nullable: true
Email:
type: string
description: The email address of the recipient (required if DeliveryMethod
is set to Email)
nullable: true
Phone:
type: string
description: The phone number of the recipient (required if DeliveryMethod
is set to SMS)
nullable: true
RefID:
type: string
description: An optional ID that you can use to identify the individual
recipient
nullable: true
additionalProperties: false
description: An object containing information about a single recipient
OrderRequest:
title: Order Request
required:
- Product
- Sync
type: object
properties:
Product:
$ref: '#/components/schemas/OrderProduct'
Sync:
type: boolean
description: Determines whether the Order is a sync order (If set to true,
then quantity is limited to 25 and vouchers are returned in the response)
RefID:
type: string
description: An optional ID that you can use to identify the resulting order
with
nullable: true
DeliveryTemplateId:
type: integer
description: The template used to deliver the codes (Email, SMS, or no delivery
if null)
format: int32
nullable: true
DeliveryDatetime:
type: string
description: An optional future date for delivery to take place, if null
delivery will happen as soon as possible
format: date-time
nullable: true
PersonalMessage:
type: string
description: An optional message to include in all the SMS/Emails (if applicable)
nullable: true
Recipients:
type: array
items:
$ref: '#/components/schemas/OrderRecipient'
description: A list of all the recipients. It is required unless DeliveryTemplateId
is null. If specified, the count must be either 1 or match Product.Quantity
nullable: true
additionalProperties: false
description: An object containing all the necessary information for ordering
giftcards
OrderResponse:
title: Order Response
type: object
properties:
OrderUID:
type: string
description: A unique ID which will be connected to the resulting order
nullable: true
RefID:
type: string
description: The optional ID that you specified in the order request
nullable: true
Vouchers:
type: array
items:
$ref: '#/components/schemas/OrderVoucher'
description: The resulting vouchers for the placed order (contain data only
for Sync request)
nullable: true
Status:
type: integer
description: HttpStatus code for the response
format: int32
Message:
type: string
description: Deprecated, use StatusMessage instead. Error message describing
an error that occurred during the processing of the request
nullable: true
deprecated: true
StatusMessage:
type: string
description: Status message describing an error that occurred during the
processing of the request
nullable: true
additionalProperties: false
description: The response from the Order request
OrderVoucher:
title: Voucher (Order)
type: object
properties:
ID:
type: integer
description: The unique identifier of the voucher (used by resend and cancel
endpoints)
format: int32
nullable: true
Code:
type: string
description: The redeemable code of the voucher. (This will be blanked unless
ReturnCode is enabled in your B2B Account)
nullable: true
CVV:
type: string
description: A value used to verify the authenticity of the voucher (if
applicable). (This will be blanked unless ReturnCode is enabled in your
B2B Account)
nullable: true
RedeemLink:
type: string
description: The URL to redeem the voucher. (This will be blanked unless
ReturnCode is enabled in your B2B Account)
nullable: true
Expires:
type: string
description: The time and date for when the voucher expires
format: date-time
Recipient:
$ref: '#/components/schemas/OrderRecipient'
additionalProperties: false
description: An object containing information about a voucher
ResendRequest:
title: Resend Request
required:
- OrderUID
type: object
properties:
OrderUID:
type: string
description: The UID of the Order for the giftcards that you want to Resend
VoucherID:
type: integer
description: The ID of the specific Voucher in the given Order that you
want to Resend. If null is given, we will attempt to Resend the entire
Order to all its receivers
format: int32
nullable: true
additionalProperties: false
description: An object containing all the necessary information for resending
a giftcard
ResendResponse:
title: Resend Response
type: object
properties:
NumberOfResends:
type: integer
description: Shows the number of successful Resends
format: int32
nullable: true
Status:
type: integer
description: HttpStatus code for the response
format: int32
Message:
type: string
description: Deprecated, use StatusMessage instead. Error message describing
an error that occurred during the processing of the request
nullable: true
deprecated: true
StatusMessage:
type: string
description: Status message describing an error that occurred during the
processing of the request
nullable: true
additionalProperties: false
description: The response from a Resend request
Response:
type: object
properties:
Status:
type: integer
description: HttpStatus code for the response
format: int32
Message:
type: string
description: Deprecated, use StatusMessage instead. Error message describing
an error that occurred during the processing of the request
nullable: true
deprecated: true
StatusMessage:
type: string
description: Status message describing an error that occurred during the
processing of the request
nullable: true
additionalProperties: false
description: The minimal possible response for any request
SearchRecipient:
title: Recipient (Search)
type: object
properties:
Name:
type: string
description: The name of the recipient (either person or company)
nullable: true
Email:
type: string
description: The e-mail address of the recipient
nullable: true
Phone:
type: string
description: The phone number of the recipient
nullable: true
RefID:
type: string
description: The internal reference to an recipient in your own system
nullable: true
additionalProperties: false
description: An object containing information about a recipient
SearchRequest:
title: Search Request
type: object
properties:
OrderUID:
type: string
description: The unique identifier of the order
nullable: true
VoucherID:
type: integer
description: The unique identifier of the voucher (required to show code
in output)
format: int32
nullable: true
ProductToken:
type: string
description: The token that identifies the product to be sent out
nullable: true
RefID:
type: string
description: The internal reference to an order in your own system
nullable: true
SMSTemplateID:
type: integer
description: The unique identifier of the SMS template (Required if sending
via SMS)
format: int32
nullable: true
EmailTemplateID:
type: integer
description: The unique identifier of the e-mail template (Required if sending
via e-mail)
format: int32
nullable: true
DeliveryDatetime:
type: string
description: The future date for delivery to take place
format: date-time
nullable: true
RecipientName:
type: string
description: The name of the recipient (either person or company)
nullable: true
RecipientEmail:
type: string
description: The e-mail address of the recipient (Required if sending via
e-mail)
nullable: true
RecipientPhone:
type: string
description: The phone number of the recipient (Required if sending via
SMS)
nullable: true
RecipientRefID:
type: string
description: The internal reference to an recipient in your own system
nullable: true
additionalProperties: false
description: An object containing all the informations you can search for
SearchResponse:
title: Search Response
type: object
properties:
OrderUID:
type: string
description: The unique identifier of the matched order
nullable: true
RefID:
type: string
description: The internal reference to the corresponding order in your own
system
nullable: true
Vouchers:
type: array
items:
$ref: '#/components/schemas/SearchVoucher'
description: The list of the matching vouchers
nullable: true
Status:
type: integer
description: HttpStatus code for the response
format: int32
Message:
type: string
description: Deprecated, use StatusMessage instead. Error message describing
an error that occurred during the processing of the request
nullable: true
deprecated: true
StatusMessage:
type: string
description: Status message describing an error that occurred during the
processing of the request
nullable: true
additionalProperties: false
description: The response from a search
SearchVoucher:
title: Voucher (Search)
type: object
properties:
ID:
type: integer
description: The unique identifier of the voucher (required to show code
in output)
format: int32
nullable: true
Code:
type: string
description: The redeemable code of the voucher
nullable: true
CVV:
type: string
description: A value used to verify the authenticity of the voucher (if
applicable)
nullable: true
RedeemLink:
type: string
description: The URL to redeem the voucher
nullable: true
Expires:
type: string
description: The time and date for when the voucher expires
format: date-time
Recipient:
$ref: '#/components/schemas/SearchRecipient'
additionalProperties: false
description: An object containing information about a voucher
StockRequest:
title: Stock Request
required:
- ProductToken
type: object
properties:
ProductToken:
type: string
description: The unique token for the product you want to get stock information
for
Value:
type: integer
description: The value to check availability for. Defaults to the default
price for the product if value is null
format: int32
nullable: true
additionalProperties: false
description: An object containing the required input for the stock API
StockResponse:
title: Stock Response
type: object
properties:
Stock:
type: integer
description: The full count of giftcards found
format: int32
nullable: true
Status:
type: integer
description: HttpStatus code for the response
format: int32
Message:
type: string
description: Deprecated, use StatusMessage instead. Error message describing
an error that occurred during the processing of the request
nullable: true
deprecated: true
StatusMessage:
type: string
description: Status message describing an error that occurred during the
processing of the request
nullable: true
additionalProperties: false
description: The response containing stock information for a product
TemplateItem:
title: Template Item
type: object
properties:
Id:
type: integer
description: Unique template Id
format: int32
Name:
type: string
description: Template name
nullable: true
Type:
type: string
description: Template type name
nullable: true
Language:
type: string
description: Language IsoAlpha2 code
nullable: true
Sender:
type: string
description: Sender name
nullable: true
Subject:
type: string
description: Template subject
nullable: true
FormattedText:
type: string
description: Template text that include html elements
nullable: true
PlainText:
type: string
description: Template plain text
nullable: true
additionalProperties: false
description: An object containing information about template
TemplateResponse:
title: Template Response
type: object
properties:
Templates:
type: array
items:
$ref: '#/components/schemas/TemplateItem'
description: The list of templates
nullable: true
Status:
type: integer
description: HttpStatus code for the response
format: int32
Message:
type: string
description: Deprecated, use StatusMessage instead. Error message describing
an error that occurred during the processing of the request
nullable: true
deprecated: true
StatusMessage:
type: string
description: Status message describing an error that occurred during the
processing of the request
nullable: true
additionalProperties: false
description: The response containing available templates
securitySchemes:
ApiToken:
type: apiKey
description: The API-Token provided to you by Huuray.
name: X-API-TOKEN
in: header