Unknown macro: {hivestonebreadcrumb}
Page tree
Skip to end of metadata
Go to start of metadata

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'




  • No labels