Tango Card Orders API

Reward order creation and management

OpenAPI Specification

tango-card-orders-api-openapi.yml Raw ↑
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