Overview

Acropolis, a gen-next card payment issuing platform from Zeta that provides secure and easy to use APIs to manage complete card and card transactions. The platform provides best-in-class integration points to plug an external accounting system and also offers comprehensive support for authorization, clearing, settlement and reconciliation. As an issuer, you take an advantage of Acropolis capabilities to generate key reports such as settled, reversed, failed, aged, disputed and various others in most of the real-time scenarios.


openapi: 3.0.0
info:
  description: Learn about Zeta Acropolis APIs in an interactive Zeta API console. To get started, contact Zeta to register and get access to the Zeta API endpoints.
  version: 1.0.0
  title: RESTful API Endpoints
  termsOfService: ''
  contact:
    email: 
  
    name: 
    url: 
host: acropolis.gw.zetapay.in
basePath: /v1
tags:
  - name: cards-operations
    description: Find out more about card operations
  - name: cards-list
    description: Get card details by pre-defined filters
  - name: cards-order
    description: Everything about placing card orders
schemes:
  - https
paths:
  '/tenants/{tenant}/cards/orders':
    post:
      tags:
        - cards-order
      parameters:
        - name: tenant
          in: path
          description: Tenant Identifier
          required: true
          schema:
            type: string
      description: This operation enables you to place a new card order.
      operationId: createOrder
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/definitions/OrderRequest'
      responses:
        '201':
          description: Order placed
          content:
            application/json:
              schema:
                $ref: '#/definitions/Order'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/definitions/BadRequest'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/definitions/Unauthorized'
        '409':
          description: Already exists
          content:
            application/json:
              schema:
                $ref: '#/definitions/AlreadyExists'
  '/tenants/{tenant}/cards/orders/{orderID}':
    get:
      tags:
        - cards-order
      description: This operation enables you to retrieve the order details.
      parameters:
        - name: tenant
          in: path
          description: Tenant Identifier
          required: true
          schema:
            type: string
        - name: orderID
          in: path
          description: order ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns order details
          content:
            application/json:
              schema:
                $ref: '#/definitions/Order'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/definitions/Unauthorized'
        '404':
          description: Order does not exist
          content:
            application/json:
              schema:
                $ref: '#/definitions/NotFound'
  '/tenants/{tenant}/cards/orders/{orderID}/cancel':
    post:
      tags:
        - cards-order
      description: This operation enables you to cancel an order.
      parameters:
        - name: tenant
          in: path
          description: Tenant Identifier
          required: true
          schema:
            type: string
        - name: orderID
          in: path
          description: order ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Returns order details
          content:
            application/json:
              schema:
                $ref: '#/definitions/Order'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/definitions/Unauthorized'
        '404':
          description: Order does not exist
          content:
            application/json:
              schema:
                $ref: '#/definitions/NotFound'
        '409':
          description: Cannot cancel as order has already been processed
          content:
            application/json:
              schema:
                $ref: '#/definitions/OperationNotPermitted'
  '/tenants/{tenant}/cards/create':
    post:
      tags:
        - cards-operations
      description: >-
        This operation enables you to provision a new card and associate it with a given account and
        account holder.
      operationId: orderAndAssociate
      parameters:
        - name: tenant
          in: path
          description: Tenant Identifier
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/definitions/OrderAndAssociateRequest'
      responses:
        '223':
          description: |-
            Successful operation.
            This is the response when the view selected is BASIC
          content:
            application/json:
              schema:
                $ref: '#/definitions/basicCardView'
        '233':
          description: >-
            Successful operation.

            This is the response when the view selected is EXPANDED Detailed
            View.
          content:
            application/json:
              schema:
                $ref: '#/definitions/expandedCardView'
        '244':
          description: |-
            - Successful operation. 
             - This is the response when the view selected is EXPANDED_SENSITIVE. 
          content:
            application/json:
              schema:
                $ref: '#/definitions/expandedSensitiveView'
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/definitions/BadRequest'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/definitions/Unauthorized'
        '409':
          description: Order already exists
          content:
            application/json:
              schema:
                $ref: '#/definitions/AlreadyExists'
        '500':
          description: Unexpected error occoured.Please try agian after sometime.
          content:
            application/json:
              schema:
                $ref: '#/definitions/errorCode'
  '/tenants/{tenant}/cards/{cardID}/associate':
    post:
      tags:
        - cards-operations
      description: This operation enables you to associate a card with a given account and
        account holder.
      operationId: associateCardsByIdentifier
      parameters:
        - name: tenant
          in: path
          description: Tenant Identifier
          required: true
          schema:
            type: string
        - name: cardID
          in: path
          description: Card identifier
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/definitions/associateCardByIdentifierRequest'
      responses:
        '223':
          description: |-
            Successful operation.
            This is the response when the view selected is BASIC
          content:
            application/json:
              schema:
                $ref: '#/definitions/basicCardView'
        '233':
          description: >-
            Successful operation.

            This is the response when the view selected is EXPANDED Detailed
            View.
          content:
            application/json:
              schema:
                $ref: '#/definitions/expandedCardView'
        '244':
          description: |-
            - Successful operation. 
             - This is the response when the view selected is EXPANDED_SENSITIVE. 
          content:
            application/json:
              schema:
                $ref: '#/definitions/expandedSensitiveView'
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/definitions/BadRequest'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/definitions/Unauthorized'
        '403':
          description: Operation not permitted.
          content:
            application/json:
              schema:
                $ref: '#/definitions/OperationNotPermitted'
        '500':
          description: Unexpected Error occoured.Please try agian after some time.
          content:
            application/json:
              schema:
                $ref: '#/definitions/errorCode'
  '/tenants/{tenant}/cards/list':
    post:
      tags:
        - cards-list
      description: |2-
        This operation enables you to pass one or multiple filters to fetch card details. Supported view types are
            -  BASIC
            -  EXPANDED
            -  EXPANDED_SENSITIVE
        Note - 
      operationId: listCards
      parameters:
        - name: tenant
          in: path
          description: Tenant Identifier
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/definitions/listCardsRequest'
      responses:
        '200':
          description: |-
            Successful operation.
            This is the response when the view selected is BASIC
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/definitions/basicCardView'
        '233':
          description: >-
            Successful operation.

            This is the response when the view selected is EXPANDED Detailed
            View.
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/definitions/expandedCardView'
        '244':
          description: |-
            - Successful operation. 
             - This is the response when the view selected is EXPANDED_SENSITIVE. 
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/definitions/expandedSensitiveView'
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/definitions/BadRequest'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/definitions/Unauthorized'
        '500':
          description: Unexpected Error occoured.Please try agian after some time.
          content:
            application/json:
              schema:
                $ref: '#/definitions/errorCode'
  '/tenants/{tenant}/cards/{cardID}/update':
    post:
      tags:
        - cards-operations
      description: This operation enables you to update card details such as account or account holder details.
      operationId: updateCardByIdentifier
      parameters:
        - name: tenant
          in: path
          description: Tenant Identifier
          required: true
          schema:
            type: string
        - name: cardID
          in: path
          description: Card identifier
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/definitions/updateCardByIdentifierRequest'
      responses:
        '223':
          description: |-
            Successful operation.
            This is the response when the view selected is BASIC
          content:
            application/json:
              schema:
                $ref: '#/definitions/basicCardView'
        '233':
          description: >-
            Successful operation.

            This is the response when the view selected is EXPANDED Detailed
            View.
          content:
            application/json:
              schema:
                $ref: '#/definitions/expandedCardView'
        '244':
          description: |-
            - Successful operation. 
             - This is the response when the view selected is EXPANDED_SENSITIVE. 
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/definitions/expandedSensitiveView'
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                $ref: '#/definitions/BadRequest'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/definitions/Unauthorized'
        '500':
          description: Unexpected Error occoured.Please try agian after some time.
          content:
            application/json:
              schema:
                $ref: '#/definitions/errorCode'
  '/tenants/{tenant}/cards/{cardID}/changePin':
    post:
      tags:
        - cards-operations
      description: >-
        This operation enables you to change card pin by using card identifying vectors such as
        cardID, crn, full card and so on. 
      operationId: changePinByIdentifier
      parameters:
        - name: tenant
          in: path
          description: Tenant Identifier
          required: true
          schema:
            type: string
        - name: cardID
          in: path
          description: Card identifier
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/definitions/changePinByIdentifierRequest'
      responses:
        '204':
          description: New Pin set successfully.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/definitions/BadRequest'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/definitions/Unauthorized'
        '403':
          description: Operation not permitted
          content:
            application/json:
              schema:
                $ref: '#/definitions/OperationNotPermitted'
        '500':
          description: Unexpected Error occoured.Please try agian after some time.
          content:
            application/json:
              schema:
                $ref: '#/definitions/errorCode'
  '/tenants/{tenant}/cards/{cardID}/setPin':
    post:
      tags:
        - cards-operations
      description: >-
        This operation enables you to set card pin by using card identifying vectors such as
        cardID, crn, full card and so on. Note that the old pin is not required to set up a new pin.
      operationId: setPinByIdentifier
      parameters:
        - name: tenant
          in: path
          description: Tenant Identifier
          required: true
          schema:
            type: string
        - name: cardID
          in: path
          description: Card identifier
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/definitions/setPinByIdentifierRequest'
      responses:
        '204':
          description: New Pin set successfully.
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/definitions/BadRequest'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/definitions/Unauthorized'
        '403':
          description: Operation not permitted
          content:
            application/json:
              schema:
                $ref: '#/definitions/OperationNotPermitted'
        '500':
          description: Unexpected Error occoured.Please try agian after some time.
          content:
            application/json:
              schema:
                $ref: '#/definitions/errorCode'
