{
  "opencollection": "1.0.0",
  "info": {
    "name": "MTN Merchant Provisioning API",
    "version": "v1.0"
  },
  "items": [
    {
      "info": {
        "name": "Validate Customer",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Validate the given Customer ID.",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/validate/:customerId",
            "headers": [
              {
                "name": "targetSystem",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "customerId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Used by the merchant to validate the Customer ID."
        }
      ]
    },
    {
      "info": {
        "name": "Purchase",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Used to purchase airtime/bundles.",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/purchase/:customerId",
            "headers": [
              {
                "name": "targetSystem",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "customerId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Used to purchase airtime/bundles. In addition an Auto Top Up (isAutoTopUp) field has been introduced for Bundle or Airtime Recharges. When isAutoTopUp=true, paymentId must be set."
        }
      ]
    },
    {
      "info": {
        "name": "Advice Reconcile",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Used to purchase airtime/bundles.",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/adviceReconcile/:merchantId",
            "headers": [
              {
                "name": "targetSystem",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "merchantId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Used to purchase airtime/bundles. In addition an Auto Top Up (isAutoTopUp) field has been introduced for Bundle or Airtime Recharges. When isAutoTopUp=true, paymentId must be set."
        }
      ]
    },
    {
      "info": {
        "name": "Usage Limit Adjust",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Used to Reserve, Commit or Abort merchant limit.",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "{{baseUrl}}/usageLimitAdjust/:merchantId",
            "headers": [
              {
                "name": "targetSystem",
                "value": ""
              }
            ],
            "params": [
              {
                "name": "merchantId",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "This implementation has been done for the auto top up service where a Merchant's Limit can be reserved (Holds the Limit), Committed (Committed as Success) and Aborted (Limit Rolled Back). If we don't receive a commit or abort within a transaction keep alive period, the request will be aborted which will result in the external party needing to repeat the reserve."
        }
      ]
    }
  ],
  "bundled": true
}