OpenAPI Specification
openapi: 3.1.0
info:
title: Tango RaaS Accounts Orders API
description: 'The Tango Rewards as a Service (RaaS) REST API enables businesses to programmatically send gift cards, manage reward orders, fund accounts, access the global reward catalog, configure webhooks, and track delivery status for digital rewards and incentive programs.
'
version: v2
contact:
name: Tango Card Developer Support
email: devsupport@tangocard.com
url: https://developers.tangocard.com/
license:
name: Proprietary
url: https://www.tangocard.com/terms-of-service/
servers:
- url: https://api.tangocard.com/raas/v2
description: Production
- url: https://integration-api.tangocard.com/raas/v2
description: Sandbox / Integration
security:
- basicAuth: []
tags:
- name: Orders
description: Reward order creation and management
paths:
/orders:
get:
operationId: listOrders
summary: List orders
description: Retrieve a list of reward orders.
tags:
- Orders
parameters:
- name: accountIdentifier
in: query
schema:
type: string
description: Filter by account identifier
- name: startDate
in: query
schema:
type: string
format: date-time
description: Filter orders created after this date
- name: endDate
in: query
schema:
type: string
format: date-time
description: Filter orders created before this date
- name: elementsPerBlock
in: query
schema:
type: integer
description: Number of results per page
- name: page
in: query
schema:
type: integer
description: Page number for pagination
responses:
'200':
description: Successful response
content:
application/json:
schema:
type: object
properties:
orders:
type: array
items:
$ref: '#/components/schemas/Order'
totalCount:
type: integer
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createOrder
summary: Create an order
description: Place a new reward order to send a gift card or incentive.
tags:
- Orders
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OrderCreate'
responses:
'201':
description: Order created
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
/orders/{referenceOrderID}:
get:
operationId: getOrder
summary: Get an order
description: Retrieve a specific order by reference order ID.
tags:
- Orders
parameters:
- name: referenceOrderID
in: path
required: true
schema:
type: string
responses:
'200':
description: Successful response
content:
application/json:
schema:
$ref: '#/components/schemas/Order'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/orders/{referenceOrderID}/resends:
post:
operationId: resendOrder
summary: Resend an order
description: Resend the reward delivery for a specific order.
tags:
- Orders
parameters:
- name: referenceOrderID
in: path
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
email:
type: string
format: email
description: Override email address for resend
responses:
'200':
description: Order resent
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
LineItem:
type: object
description: Represents a line item within an order
properties:
referenceLineItemId:
type: string
description: Unique reference identifier for the line item
referenceOrderID:
type: string
description: Parent order reference identifier
status:
type: string
enum:
- PENDING
- FULFILLED
- CANCELLED
- FROZEN
- FAILED
description: Current status of the line item
amount:
type: number
format: double
description: Line item amount
currencyCode:
type: string
description: ISO 4217 currency code
utid:
type: string
description: Universal Token ID of the reward item
createdAt:
type: string
format: date-time
RecipientInfo:
type: object
properties:
firstName:
type: string
description: Recipient first name
lastName:
type: string
description: Recipient last name
email:
type: string
format: email
description: Recipient email address
Error:
type: object
description: API error response
properties:
timestamp:
type: string
format: date-time
status:
type: integer
description: HTTP status code
error:
type: string
description: Short error description
message:
type: string
description: Detailed error message
path:
type: string
description: Request path that caused the error
OrderCreate:
type: object
required:
- customerIdentifier
- accountIdentifier
- amount
- utid
properties:
customerIdentifier:
type: string
description: Customer placing the order
accountIdentifier:
type: string
description: Account to charge for the order
amount:
type: number
format: double
description: Reward amount
currencyCode:
type: string
description: ISO 4217 currency code (default USD)
utid:
type: string
description: Universal Token ID of the reward item
recipientInfo:
$ref: '#/components/schemas/RecipientInfo'
sendEmail:
type: boolean
description: Whether to send the reward via email
notes:
type: string
description: Internal notes for the order
externalRefID:
type: string
description: External reference identifier
Order:
type: object
description: Represents a reward order
properties:
referenceOrderID:
type: string
description: Unique reference identifier for the order
orderStatus:
type: string
enum:
- PENDING
- FULFILLED
- FAILED
- CANCELLED
description: Current status of the order
customerIdentifier:
type: string
description: Customer who placed the order
accountIdentifier:
type: string
description: Account charged for the order
amount:
type: number
format: double
description: Total order amount
currencyCode:
type: string
description: ISO 4217 currency code
utid:
type: string
description: Universal Token ID for the reward item
createdAt:
type: string
format: date-time
description: Timestamp when the order was created
lineItems:
type: array
items:
$ref: '#/components/schemas/LineItem'
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: Authentication credentials missing or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
BadRequest:
description: Invalid request parameters
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
TooManyRequests:
description: Rate limit exceeded
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic Auth using platform name and API key
oAuth2:
type: oauth2
description: OAuth 2.0 client credentials flow for more secure integrations
flows:
clientCredentials:
tokenUrl: https://auth.tangocard.com/oauth/token
scopes: {}
externalDocs:
description: Tango Developer Portal
url: https://developers.tangocard.com/docs/api-endpoint-overview