definitions:
  cardView:
    type: string
    description: The view to be fetched
    enum:
      - BASIC
      - EXPANDED
      - EXPANDED_SENSITIVE
  cardVector:
    type: object
    properties:
      type:
        type: string
        enum:
          - CARD
          - CRN
          - CARD_ID
      value:
        type: object
        properties:
          pan:
            type: string
          cvv:
            type: string
          expiry:
            $ref: '#/definitions/yearMonth'
          cardID:
            type: string
    example:
      type: CARD
      value:
        pan: '1234567890123456'
        expiry:
          month: 2
          year: 2020
        cvv: '123'
  yearMonth:
    type: object
    properties:
      month:
        type: 'number,'
        example: 2
      year:
        type: 'number,'
        example: 2020
  orderStatus:
    type: string
    enum:
      - ORDER_PLACED
      - ORDER_FAILED
      - ORDER_CANCELLED
      - CARD_REQUEST_GENERATED
      - EMBOSSING_FILE_GENERATED
      - ORDER_COMPLETED
  cardStatus:
    type: string
    enum:
      - ACTIVE
      - INACTIVE
      - DISABLED
      - BLOCKED
      - HOTLISTED
  errorCode:
    type: object
    required:
      - code
      - message
    properties:
      code:
        type: number
      message:
        type: string
    example:
      code: INTERNAL_SERVER_ERROR
      message: Unexpected error
  dummy:
    type: object
  basicCardView:
    type: object
    properties:
      account:
        $ref: '#/definitions/account'
      accountHolder:
        $ref: '#/definitions/accountHolder'
      cardID:
        type: string
        description: Card Identifier
      crn:
        type: string
        description: Card Reference Number
      cardType:
        type: string
        enum:
          - PHYSICAL
          - VIRTUAL
      maskedPan:
        type: string
      cardStatus:
        $ref: '#/definitions/cardStatus'
  expandedCardView:
    allOf:
      - $ref: '#/definitions/basicCardView'
      - type: object
        properties:
          associatedAt:
            type: string
            format: date-time
            description: date in UTC when request was activated.
          orderDetails:
            type: object
            properties:
              orderID:
                type: string
              cardSkuID:
                type: string
              plasticCode:
                type: string
              thirdLineEmbossing:
                type: string
              fourthLineEmbossing:
                type: string
              expiry:
                $ref: '#/definitions/yearMonth'
              deliveryAddress:
                type: object
                properties:
                  name:
                    type: string
                  addressLine1:
                    type: string
                  addressLine2:
                    type: string
                  addressLine3:
                    type: string
                  addressLine4:
                    type: string
                  city:
                    type: string
                  state:
                    type: string
                  country:
                    type: string
                  postalCode:
                    type: string
                  contactNumber:
                    type: string
              tenantAttrributes:
                type: object
                properties:
                  corporateName:
                    type: string
                  corporateID:
                    type: string
                  templateID:
                    type: string
              vendorAttributes:
                type: object
                properties:
                  consignmentID:
                    type: string
              orderStatus:
                $ref: '#/definitions/orderStatus'
              embossedAt:
                type: string
                format: date-time
                description: date in UTC when card was Created/Embossed.
              orderedAt:
                type: string
                format: date-time
                description: date in UTC when card was requested/Order placed.
  vendorDetails:
    type: object
    properties:
      vendorName:
        type: string
        enum:
          - DZ
          - SESHAASAI
          - FAO
          - NA
          - DEFAULT
  accountInformation:
    type: object
    required:
      - accountId
    properties:
      accountHolderID:
        type: string
      accountID:
        type: string
      accountAttributes:
        type: object
        properties:
          - target: null
            type: string
            enum:
              - WALLET
              - ACCOUNT
  account:
    type: object
    required:
      - id
      - target
    description: Account Details
    properties:
      id:
        type: string
        description: Account identifier
      attributes:
        description: Additional account specific attributes
        type: object
        properties:
          target:
            type: string
            enum:
              - WALLET
              - ACCOUNT
  accountHolder:
    type: object
    required:
      - id
    description: Account Holder Details
    properties:
      id:
        type: string
        description: Account Holder identifier
      attributes:
        type: object
  activateByCRNRequest:
    type: object
    required:
      - account
      - accountHolder
      - crn
      - nonce
    properties:
      account:
        $ref: '#/definitions/account'
      accountHolder:
        $ref: '#/definitions/accountHolder'
      cardStatus:
        type: string
        enum:
          - INACTIVE
          - ACTIVE
          - DISABLED
          - BLOCKED
          - HOTLISTED
        description: Current card status
      view:
        type: string
        description: The view to be fetched
        enum:
          - EMBOSSED_BASIC
          - CARD_ID
          - EMBOSSED_ENHANCED
          - CARD_ENHANCED_SENSITIVE
      nonce:
        type: string
        format: number
        example: '1537788874000'
        description: current epoch time in milis.
  expandedSensitiveView:
    type: object
    allOf:
      - $ref: '#/definitions/expandedCardView'
      - type: object
        properties:
          sensitiveCard:
            type: object
            required:
              - payload
              - serverPublicKey
            properties:
              type:
                type: string
                enum:
                  - ENCRYPTED
              value:
                type: object
                properties:
                  serverPublicKey:
                    type: string
                  encryptedData:
                    type: string
  associateCardRequest:
    type: object
    required:
      - account
      - accountHolder
      - cardVector
      - nonce
    properties:
      account:
        $ref: '#/definitions/account'
      accountHolder:
        $ref: '#/definitions/accountHolder'
      cardVector:
        $ref: '#/definitions/cardVector'
      cardStatus:
        $ref: '#/definitions/cardStatus'
      view:
        $ref: '#/definitions/cardView'
      nonce:
        type: string
        format: number
        example: '1537788874000'
        description: current epoch time in milis.
      clientPublicKey:
        type: string
    example:
      account:
        id: string
        attributes:
          target: WALLET
      accountHolder:
        id: string
        attributes: {}
      cardVector:
        type: CARD_ID
        value:
          cardID: Random GUID
      cardStatus: ACTIVE
      view: BASIC
      nonce: '1537788874000'
      clientPublicKey: string
  associateCardByIdentifierRequest:
    type: object
    required:
      - account
      - accountHolder
      - cardVector
      - nonce
    properties:
      account:
        $ref: '#/definitions/account'
      accountHolder:
        $ref: '#/definitions/accountHolder'
      cardStatus:
        $ref: '#/definitions/cardStatus'
      view:
        $ref: '#/definitions/cardView'
      nonce:
        type: string
        format: number
        example: '1537788874000'
        description: current epoch time in milis.
      clientPublicKey:
        type: string
    example:
      account:
        id: string
        attributes:
          target: WALLET
      accountHolder:
        id: string
        attributes: {}
      cardStatus: ACTIVE
      view: BASIC
      nonce: '1537788874000'
      clientPublicKey: string
  updateCardsRequest:
    type: object
    required:
      - cardVector
      - nonce
      - view
    properties:
      account:
        $ref: '#/definitions/account'
      accountHolder:
        $ref: '#/definitions/accountHolder'
      cardVector:
        $ref: '#/definitions/cardVector'
      cardStatus:
        $ref: '#/definitions/cardStatus'
      view:
        $ref: '#/definitions/cardView'
      nonce:
        type: string
        format: number
        example: '1537788874000'
        description: current epoch time in milis.
      clientPublicKey:
        type: string
    example:
      account:
        id: 1234566
        attributes:
          accountNo: 1234567890
      accountHolder:
        id: xyz@test.com
        attributes:
          name: xyz
      cardVector:
        type: CARD_ID
        value:
          cardID: random_guid
      cardStatus: DISABLED
      view: BASIC
      nonce: '1537788874000'
  updateCardByIdentifierRequest:
    type: object
    required:
      - cardVector
      - nonce
      - view
    properties:
      account:
        $ref: '#/definitions/account'
      accountHolder:
        $ref: '#/definitions/accountHolder'
      cardStatus:
        $ref: '#/definitions/cardStatus'
      view:
        $ref: '#/definitions/cardView'
      nonce:
        type: string
        format: number
        example: '1537788874000'
        description: current epoch time in milis.
      clientPublicKey:
        type: string
    example:
      account:
        id: 1234566
        attributes:
          accountNo: 1234567890
      accountHolder:
        id: xyz@test.com
        attributes:
          name: xyz
      cardStatus: DISABLED
      view: BASIC
      nonce: '1537788874000'
  embossAndAssociateOrderRequest:
    type: object
    required:
      - quantitiy
      - orderID
      - cardSkuID
    properties:
      orderID:
        required: true
        type: string
      cardSkuID:
        type: string
      plasticCode:
        type: string
      expiry:
        $ref: '#/definitions/yearMonth'
      thirdLineEmbossing:
        type: string
      fourthLineEmbossing:
        type: string
      deliveryAddress:
        type: object
        properties:
          name:
            type: string
          addressLine1:
            type: string
          addressLine2:
            type: string
          addressLine3:
            type: string
          addressLine4:
            type: string
          city:
            type: string
          state:
            type: string
          country:
            type: string
          postalCode:
            type: string
          contactNumber:
            type: string
      tenantAttrributes:
        type: object
        properties:
          corporateName:
            type: string
          corporateID:
            type: string
          templateID:
            type: string
      vendorAttributes:
        description: Free flowing attributes for vendor
        type: object
        properties:
          consignmentID:
            type: string
  OrderAndAssociateRequest:
    type: object
    required:
      - account
      - accountHolder
      - order
      - nonce
    properties:
      account:
        $ref: '#/definitions/account'
      accountHolder:
        $ref: '#/definitions/accountHolder'
      order:
        $ref: '#/definitions/embossAndAssociateOrderRequest'
      view:
        $ref: '#/definitions/cardView'
      cardStatus:
        $ref: '#/definitions/cardStatus'
      clientPublicKey:
        type: string
      nonce:
        type: string
        format: number
        example: '1537788874000'
        description: current epoch time in milis.
  listCardsRequest:
    type: object
    required:
      - nonce
      - filters
    properties:
      view:
        $ref: '#/definitions/cardView'
      filters:
        type: object
        allOf:
          - type: object
            properties:
              cardID:
                type: string
              pan:
                type: string
              crn:
                type: string
              orderID:
                type: string
              account:
                $ref: '#/definitions/account'
              accountHolder:
                $ref: '#/definitions/accountHolder'
      clientPublicKey:
        type: string
      nonce:
        type: string
        format: number
        example: '1537788874000'
        description: current epoch time in milis.
    example:
      view: BASIC
      filters:
        cardID: guid
        crn: '123456789012'
        orderID: string
        account:
          id: string
          attributes:
            target: WALLET
        accountHolder:
          id: string
          attributes: {}
      nonce: '1537788874000'
  changePinRequest:
    type: object
    required:
      - cardVector
      - newPin
      - oldPin
      - nonce
    properties:
      cardVector:
        $ref: '#/definitions/cardVector'
      oldPin:
        type: string
      newPin:
        type: string
      nonce:
        type: string
        format: number
        example: '1537788874000'
        description: current epoch time in milis.
    example:
      cardVector:
        type: CARD_ID
        value:
          cardID: random guid
      oldPin: '1234'
      newPin: '1111'
      nonce: '1537788874000'
  changePinByIdentifierRequest:
    type: object
    required:
      - newPin
      - oldPin
      - nonce
    properties:
      oldPin:
        type: string
      newPin:
        type: string
      nonce:
        type: string
        format: number
        example: '1537788874000'
        description: current epoch time in milis.
    example:
      oldPin: '1234'
      newPin: '1111'
      nonce: '1537788874000'
  setPinRequest:
    type: object
    required:
      - cardVector
      - newPin
      - nonce
    properties:
      cardVector:
        $ref: '#/definitions/cardVector'
      newPin:
        type: string
      nonce:
        type: string
        format: number
        example: '1537788874000'
        description: current epoch time in milis.
    example:
      cardVector:
        type: CARD
        value:
          pan: '1234567890123456'
          cvv: '123'
          expiry:
            month: 2
            year: 2020
      newPin: '1111'
      nonce: '1537788874000'
  setPinByIdentifierRequest:
    type: object
    required:
      - newPin
      - nonce
    properties:
      newPin:
        type: string
      nonce:
        type: string
        format: number
        example: '1537788874000'
        description: current epoch time in milis.
    example:
      newPin: '1111'
      nonce: '1537788874000'
  sensitiveCard:
    type: object
    properties:
      pan:
        type: string
      cvv:
        type: string
      expiry:
        type: string
  OrderRequest:
    type: object
    required:
      - quantity
      - orderID
      - cardSkuID
      - plasticCode
      - deliveryAddress
      - tenantAttributes
      - vendorAttributes
    properties:
      quantity:
        type: number
        format: int32
        description: Number of cards to be generated
      orderID:
        type: string
        description: Order identifier
      cardSkuID:
        type: string
        description: Identifier of Card SKU which represent product configuration
      plasticCode:
        type: string
        description: Card design code
      expiry:
        $ref: '#/definitions/yearMonth'
      thirdLineEmbossing:
        type: string
      fourthLineEmbossing:
        type: string
      deliveryAddress:
        type: object
        description: Address of the consignment recipient
        properties:
          name:
            type: string
          addressLine1:
            type: string
          addressLine2:
            type: string
          addressLine3:
            type: string
          addressLine4:
            type: string
          city:
            type: string
          state:
            type: string
          country:
            type: string
          postalCode:
            type: string
          contactNumber:
            type: string
      tenantAttributes:
        description: Attributes added by tenant for tagging
        type: object
        properties:
          corporateName:
            type: string
          corporateID:
            type: string
          templateID:
            type: string
      vendorAttributes:
        description: Free flowing attributes for vendor
        type: object
        properties:
          consignmentID:
            type: string
  Order:
    type: object
    properties:
      quantity:
        type: number
        format: int32
        description: Number of cards to be generated
      orderID:
        type: string
        description: Order identifier
      cardSkuID:
        type: string
        description: Identifier of Card SKU which represent product configuration
      plasticCode:
        type: string
        description: Card design code
      thirdLineEmbossing:
        type: string
      fourthLineEmbossing:
        type: string
      expiry:
        $ref: '#/definitions/yearMonth'
      deliveryAddress:
        type: object
        description: Address of the consignment recipient
        properties:
          name:
            type: string
          addressLine1:
            type: string
          addressLine2:
            type: string
          addressLine3:
            type: string
          addressLine4:
            type: string
          city:
            type: string
          state:
            type: string
          country:
            type: string
          postalCode:
            type: string
          contactNumber:
            type: string
      tenantAttributes:
        type: object
        description: Attributes added by tenant for tagging
        properties:
          corporateName:
            type: string
          corporateID:
            type: string
          templateID:
            type: string
      vendorAttributes:
        type: object
        description: Free flowing attributes for vendor
        properties:
          consignmentID:
            type: string
      orderStatus:
        $ref: '#/definitions/orderStatus'
      orderedAt:
        type: string
        format: date-time
        description: date in UTC when card was requested/Order placed.
  ErrorResponse:
    type: object
    properties:
      code:
        type: string
      message:
        type: string
  BadRequest:
    type: object
    properties:
      message:
        type: string
        example: Bad Request
      code:
        type: string
        example: BAD_REQUEST
  Unauthorized:
    type: object
    properties:
      code:
        type: string
        example: UNAUTHORIZED
      message:
        type: string
        example: Unauthorized
  AlreadyExists:
    type: object
    properties:
      code:
        type: string
        example: ALREADY_EXISTS
      message:
        type: string
        example: Already exists
  NotFound:
    type: object
    properties:
      code:
        type: string
        example: NOT_FOUND
      message:
        type: string
        example: Not found
  OperationNotPermitted:
    type: object
    properties:
      code:
        type: string
        example: OPERATION_NOT_PERMITTED
      message:
        type: string
        example: Operation not permitted at current state
  AuthHeaderSignature:
    name: X-Zeta-Signature
    in: header
    schema:
      type: string
    description: Signature
  AuthHeaderSignatory:
    name: X-Zeta-Signatory
    in: header
    schema:
      type: string
    description: Authorized Entity
  AuthHeaderNonce:
    name: X-Zeta-Nonce
    in: header
    description: Timestamp of Request
    schema:
      type: number
      format: int64
externalDocs:
  description: Request for Developer Access
  url: 'https://docs.google.com/forms/d/e/1FAIpQLSeZPc4Povr-2CPJH99vTa0TG3_aoiAqzwiwmCaboVhx1UOpJw/viewform'