{
  "swagger": "2.0",
  "info": {
    "version": "1.0",
    "description": "<h3>Refund API Documentation </h3> <b>Published Date:</b> 13-JUL-2021 <b>Author: </b> Ayan Dutta, Yashar Rahvar and Aravindan Ranjan<b> Requirement:</b> New API added for Refund status update <b>Version History:</b> Refund status update API is added",
    "title": "Refund Status Update"
  },
  "host": "core-api-mgmt-demo.azure-api.net",
  "basePath": "/",
  "schemes": [
    "https"
  ],
  "securityDefinitions": {
    "apiKeyHeader": {
      "type": "apiKey",
      "name": "Ocp-Apim-Subscription-Key",
      "in": "header"
    },
    "apiKeyQuery": {
      "type": "apiKey",
      "name": "subscription-key",
      "in": "query"
    }
  },
  "security": [
    {
      "apiKeyHeader": []
    },
    {
      "apiKeyQuery": []
    }
  ],
  "paths": {
    "/refund/{reference}": {
      "patch": {
        "tags": [
          "Refund Status Update"
        ],
        "summary": "Update refund status for payments",
        "description": "To get refund status",
        "operationId": "GetRefundStatus",
        "consumes": [
          "application/json"
        ],
        "produces": [
          "*/*"
        ],
        "parameters": [
                    {
            "in": "path",
            "type": "string",
            "name": "reference",
            "description": "reference",
            "required": true
          },
          {
            "in": "body",
            "name": "refundRequest",
            "description": "refundRequest",
            "required": true,
            "schema": {
              "$ref": "#/definitions/refundRequest"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Refund status updated successfully."
          },
          "400": {
            "description": "Bad request. Refund status should be ACCEPTED or REJECTED/Refund rejection reason is missing"
          },
          "401": {
            "description": "Access denied due to invalid subscription key. Make sure to provide a valid key for an active subscription."
          },
          "403": {
            "description": "Invalid client certificate"
          },
          "404": {
            "description": "Refund reference not found"
          },
          "500": {
            "description": "Unexpected or Run time exception."
          }
        }
      }
    }
  },
  "definitions": {
    "refundRequest": {
      "type": "object",
      "required": [
        "reason",
        "status"
      ],
      "properties": {
        "reason": {
          "type": "string",
          "description": "rejection reason",
          "example": "abc"
        },
        "status": {
          "type": "string",
          "description": "refund status",
          "example": "REJECTED",
          "enum": [
            "ACCEPTED",
            "REJECTED"
          ]
        }
      },
      "title": "refundRequest"
    }
  }
}
