Interswitch · Arazzo Workflow

Interswitch Issue And Activate Card

Version 1.0.0

Issue a new card to a customer, set its PIN, then read back the activated card.

1 workflow 2 source APIs 1 provider
View Spec View on GitHub PaymentsPayment InfrastructureCard NetworkVerveQuicktellerWebpayBills PaymentTransfersLendingFintechAfricaNigeriaArazzoWorkflows

Provider

interswitch

Workflows

issue-and-activate-card
Create a card, set its PIN, and confirm activation.
Issues a new card to a customer profile, sets the cardholder PIN, and reads back the card to confirm it is active.
3 steps inputs: accessToken, cardType, customerId, customerName, pinBlock, productCode outputs: cardId, cardStatus
1
createCard
Issue a new card to the customer profile.
2
setPin
Set the cardholder PIN on the newly issued card using the PIN block.
3
confirmCard
Read back the card to confirm its status after PIN set.

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Interswitch Issue And Activate Card
  summary: Issue a new card to a customer, set its PIN, then read back the activated card.
  description: >-
    Card issuance lifecycle on the Card 360 issuer-processor. The workflow
    creates a new Verve, debit, or prepaid card for a customer, sets the
    cardholder PIN using an ISO-9564 PIN block, and re-reads the card to confirm
    its status. The cardId from issuance is threaded into the PIN and read-back
    steps. All requests are Bearer-authenticated.
  version: 1.0.0
sourceDescriptions:
- name: cardsApi
  url: ../openapi/interswitch-cards-api-openapi.yml
  type: openapi
- name: pinApi
  url: ../openapi/interswitch-pin-api-openapi.yml
  type: openapi
workflows:
- workflowId: issue-and-activate-card
  summary: Create a card, set its PIN, and confirm activation.
  description: >-
    Issues a new card to a customer profile, sets the cardholder PIN, and reads
    back the card to confirm it is active.
  inputs:
    type: object
    required:
    - accessToken
    - customerId
    - cardType
    - productCode
    - pinBlock
    properties:
      accessToken:
        type: string
        description: Bearer access token from the Passport OAuth token endpoint.
      customerId:
        type: string
        description: Customer profile the card is issued to.
      cardType:
        type: string
        description: Card type to issue (debit, prepaid, or verve).
      productCode:
        type: string
        description: Card product code on the issuer.
      customerName:
        type: string
        description: Optional cardholder name to emboss.
      pinBlock:
        type: string
        description: ISO-9564 PIN block for the new card PIN.
  steps:
  - stepId: createCard
    description: Issue a new card to the customer profile.
    operationId: createCard
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    requestBody:
      contentType: application/json
      payload:
        customerId: $inputs.customerId
        cardType: $inputs.cardType
        productCode: $inputs.productCode
        customerName: $inputs.customerName
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      cardId: $response.body#/cardId
      cardPanMasked: $response.body#/cardPanMasked
      status: $response.body#/status
  - stepId: setPin
    description: Set the cardholder PIN on the newly issued card using the PIN block.
    operationId: setCardPin
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: cardId
      in: path
      value: $steps.createCard.outputs.cardId
    requestBody:
      contentType: application/json
      payload:
        pinBlock: $inputs.pinBlock
    successCriteria:
    - condition: $statusCode == 200
  - stepId: confirmCard
    description: Read back the card to confirm its status after PIN set.
    operationId: getCard
    parameters:
    - name: Authorization
      in: header
      value: Bearer $inputs.accessToken
    - name: cardId
      in: path
      value: $steps.createCard.outputs.cardId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
      cardScheme: $response.body#/cardScheme
      expiryMonth: $response.body#/expiryMonth
      expiryYear: $response.body#/expiryYear
  outputs:
    cardId: $steps.createCard.outputs.cardId
    cardStatus: $steps.confirmCard.outputs.status

Work with this as data

Every workflow here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for arazzo workflows

4 MCP tools reach this
  • find_arazzoBrowse and filter every workflow in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This workflow
curl "https://apis.io/api/v1/arazzo/interswitch-issue-and-activate-card-workflow"
All arazzo workflows
curl "https://apis.io/api/v1/arazzo?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.