{
  "openapi" : "3.0.2",
  "info" : {
    "title" : "Stamp Duty Application API",
    "description" : "Stamp duty is payable to the government on the purchase, sale, or renting of any immovable asset. E-stamping application is a secured way of paying non-judicial stamp duty.\n            \n`The API supports following functionalities:`\n* Submission of Stamp Duty Calculation\n* Submission of Stamp Duty Application\n* Read Certificate Status\n* Update Exisitng Application to Re-issue New Certificate\n\n`Error Responses`\n\nThe API uses common HTTP status codes in the response header to indicate success or failure. Specific error code and description will be returned in the custom error schema.\n\n`Query Parameters`\n\nEach URL query parameter specifies an API query parameter that must be URL encoded.\n",
    "contact" : {
      "name" : "Developer Hub",
      "url" : "https://developer.swift.com",
      "email" : "developer-support@swift.com"
    },
    "license" : {
      "name" : "Community API Redistribution License",
      "url" : "https://www.swift.com/swift-resource/251146/download"
    },
    "version" : "1.1.0"
  },
  "servers" : [ {
    "description" : "URL for Sandbox Environment.",
    "url" : "https://sandbox.swift.com/swift-stamp-duty/v1"
  }, {
    "description" : "URL for Pilot.",
    "url" : "https://api-test.swiftnet.sipn.swift.com/swift-stamp-duty/v1"
  }, {
    "description" : "URL for Live.",
    "url" : "https://api.swiftnet.sipn.swift.com/swift-stamp-duty/v1"
  } ],
  "security" : [ {
    "oauthBearerToken" : [ ]
  }, {
    "oAuth2" : [ ]
  } ],
  "tags" : [ {
    "name" : "Stamp Duty Calculation",
    "description" : "Handles the submission of a Stamp Duty Calculation to get the stamp duty payable for a trade instrument"
  }, {
    "name" : "Stamp Duty Application",
    "description" : "Handles the submission of a Stamp Duty Application to e-stamping."
  } ],
  "paths" : {
    "/stamp-duty-calculation" : {
      "post" : {
        "tags" : [ "Stamp Duty Calculation" ],
        "summary" : "Create Stamp Duty Calculation.",
        "description" : "Request a stamp duty computation that may be payable for a Trade Instrument.\n\n**Specifying Request Filter**\n\nParameters are specified in the form name=value. A parameter list is appended to a URI after a \"?\". Multiple parameters are separated by \"&\".\n\n`Note that in this example, the query parameters are not URL encoded for readability.`\n\n\n**Use of logical operator AND (undertaking-identification and undertaking-amount)**\n\n https://api.swiftnet.sipn.swift.com/swift-stamp-duty/v1/stamp-duty-calculation?undertaking-identification=BGREQ30122022-01&undertaking-amount=10000.00\n",
        "operationId" : "createStampDutyCalculation",
        "parameters" : [ {
          "$ref" : "#/components/parameters/X-Request-ID"
        }, {
          "$ref" : "#/components/parameters/X-BIC"
        } ],
        "requestBody" : {
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/StampDutyCalculation"
              },
              "examples" : {
                "CreateStampDutyApplicationEx-1" : {
                  "$ref" : "#/components/examples/CreateStampDutyCalculationRequestEx-1"
                }
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "OK",
            "headers" : {
              "Swift-Request-ID" : {
                "$ref" : "#/components/headers/Swift-Request-ID"
              },
              "X-Request-ID" : {
                "$ref" : "#/components/headers/X-Request-ID"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StampDutyCalculation"
                },
                "examples" : {
                  "CreateStampDutyCalculationResponseEx-1" : {
                    "$ref" : "#/components/examples/CreateStampDutyCalculationResponseEx-1"
                  }
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/400-BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401-Unauthorized"
          },
          "403" : {
            "$ref" : "#/components/responses/403-Forbidden"
          },
          "404" : {
            "$ref" : "#/components/responses/404-NotFound"
          },
          "406" : {
            "$ref" : "#/components/responses/406-NotAcceptable"
          },
          "413" : {
            "$ref" : "#/components/responses/414-URITooLong"
          },
          "415" : {
            "$ref" : "#/components/responses/415-UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/429-TooManyRequests"
          },
          "502" : {
            "$ref" : "#/components/responses/502-BadGateway"
          },
          "503" : {
            "$ref" : "#/components/responses/503-ServiceUnavailable"
          },
          "504" : {
            "$ref" : "#/components/responses/504-GatewayTimeout"
          }
        }
      }
    },
    "/stamp-duty-applications" : {
      "post" : {
        "tags" : [ "Stamp Duty Application" ],
        "summary" : "Create Stamp Duty Application.",
        "description" : "Stamp Duty Application for issuance of a stamp duty certificate.",
        "operationId" : "createStampDutyApplication",
        "parameters" : [ {
          "$ref" : "#/components/parameters/X-Request-ID"
        }, {
          "$ref" : "#/components/parameters/X-BIC"
        } ],
        "requestBody" : {
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/StampDutyApplication"
              },
              "examples" : {
                "CreateStampDutyApplicationEx-1" : {
                  "$ref" : "#/components/examples/CreateStampDutyApplicationEx-1"
                },
                "CreateStampDutyApplicationEx-2" : {
                  "$ref" : "#/components/examples/CreateStampDutyApplicationEx-2"
                }
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Stamp Duty ApplicationCreated",
            "headers" : {
              "Swift-Request-ID" : {
                "$ref" : "#/components/headers/Swift-Request-ID"
              },
              "X-Request-ID" : {
                "$ref" : "#/components/headers/X-Request-ID"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StampDutyApplicationID"
                },
                "example" : {
                  "application_reference" : "91823d1b-3266-4a20-a3fd-bde174b9188e"
                }
              }
            }
          },
          "202" : {
            "description" : "Accepted",
            "headers" : {
              "Swift-Request-ID" : {
                "$ref" : "#/components/headers/Swift-Request-ID"
              },
              "X-Request-ID" : {
                "$ref" : "#/components/headers/X-Request-ID"
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/400-BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401-Unauthorized"
          },
          "403" : {
            "$ref" : "#/components/responses/403-Forbidden"
          },
          "404" : {
            "$ref" : "#/components/responses/404-NotFound"
          },
          "406" : {
            "$ref" : "#/components/responses/406-NotAcceptable"
          },
          "415" : {
            "$ref" : "#/components/responses/415-UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/429-TooManyRequests"
          },
          "502" : {
            "$ref" : "#/components/responses/502-BadGateway"
          },
          "503" : {
            "$ref" : "#/components/responses/503-ServiceUnavailable"
          },
          "504" : {
            "$ref" : "#/components/responses/504-GatewayTimeout"
          }
        }
      },
      "get" : {
        "tags" : [ "Stamp Duty Application" ],
        "summary" : "Get Stamp Duty Applications.",
        "description" : "Request details of all avaiable stamp duty applications.\n\nThe endpoint will return an empty array when no resource is found.\n\n**Specifying Request Filter**\n\nParameters are specified in the form name=value. A parameter list is appended to a URI after a \"?\". Multiple parameters are separated by \"&\".\n\n`Note that in this example, the query parameters are not URL encoded for readability.`\n\n**Use of specific filter**\n\nhttps://api.swiftnet.sipn.swift.com/swift-stamp-duty/v1/stamp-duty-applications?identification=BGREQ30122022-01\n\n**Use of logical operator AND (application-from-date and application-to-date)**\n\n https://api.swiftnet.sipn.swift.com/swift-stamp-duty/v1/stamp-duty-applications?application-from-date=2023-05-22&application-to-date=2023-05-23\n",
        "operationId" : "getStampDutyApplications",
        "parameters" : [ {
          "$ref" : "#/components/parameters/X-Request-ID"
        }, {
          "$ref" : "#/components/parameters/X-BIC"
        }, {
          "$ref" : "#/components/parameters/application-date"
        }, {
          "$ref" : "#/components/parameters/application-from-date"
        }, {
          "$ref" : "#/components/parameters/application-to-date"
        }, {
          "$ref" : "#/components/parameters/certificate-issuance-date"
        }, {
          "$ref" : "#/components/parameters/pagination-offset"
        }, {
          "$ref" : "#/components/parameters/pagination-limit"
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "headers" : {
              "Swift-Request-ID" : {
                "$ref" : "#/components/headers/Swift-Request-ID"
              },
              "X-Request-ID" : {
                "$ref" : "#/components/headers/X-Request-ID"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "object",
                  "additionalProperties" : false,
                  "properties" : {
                    "stamp_duty_application" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/StampDutyApplication"
                      }
                    },
                    "links" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Link"
                      }
                    }
                  }
                },
                "examples" : {
                  "GETStampDutyApplicationResponseCollectionEx-1" : {
                    "$ref" : "#/components/examples/GETStampDutyApplicationResponseCollectionEx-1"
                  },
                  "GETStampDutyApplicationResponseCollectionEx-2" : {
                    "$ref" : "#/components/examples/GETStampDutyApplicationResponseCollectionEx-2"
                  }
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/400-BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401-Unauthorized"
          },
          "403" : {
            "$ref" : "#/components/responses/403-Forbidden"
          },
          "404" : {
            "$ref" : "#/components/responses/404-NotFound"
          },
          "406" : {
            "$ref" : "#/components/responses/406-NotAcceptable"
          },
          "413" : {
            "$ref" : "#/components/responses/414-URITooLong"
          },
          "415" : {
            "$ref" : "#/components/responses/415-UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/429-TooManyRequests"
          },
          "502" : {
            "$ref" : "#/components/responses/502-BadGateway"
          },
          "503" : {
            "$ref" : "#/components/responses/503-ServiceUnavailable"
          },
          "504" : {
            "$ref" : "#/components/responses/504-GatewayTimeout"
          }
        }
      }
    },
    "/stamp-duty-applications/{application-reference}" : {
      "get" : {
        "tags" : [ "Stamp Duty Application" ],
        "summary" : "Get Stamp Duty Application.",
        "description" : "Request details of a specific stamp duty application to get the Certificate Status.",
        "operationId" : "getStampDutyApplication",
        "parameters" : [ {
          "$ref" : "#/components/parameters/X-Request-ID"
        }, {
          "$ref" : "#/components/parameters/X-BIC"
        }, {
          "$ref" : "#/components/parameters/application-reference"
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "headers" : {
              "Swift-Request-ID" : {
                "$ref" : "#/components/headers/Swift-Request-ID"
              },
              "X-Request-ID" : {
                "$ref" : "#/components/headers/X-Request-ID"
              },
              "ETag" : {
                "$ref" : "#/components/headers/ETag"
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/StampDutyApplication"
                },
                "examples" : {
                  "GETStampDutyApplicationResponseEx-1" : {
                    "$ref" : "#/components/examples/GETStampDutyApplicationResponseEx-1"
                  },
                  "GETStampDutyApplicationResponseEx-2" : {
                    "$ref" : "#/components/examples/GETStampDutyApplicationResponseEx-2"
                  }
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/400-BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401-Unauthorized"
          },
          "403" : {
            "$ref" : "#/components/responses/403-Forbidden"
          },
          "404" : {
            "$ref" : "#/components/responses/404-NotFound"
          },
          "406" : {
            "$ref" : "#/components/responses/406-NotAcceptable"
          },
          "413" : {
            "$ref" : "#/components/responses/414-URITooLong"
          },
          "415" : {
            "$ref" : "#/components/responses/415-UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/429-TooManyRequests"
          },
          "502" : {
            "$ref" : "#/components/responses/502-BadGateway"
          },
          "503" : {
            "$ref" : "#/components/responses/503-ServiceUnavailable"
          },
          "504" : {
            "$ref" : "#/components/responses/504-GatewayTimeout"
          }
        }
      },
      "patch" : {
        "tags" : [ "Stamp Duty Application" ],
        "summary" : "Update Stamp Duty Application.",
        "description" : "Any permitted modification to the stamp duty application such as undertaking amount to reissue a new certificate.",
        "operationId" : "modifyStampDutyApplication",
        "parameters" : [ {
          "$ref" : "#/components/parameters/X-Request-ID"
        }, {
          "$ref" : "#/components/parameters/X-BIC"
        }, {
          "$ref" : "#/components/parameters/If-Match"
        }, {
          "$ref" : "#/components/parameters/application-reference"
        } ],
        "requestBody" : {
          "required" : true,
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/StampDutyApplication"
              },
              "examples" : {
                "UpdateStampDutyApplicationEx-1" : {
                  "$ref" : "#/components/examples/UpdateStampDutyApplicationEx-1"
                }
              }
            }
          }
        },
        "responses" : {
          "202" : {
            "description" : "Accepted",
            "headers" : {
              "Swift-Request-ID" : {
                "$ref" : "#/components/headers/Swift-Request-ID"
              },
              "X-Request-ID" : {
                "$ref" : "#/components/headers/X-Request-ID"
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/400-BadRequest"
          },
          "401" : {
            "$ref" : "#/components/responses/401-Unauthorized"
          },
          "403" : {
            "$ref" : "#/components/responses/403-Forbidden"
          },
          "404" : {
            "$ref" : "#/components/responses/404-NotFound"
          },
          "406" : {
            "$ref" : "#/components/responses/406-NotAcceptable"
          },
          "412" : {
            "$ref" : "#/components/responses/412-PreconditionFailed"
          },
          "415" : {
            "$ref" : "#/components/responses/415-UnsupportedMediaType"
          },
          "429" : {
            "$ref" : "#/components/responses/429-TooManyRequests"
          },
          "502" : {
            "$ref" : "#/components/responses/502-BadGateway"
          },
          "503" : {
            "$ref" : "#/components/responses/503-ServiceUnavailable"
          },
          "504" : {
            "$ref" : "#/components/responses/504-GatewayTimeout"
          }
        }
      }
    }
  },
  "components" : {
    "schemas" : {
      "CurrencyAmount" : {
        "type" : "object",
        "description" : "A number of monetary units specified in a currency where the unit of currency is explicit and compliant with ISO 4217.",
        "additionalProperties" : false,
        "properties" : {
          "currency" : {
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic, ReferenceData",
            "x-Error" : "ErrorCode:Sw.Stds.D00006, ErrorText:Invalid currency code., SWIFTNetValidation:true, Severity:Fatal",
            "description" : "A code allocated to a currency by a Maintenance Agency under an international identification scheme as described in the latest edition of the international standard ISO 4217 \"Codes for the representation of currencies and funds\".\n",
            "type" : "string",
            "pattern" : "^[A-Z]{3,3}$"
          },
          "amount" : {
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic",
            "x-Error" : "ErrorCode:Sw.Stds.D00007, ErrorText:Too many decimal digits or the amount does not comply with the pattern., SWIFTNetValidation:true  Severity:Fatal",
            "description" : "The amount with fractional digit. Note: The decimal separator is a dot.\n\nUsage:\n  Total digits: 18\n  Fraction Digits: 5\n",
            "type" : "string",
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$"
          }
        },
        "required" : [ "currency", "amount" ]
      },
      "Fees" : {
        "type" : "object",
        "description" : "Specifies the amount of money paid for the provision of financial services.",
        "additionalProperties" : false,
        "properties" : {
          "amount" : {
            "description" : "Specify the amount of money payable towards the fees and charges.\n\nUsage:\n  Total digits: 18\n  Fraction Digits: 5\n",
            "type" : "string",
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$"
          },
          "type" : {
            "description" : "Specify the charge type.",
            "type" : "string",
            "minLength" : 4,
            "maxLength" : 4
          }
        }
      },
      "GenericIdentification" : {
        "type" : "object",
        "description" : "Information related to an identification, for example, party identification or account identification.",
        "additionalProperties" : false,
        "properties" : {
          "identification" : {
            "description" : "Proprietary information, often a code, issued by the data source scheme issuer.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "scheme_name" : {
            "description" : "Short textual description of the scheme.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "issuer" : {
            "description" : "Entity that assigns the identification.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          }
        },
        "required" : [ "identification" ]
      },
      "Organisation" : {
        "type" : "object",
        "description" : "Specifies the identification of an organisation.",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "description" : "Name by which a party is known and which is usually used to identify that party.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 140
          },
          "postal_address" : {
            "$ref" : "#/components/schemas/PostalAddress"
          },
          "identification" : {
            "$ref" : "#/components/schemas/OrganisationIdentification"
          },
          "phone_number" : {
            "description" : "Specify the phone number of stamp duty payer.\n\nUsage: It consists of a \"+\" followed by the country code (from 1 to 3 characters) then a \"-\" and finally, any combination of numbers, \"(\", \")\", \"+\" and \"-\" (up to 30 characters).\n",
            "type" : "string",
            "pattern" : "^\\+[0-9]{1,3}-[0-9()+\\-]{1,30}$"
          },
          "email_address" : {
            "description" : "Address for electronic mail (e-mail).",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 2048
          }
        },
        "required" : [ "name" ]
      },
      "OrganisationIdentification" : {
        "type" : "object",
        "description" : "Unique and unambiguous way to identify an organisation.",
        "additionalProperties" : false,
        "properties" : {
          "bic" : {
            "x-MXComponent" : "AnyBICDec2014Identifier",
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic",
            "x-Error" : "ErrorCode:Sw.Stds.D00008, ErrorText:Invalid BIC., SWIFTNetValidation:true  Severity:Fatal",
            "description" : "Business identification code of the organisation. Code allocated to a financial or non-financial institution by the ISO 9362 Registration Authority, as described in ISO 9362: 2014 - \"Banking - Banking telecommunication messages - Business identifier code (BIC)\".\n",
            "type" : "string",
            "pattern" : "^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$"
          },
          "lei" : {
            "x-MXComponent" : "LEIIdentifier",
            "description" : "Legal entity identification as an alternate identification for a party.",
            "type" : "string",
            "pattern" : "^[A-Z0-9]{18,18}[0-9]{2,2}$"
          },
          "other" : {
            "type" : "array",
            "maxItems" : 2,
            "items" : {
              "$ref" : "#/components/schemas/GenericIdentification"
            }
          }
        }
      },
      "PartyChoice" : {
        "type" : "object",
        "description" : "Identify the type of party as either organisation or individual.",
        "additionalProperties" : true,
        "oneOf" : [ {
          "type" : "object",
          "additionalProperties" : false,
          "properties" : {
            "organisation" : {
              "$ref" : "#/components/schemas/Organisation"
            }
          },
          "required" : [ "organisation" ]
        }, {
          "type" : "object",
          "properties" : {
            "person" : {
              "$ref" : "#/components/schemas/Person"
            }
          },
          "required" : [ "person" ]
        } ]
      },
      "Person" : {
        "type" : "object",
        "description" : "Individual involved in an activity.",
        "additionalProperties" : false,
        "properties" : {
          "name" : {
            "description" : "Name by which a party is known and which is usually used to identify that party.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 140
          },
          "gender" : {
            "description" : "Specifies the gender of the person.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 6
          },
          "postal_address" : {
            "$ref" : "#/components/schemas/PostalAddress"
          },
          "identification" : {
            "$ref" : "#/components/schemas/PersonIdentification"
          },
          "phone_number" : {
            "description" : "Specify the phone number of stamp duty payer.\n\nUsage: It consists of a \"+\" followed by the country code (from 1 to 3 characters) then a \"-\" and finally, any combination of numbers, \"(\", \")\", \"+\" and \"-\" (up to 30 characters).\n",
            "type" : "string",
            "pattern" : "^\\+[0-9]{1,3}-[0-9()+\\-]{1,30}$"
          },
          "email_address" : {
            "description" : "Address for electronic mail (e-mail).",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 2048
          }
        },
        "required" : [ "name" ]
      },
      "PersonIdentification" : {
        "type" : "object",
        "additionalProperties" : false,
        "properties" : {
          "identification" : {
            "description" : "Unique identification of a person, as assigned by an institution, using an identification scheme for example Passport, Driving license, National identification etc.\n\nUsage -  Unique identification of an individual, as assigned by an institution, using an identification scheme.\n",
            "type" : "array",
            "maxItems" : 4,
            "items" : {
              "$ref" : "#/components/schemas/GenericIdentification"
            }
          }
        }
      },
      "PostalAddress" : {
        "type" : "object",
        "description" : "Information that locates and identifies a specific address.",
        "additionalProperties" : false,
        "required" : [ "town_name", "country" ],
        "properties" : {
          "department" : {
            "description" : "Identification of a division of a large organisation or building.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 70
          },
          "sub_department" : {
            "description" : "Identification of a sub-division of a large organisation or building.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 70
          },
          "street_name" : {
            "description" : "Name of a street or thoroughfare.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 70
          },
          "building_number" : {
            "description" : "Number that identifies the position of a building on a street.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 16
          },
          "building_name" : {
            "description" : "Name of the building or house.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "floor" : {
            "description" : "Floor or storey within a building.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 70
          },
          "post_box" : {
            "description" : "Numbered box in a post office, assigned to a person or organisation, where letters are kept until called for.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 16
          },
          "room" : {
            "description" : "Building room number.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 70
          },
          "post_code" : {
            "description" : "Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 16
          },
          "town_name" : {
            "description" : "Name of a built-up area, with defined boundaries, and a local government.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "town_location_name" : {
            "description" : "Specific location name within the town.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "district_name" : {
            "description" : "Identifies a subdivision within a country sub-division.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "country_sub_division" : {
            "description" : "Identifies a subdivision of a country such as state, region, county.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 35
          },
          "country" : {
            "x-Validation" : true,
            "x-ValidationType" : "Algorithmic, ReferenceData",
            "x-Error" : "ErrorCode:Sw.Stds.D00004, ErrorText:Invalid Country Code., SWIFTNetValidation:true,  Severity:Fatal",
            "description" : "Nation with its own government.",
            "type" : "string",
            "minLength" : 2,
            "maxLength" : 2,
            "pattern" : "^[A-Z]{2,2}$"
          }
        }
      },
      "StampDutyApplication" : {
        "type" : "object",
        "description" : "Details about a stamp duty application for issuance of a e-Stamping certificate.",
        "additionalProperties" : false,
        "properties" : {
          "application_reference" : {
            "description" : "An unique and unambiguous identification of the Stamp Duty Application as assigned by the origin server. The value must be constant throughout the lifecycle of the application. On successful creation, the application can be retrieved using the application reference. This identification shall be used as a resource identifier for all state transition.\n\nUsage - Unique end to end reference of the Stamp Duty application. The value must be constant throughout the lifecycle of the application. The type is Universally Unique IDentifier (UUID) version 4, as described in IETC RFC 4122 \"Universally Unique IDentifier (UUID) URN Namespace\".\n",
            "type" : "string",
            "format" : "uuid",
            "readOnly" : true
          },
          "transaction_reference_number" : {
            "description" : "An unique and unambiguous identification assigned by the Sender to unambiguously identify the transaction.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 36
          },
          "undertaking_identification" : {
            "description" : "Unique and unambiguous identifier assigned to the undertaking issued by the guarantor/issuer. This reference is used throughout the life cycle of the undertaking.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 36
          },
          "undertaking_amount" : {
            "description" : "Specify the amount and currency of the undertaking for which stamp duty certificate is applied.",
            "$ref" : "#/components/schemas/CurrencyAmount"
          },
          "applicant" : {
            "description" : "Party named in an undertaking as the party on whose behalf the undertaking is issued.",
            "$ref" : "#/components/schemas/PartyChoice"
          },
          "purchased_by" : {
            "description" : "Specify the purchaser details.",
            "$ref" : "#/components/schemas/PartyChoice"
          },
          "second_party" : {
            "description" : "Provide the details of beneficiary if the beneficiary is different from the applicant.",
            "$ref" : "#/components/schemas/PartyChoice"
          },
          "stamp_duty_amount" : {
            "description" : "Stamp duty amount payable to authority.",
            "$ref" : "#/components/schemas/CurrencyAmount"
          },
          "stamp_duty_paid_by" : {
            "description" : "Provide the details of stamp duty payer.",
            "$ref" : "#/components/schemas/PartyChoice"
          },
          "fees" : {
            "description" : "Fees and charges related to stamp duty application.",
            "type" : "array",
            "maxItems" : 10,
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/Fees"
            }
          },
          "total_stamp_duty_amount" : {
            "description" : "Stamp duty and surcharge payable to authority.",
            "$ref" : "#/components/schemas/CurrencyAmount"
          },
          "state_code" : {
            "description" : "The state code where stamp duty certificate will be created.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 5
          },
          "article_number" : {
            "description" : "Specify the article for which stamp duty certificate is required.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 4
          },
          "undertaking_description" : {
            "description" : "Specify the type of the undertaking require stamp duty certificate.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 100
          },
          "application_date" : {
            "description" : "The date when application is submitted for issuance of certificate.",
            "type" : "string",
            "format" : "date"
          },
          "certificate_ID" : {
            "description" : "Unique identification of stamp duty certificate.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 20,
            "readOnly" : true
          },
          "certificate_issuance_date" : {
            "description" : "Date timestamp when the stamp duty certificate is issued.",
            "type" : "string",
            "format" : "date-time",
            "readOnly" : true
          },
          "base_certificate_ID" : {
            "description" : "The original certificate id that was issued when stamp duty was paid first time.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 20
          },
          "base_certificate_issuance_date" : {
            "description" : "Date timestamp when the original certificate is issued.",
            "type" : "string",
            "format" : "date-time"
          },
          "is_print_required" : {
            "description" : "Specify if the printcopy of stamp duty certificate is required.",
            "type" : "boolean"
          },
          "charges" : {
            "description" : "Service charges for issuance of certificate.",
            "$ref" : "#/components/schemas/CurrencyAmount"
          },
          "imprest_account" : {
            "description" : "The account from surcharges and service charges will be deducted.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 12
          },
          "account_balance" : {
            "description" : "The current balance of the imprest account.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 19,
            "readOnly" : true,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|0*|([0-9]{0,18}))$"
          },
          "payment_reference" : {
            "description" : "Unique reference, as assigned by the payment service provider.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 36
          },
          "payment_date" : {
            "description" : "The date on which the payment is made.",
            "type" : "string",
            "format" : "date"
          },
          "payment_status" : {
            "description" : "Specify the status of the payment.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 10
          },
          "social_infrastructure_cess" : {
            "description" : "Infrastructure cess is a tax imposed by the government.",
            "type" : "string",
            "maxLength" : 19,
            "pattern" : "^0*(([0-9]{0,13}\\.[0-9]{1,5})|([0-9]{0,14}\\.[0-9]{1,4})|([0-9]{0,15}\\.[0-9]{1,3})|([0-9]{0,16}\\.[0-9]{1,2})|([0-9]{0,17}\\.[0-9]{1,1})|([0-9]{0,18}\\.)|0*|([0-9]{0,18}))$"
          },
          "DDO_code" : {
            "description" : "Drawing and Disbursing Officer (DDO) officer code.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 11
          },
          "DDO_district" : {
            "description" : "District Development Officer.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 10
          },
          "property_description_pin_code" : {
            "description" : "TBC",
            "type" : "integer",
            "format" : "int32",
            "minLength" : 1,
            "maxLength" : 6
          },
          "property_area" : {
            "description" : "specify the area of the property.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 100
          }
        },
        "required" : [ "application_reference", "transaction_reference_number", "undertaking_identification", "undertaking_amount", "applicant", "purchased_by", "second_party", "stamp_duty_amount", "stamp_duty_paid_by", "state_code", "article_number", "undertaking_description" ]
      },
      "StampDutyCalculation" : {
        "type" : "object",
        "description" : "Details about the stamp duty computation that would be payable for issuance of a e-Stamp Certificate.",
        "additionalProperties" : false,
        "properties" : {
          "transaction_reference_number" : {
            "description" : "An unique and unambiguous identification assigned by the Sender to unambiguously identify the transaction.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 36
          },
          "undertaking_identification" : {
            "description" : "Unique and unambiguous identifier assigned to the undertaking issued by the guarantor/issuer. This reference is used throughout the life cycle of the undertaking.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 36
          },
          "undertaking_amount" : {
            "description" : "Specify the amount and currency of the undertaking for which stamp duty certificate is applied.",
            "$ref" : "#/components/schemas/CurrencyAmount"
          },
          "stamp_duty_amount" : {
            "description" : "Stamp duty amount payable to authority.",
            "$ref" : "#/components/schemas/CurrencyAmount"
          },
          "state_code" : {
            "description" : "The state code where stamp duty certificate will be created.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 5
          },
          "article_number" : {
            "description" : "Specify the article for which stamp duty certificate is required.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 4
          }
        }
      },
      "StampDutyApplicationID" : {
        "description" : "The URI to the newly created Stamp Duty Application.",
        "type" : "object",
        "properties" : {
          "application_reference" : {
            "type" : "string",
            "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6'"
          }
        }
      },
      "Link" : {
        "type" : "object",
        "readOnly" : true,
        "description" : "Contains a generic structure to support hyperlinking (REST level 3).",
        "additionalProperties" : false,
        "required" : [ "href" ],
        "properties" : {
          "href" : {
            "description" : "Specifies the link as a url. The href member identifies the target IRI location of the resource.",
            "type" : "string",
            "format" : "uri",
            "maxLength" : 256
          },
          "rel" : {
            "description" : "Specifies the operation. The value of this property MUST be a string. This property is required except self. The self reference contains the URI of the same resource.",
            "type" : "string",
            "maxLength" : 35
          },
          "type" : {
            "description" : "The value containing the HTTP verb used for the URL. If the type element is not included then the link MUST be available using GET.",
            "type" : "string",
            "maxLength" : 35
          }
        }
      },
      "Errors" : {
        "description" : "Container to return multiple ErrorMessage object. Collection of error can be useful when API needs to return multiple errors, for example validation errors. When the response code conveys application-specific functional semantics and consumer can parse machine-readable error code, this block can be useful. The error response must contain at least one error object.",
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/ErrorMessage"
        }
      },
      "ErrorMessage" : {
        "description" : "Custom error schema to support detailed error message.",
        "type" : "object",
        "readOnly" : true,
        "additionalProperties" : false,
        "properties" : {
          "severity" : {
            "description" : "Specifies the severity of the error.",
            "type" : "string",
            "enum" : [ "Fatal", "Transient", "Logic" ]
          },
          "code" : {
            "description" : "Specifies the custom error code as defined by the service provider.",
            "type" : "string",
            "minLength" : 3,
            "maxLength" : 70
          },
          "text" : {
            "description" : "Specifies the detail error message identifying the cause of the error.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 255
          },
          "user_message" : {
            "description" : "A human-readable text describing the error.",
            "type" : "string",
            "minLength" : 1,
            "maxLength" : 255
          },
          "more_info" : {
            "description" : "Specifies an URL to find more information about the error.",
            "type" : "string",
            "format" : "uri"
          }
        },
        "required" : [ "code", "severity", "text" ]
      }
    },
    "headers" : {
      "Location" : {
        "description" : "The Location response header containing the URI to the newly created resource.",
        "schema" : {
          "type" : "string",
          "format" : "uri"
        },
        "example" : "https://api.swiftnet.sipn.swift.com/swift-stamp-duty-application/v1/stamp-duty-application/3fa85f64-5717-4562-b3fc-2c963f66afa6"
      },
      "X-Request-ID" : {
        "description" : "Specify an unique end to end tracking request ID. The element will be populated by the SWIFT API gateway",
        "schema" : {
          "type" : "string",
          "maxLength" : 270
        },
        "required" : true
      },
      "Swift-Request-ID" : {
        "required" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid"
        },
        "examples" : {
          "XRequestIdResponseHeader" : {
            "value" : "ce480d68-2612-4aef-867a-e91566a1e012"
          }
        },
        "description" : "A Universally Unique Identifier (UUID) generated by the API Gateway for tracking and support purposes.\nThis Swift-Request-ID response header must always be returned to the API consumer, even when the response is an error message"
      },
      "ETag" : {
        "description" : "An entity-tag, as defined in the RFC7232 ETag header field is an opaque identifier for the current versions of a resource. The subsequent PATCH/PUT requests should provide the ETag value in a If-match header field to implement optimistic concurrency control. If the server ETag value does not match with the provided ETag value, the error response 412 - precondition fail will be returned. This signifies the resource out of date.",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "example" : "f88dd058fe004909615a64f01be66a7"
      }
    },
    "parameters" : {
      "If-Match" : {
        "name" : "If-Match",
        "in" : "header",
        "description" : "This header will contain the Etag of the resource representation to be manipulate. If the server ETag value does not match with the provided ETag value, the error response 412 - precondition fail will be returned. This signifies the resource is out of date.",
        "required" : false,
        "schema" : {
          "type" : "string"
        },
        "example" : "f88dd058fe004909615a64f01be66a7"
      },
      "pagination-offset" : {
        "name" : "offset",
        "in" : "query",
        "style" : "form",
        "explode" : false,
        "description" : "Specifies the offset / starting point in the list of all available items, starting from which results will be returned. The numeric offset identifies the page token, allowing users to advance to the next page in the collection. The value 0 (zero) identifies the first page of entry.",
        "required" : false,
        "schema" : {
          "type" : "integer",
          "minimum" : 0,
          "default" : 0
        },
        "example" : 0
      },
      "pagination-limit" : {
        "name" : "limit",
        "in" : "query",
        "style" : "form",
        "explode" : false,
        "description" : "The maximum number of items to return in a page. If unspecified, the default limit will be returned. If the limit specified is greater than the maximum permitted by the API, the API will return the maximum permitted limit. Each API should define *maximum and *default limit.",
        "required" : false,
        "schema" : {
          "type" : "integer",
          "minimum" : 1,
          "default" : 25,
          "maximum" : 100
        },
        "example" : 25
      },
      "X-Request-ID" : {
        "description" : "Specify an unique end to end tracking request ID. The element will be populated by the SWIFT API gateway",
        "name" : "X-Request-ID",
        "in" : "header",
        "required" : false,
        "schema" : {
          "type" : "string",
          "maxLength" : 270
        },
        "example" : "rrt-1130311210763048898-c-geu2-21394-2055157-17"
      },
      "X-BIC" : {
        "name" : "X-BIC",
        "in" : "header",
        "description" : "Specify the BIC of the provider of the service. The identification will be used by the API Gateway to forward the request to service provider.",
        "required" : true,
        "schema" : {
          "type" : "string"
        },
        "example" : "DEUTDEFF"
      },
      "application-reference" : {
        "in" : "path",
        "name" : "application-reference",
        "style" : "simple",
        "explode" : false,
        "description" : "An unique and unambiguous identification of the Stamp Duty Application as assigned by the origin server. The value must be constant throughout the lifecycle of the application. On successful creation, the application can be retrieved using the application reference. This identification shall be used as a resource identifier for all state transition.\n",
        "required" : true,
        "example" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
        "schema" : {
          "type" : "string",
          "format" : "uuid"
        }
      },
      "application-date" : {
        "in" : "query",
        "name" : "application-date",
        "style" : "form",
        "explode" : false,
        "description" : "Date on which the applicant lodge the stamp duty application for issuance of Certificate. Expressed in the YYYY-MM-DD format. The date cannot be in the future.\n\nUsage: The application-date must not be used in conjunction with application-from-date or application-to-date or issuance-date.\n",
        "required" : false,
        "schema" : {
          "type" : "string",
          "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$"
        }
      },
      "application-from-date" : {
        "in" : "query",
        "name" : "application-from-date",
        "style" : "form",
        "explode" : false,
        "description" : "Date on which the applicant lodge the stamp duty application for issuance of Certificate. Expressed in the YYYY-MM-DD format. The date cannot be in the future.\n\nUsage: The application-date must be used in conjunction with application-to-date. When used in conjunction with the application-to-date, the endpoint returns the application where the application date fall within that period.\n",
        "required" : false,
        "schema" : {
          "type" : "string",
          "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$"
        },
        "example" : "2023-05-22"
      },
      "application-to-date" : {
        "in" : "query",
        "name" : "application-to-date",
        "style" : "form",
        "explode" : false,
        "description" : "Date on which the applicant lodge the stamp duty application for issuance of Certificate. Expressed in the YYYY-MM-DD format. The date cannot be in the future.\n\nUsage: The application-date must not be used in conjunction with application-from-date. When used in conjunction with the application-from-date, the endpoint returns the application where the application date fall within that period.\n",
        "required" : false,
        "schema" : {
          "type" : "string",
          "pattern" : "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)(?:Z|[+-][01]\\d:[0-5]\\d)?$"
        },
        "example" : "2023-05-23"
      },
      "certificate-issuance-date" : {
        "in" : "query",
        "name" : "issuance-date",
        "style" : "form",
        "explode" : false,
        "description" : "Date on which the Stamp Duty Certificate is issued by the issuing bank. Expressed in the YYYY-MM-DD format. The date cannot be in the future.",
        "required" : false,
        "schema" : {
          "type" : "string",
          "format" : "date"
        }
      }
    },
    "responses" : {
      "400-BadRequest" : {
        "description" : "Bad Request",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "401-Unauthorized" : {
        "description" : "Unauthorized",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "403-Forbidden" : {
        "description" : "Forbidden",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "404-NotFound" : {
        "description" : "Not Found",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "405-MethodNotAllowed" : {
        "description" : "Method Not Allowed",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "406-NotAcceptable" : {
        "description" : "Not Acceptable",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "407-ProxyAuthenticationRequired" : {
        "description" : "Proxy Authentication Required",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "409-Conflict" : {
        "description" : "Conflict",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "410-Gone" : {
        "description" : "Gone",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "412-PreconditionFailed" : {
        "description" : "Precondition Failed",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "413-PayloadTooLarge" : {
        "description" : "Payload Too Large",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "414-URITooLong" : {
        "description" : "URI Too Long",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "415-UnsupportedMediaType" : {
        "description" : "Unsupported Media Type",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "429-TooManyRequests" : {
        "description" : "Too Many Requests",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "502-BadGateway" : {
        "description" : "Bad Gateway",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "503-ServiceUnavailable" : {
        "description" : "Service Unavailable",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      },
      "504-GatewayTimeout" : {
        "description" : "Gateway Timeout",
        "headers" : {
          "Swift-Request-ID" : {
            "$ref" : "#/components/headers/Swift-Request-ID"
          },
          "X-Request-ID" : {
            "$ref" : "#/components/headers/X-Request-ID"
          }
        },
        "content" : {
          "application/json" : {
            "schema" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Errors"
              }, {
                "$ref" : "#/components/schemas/ErrorMessage"
              } ]
            }
          }
        }
      }
    },
    "securitySchemes" : {
      "oauthBearerToken" : {
        "type" : "http",
        "scheme" : "bearer",
        "bearerFormat" : "opaque OAuth 2.0",
        "description" : "The access token obtained as a result of OAuth 2.0 flows. SWIFT supports two OAuth grant types for consumption depending on the environment where the API is exposed. \n\n* MV-SIPN - jwt-bearer grant type [RFC 7523](https://tools.ietf.org/html/rfc7523) with Signed JWT assertion\n* Internet - Password grant type with license credentials.\n\nThis API uses JWT-Bearer grant type.\n\nPlease visit [SWIFT OAuth Token API](https://developer.swift.com/swift-oauth-token-api) page for more information and examples on how to generate an OAuth token.\n\nIn this declaration only the basic security element to transport the bearer token of an OAuth2 process is declared.\n"
      },
      "oAuth2" : {
        "type" : "oauth2",
        "description" : "This API uses OAuth2 with the client credentials grant type for service provider API gateway integration. Used between an end SWIFT API gateway and service provider API gateway.\n\nPlease visit [SWIFT OAuth Token API](https://developer.swift.com/swift-oauth-token-api) for more information and examples.\n",
        "flows" : {
          "clientCredentials" : {
            "tokenUrl" : "/v1/oauth2/token",
            "scopes" : { }
          }
        }
      }
    },
    "examples" : {
      "CreateStampDutyCalculationRequestEx-1" : {
        "summary" : "Request for Stamp Duty Calculation",
        "value" : {
          "transaction_reference_number" : "GLISCI-259",
          "undertaking_identification" : "OGT0005210059171",
          "undertaking_amount" : {
            "currency" : "INR",
            "amount" : "100000.00"
          },
          "state_code" : "IN-KA",
          "article_number" : "0033"
        }
      },
      "CreateStampDutyCalculationResponseEx-1" : {
        "summary" : "Example-1 - Stamp duty calculation - Delhi",
        "value" : {
          "transaction_reference_number" : "GLISCI-259",
          "undertaking_identification" : "OGT0005210059171",
          "undertaking_amount" : {
            "currency" : "INR",
            "amount" : "100000.00"
          },
          "stamp_duty_amount" : {
            "currency" : "INR",
            "amount" : "100.00"
          }
        }
      },
      "CreateStampDutyApplicationEx-1" : {
        "summary" : "Example-1 - Stamp duty application - Odisha",
        "value" : {
          "application_reference" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "transaction_reference_number" : "COR0004230002748",
          "undertaking_identification" : "OGT0005210059171",
          "undertaking_amount" : {
            "currency" : "INR",
            "amount" : "12500000.00"
          },
          "applicant" : {
            "organisation" : {
              "name" : "INDUSIND BANK LIMITED",
              "postal_address" : {
                "street_name" : "28, BARAKHAMBA ROAD",
                "building_name" : "DR. GOPAL DAS BHAWAN",
                "post_code" : "759019",
                "town_name" : "ODISHA",
                "country" : "IN"
              }
            }
          },
          "purchased_by" : {
            "organisation" : {
              "name" : "GRAMIN VIKAS TRUST"
            }
          },
          "second_party" : {
            "organisation" : {
              "name" : "DISTRICT JAL JEEVAN MISSION"
            }
          },
          "stamp_duty_amount" : {
            "currency" : "INR",
            "amount" : "10.00"
          },
          "stamp_duty_paid_by" : {
            "organisation" : {
              "name" : "INDUSIND BANK LIMITED",
              "phone_number" : "+00-91-9884430610"
            }
          },
          "state_code" : "IN-OD",
          "article_number" : "0065",
          "undertaking_description" : "PERFORMANCE GUARANTEE"
        }
      },
      "CreateStampDutyApplicationEx-2" : {
        "summary" : "Example-2 - Stamp duty application - Rajasthan",
        "value" : {
          "application_reference" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "transaction_reference_number" : "COR0004220002691",
          "undertaking_identification" : "OGT0004220071872",
          "undertaking_amount" : {
            "currency" : "INR",
            "amount" : "1000000.00"
          },
          "applicant" : {
            "organisation" : {
              "name" : "INDUSIND BANK LIMITED",
              "postal_address" : {
                "street_name" : "SL MARG 320",
                "building_name" : "JAWAHAR LAL NEHRU MARG",
                "post_code" : "302021",
                "town_name" : "JAIPUR",
                "country" : "IN"
              }
            }
          },
          "purchased_by" : {
            "organisation" : {
              "name" : "SELMARK PRIVATE LIMITED"
            }
          },
          "second_party" : {
            "organisation" : {
              "name" : "KGMU HOSPITAL REVOLVING FUND"
            }
          },
          "stamp_duty_amount" : {
            "currency" : "INR",
            "amount" : "2500.00"
          },
          "stamp_duty_paid_by" : {
            "organisation" : {
              "name" : "INDUSIND BANK LIMITED",
              "phone_number" : "+00-91-7305002273"
            }
          },
          "fees" : [ {
            "amount" : "250",
            "type" : "PCOW"
          }, {
            "amount" : "250",
            "type" : "INFR"
          }, {
            "amount" : "250",
            "type" : "RNMC"
          } ],
          "state_code" : "IN-RJ",
          "article_number" : "1079",
          "undertaking_description" : "PERFORMANCE GUARANTEE",
          "imprest_account" : "RJSWIFTINDUS"
        }
      },
      "GETStampDutyApplicationResponseCollectionEx-1" : {
        "summary" : "Example-1 - Get stamp duty application by criteria",
        "value" : {
          "stamp_duty_application" : [ {
            "application_reference" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "transaction_reference_number" : "COR0004230002747",
            "undertaking_identification" : "OGT0005210059171",
            "undertaking_amount" : {
              "currency" : "INR",
              "amount" : "100000.00"
            },
            "applicant" : {
              "organisation" : {
                "name" : "INDUSIND BANK LIMITED",
                "postal_address" : {
                  "street_name" : "BARAKHAMBA ROAD",
                  "building_number" : "28",
                  "building_name" : "DR. GOPAL DAS BHAWAN",
                  "post_code" : "759019",
                  "town_name" : "ODISHA",
                  "country" : "IN"
                }
              }
            },
            "purchased_by" : {
              "organisation" : {
                "name" : "GRAMIN VIKAS TRUST"
              }
            },
            "second_party" : {
              "organisation" : {
                "name" : "DISTRICT JAL JEEVAN MISSION"
              }
            },
            "stamp_duty_amount" : {
              "currency" : "INR",
              "amount" : "100.00"
            },
            "stamp_duty_paid_by" : {
              "organisation" : {
                "name" : "INDUSIND BANK LIMITED",
                "phone_number" : "+00-91-9884430610"
              }
            },
            "state_code" : "IN-OD",
            "article_number" : "0065",
            "undertaking_description" : "PERFORMANCE GUARANTEE",
            "application_date" : "2024-08-08",
            "certificate_ID" : "IN-OD00016586273634W",
            "certificate_issuance_date" : "2024-02-01T13:07:00.000Z",
            "charges" : {
              "currency" : "INR",
              "amount" : "00.00"
            }
          }, {
            "application_reference" : "e5d5adfc-4e60-46f6-a6c9-3a287aa6f39b",
            "transaction_reference_number" : "COR0004220002691",
            "undertaking_identification" : "OGT0004220071872",
            "undertaking_amount" : {
              "currency" : "INR",
              "amount" : "1000000.00"
            },
            "applicant" : {
              "organisation" : {
                "name" : "INDUSIND BANK LIMITED",
                "postal_address" : {
                  "street_name" : "JAWAHAR LAL NEHRU MARG",
                  "building_number" : "320",
                  "building_name" : "SL MARG",
                  "post_code" : "302021",
                  "town_name" : "JAIPUR",
                  "country" : "IN"
                }
              }
            },
            "purchased_by" : {
              "organisation" : {
                "name" : "SELMARK PRIVATE LIMITED"
              }
            },
            "second_party" : {
              "organisation" : {
                "name" : "KGMU HOSPITAL REVOLVING FUND"
              }
            },
            "stamp_duty_amount" : {
              "currency" : "INR",
              "amount" : "2500.00"
            },
            "stamp_duty_paid_by" : {
              "organisation" : {
                "name" : "INDUSIND BANK LIMITED",
                "phone_number" : "+00-91-7305002273"
              }
            },
            "total_stamp_duty_amount" : {
              "currency" : "INR",
              "amount" : "3250.00"
            },
            "fees" : [ {
              "amount" : "250.00",
              "type" : "PCOW"
            }, {
              "amount" : "250.00",
              "type" : "INFR"
            }, {
              "amount" : "250.00",
              "type" : "RNMC"
            } ],
            "state_code" : "IN-RJ",
            "article_number" : "1079",
            "undertaking_description" : "PERFORMANCE GUARANTEE",
            "certificate_ID" : "IN-RJ08066671751252V",
            "certificate_issuance_date" : "2023-02-20T12:38:15.000Z",
            "charges" : {
              "currency" : "INR",
              "amount" : "00.00"
            },
            "imprest_account" : "RJSWIFTINDUS"
          } ],
          "links" : [ {
            "href" : "https://api.swiftnet.sipn.swift.com/swift-stamp-duty/v1/stamp-duty-applications?limit=25,offset=0",
            "rel" : "self",
            "type" : "GET"
          }, {
            "href" : "https://api.swiftnet.sipn.swift.com/swift-stamp-duty/v1/stamp-duty-applications?limit=25,offset=0",
            "rel" : "first",
            "type" : "GET"
          }, {
            "href" : "https://api.swiftnet.sipn.swift.com/swift-stamp-duty/v1/stamp-duty-applications?limit=25,offset=100",
            "rel" : "next",
            "type" : "GET"
          }, {
            "href" : "https://api.swiftnet.sipn.swift.com/swift-stamp-duty/v1/stamp-duty-applications?limit=25,offset=75",
            "rel" : "previous",
            "type" : "GET"
          }, {
            "href" : "https://api.swiftnet.sipn.swift.com/swift-stamp-duty/v1/stamp-duty-applications?limit=25,offset=175",
            "rel" : "last",
            "type" : "GET"
          } ]
        }
      },
      "GETStampDutyApplicationResponseCollectionEx-2" : {
        "summary" : "Example-2 - No record found",
        "value" : {
          "stamp_duty_application" : [ ]
        }
      },
      "GETStampDutyApplicationResponseEx-1" : {
        "summary" : "Example-1 - Stamp duty application - Odisha",
        "value" : {
          "application_reference" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "transaction_reference_number" : "COR0004230002747",
          "undertaking_identification" : "OGT0005210059171",
          "undertaking_amount" : {
            "currency" : "INR",
            "amount" : "100000.00"
          },
          "applicant" : {
            "organisation" : {
              "name" : "INDUSIND BANK LIMITED",
              "postal_address" : {
                "street_name" : "BARAKHAMBA ROAD",
                "building_number" : "28",
                "building_name" : "DR. GOPAL DAS BHAWAN",
                "post_code" : "759019",
                "town_name" : "ODISHA",
                "country" : "IN"
              }
            }
          },
          "purchased_by" : {
            "organisation" : {
              "name" : "GRAMIN VIKAS TRUST"
            }
          },
          "second_party" : {
            "organisation" : {
              "name" : "DISTRICT JAL JEEVAN MISSION"
            }
          },
          "stamp_duty_amount" : {
            "currency" : "INR",
            "amount" : "100.00"
          },
          "stamp_duty_paid_by" : {
            "organisation" : {
              "name" : "INDUSIND BANK LIMITED",
              "phone_number" : "+00-91-9884430610"
            }
          },
          "state_code" : "IN-OD",
          "article_number" : "0065",
          "undertaking_description" : "PERFORMANCE GUARANTEE",
          "application_date" : "2024-08-08",
          "certificate_ID" : "IN-OD00016586273634W",
          "certificate_issuance_date" : "2024-02-01T13:07:00.000Z",
          "charges" : {
            "currency" : "INR",
            "amount" : "00.00"
          }
        }
      },
      "GETStampDutyApplicationResponseEx-2" : {
        "summary" : "Example-2 - Stamp duty application - Rajasthan",
        "value" : {
          "application_reference" : "e5d5adfc-4e60-46f6-a6c9-3a287aa6f39b",
          "transaction_reference_number" : "COR0004220002691",
          "undertaking_identification" : "OGT0004220071872",
          "undertaking_amount" : {
            "currency" : "INR",
            "amount" : "1000000.00"
          },
          "applicant" : {
            "organisation" : {
              "name" : "INDUSIND BANK LIMITED",
              "postal_address" : {
                "street_name" : "JAWAHAR LAL NEHRU MARG",
                "building_number" : "320",
                "building_name" : "SL MARG",
                "post_code" : "302021",
                "town_name" : "JAIPUR",
                "country" : "IN"
              }
            }
          },
          "purchased_by" : {
            "organisation" : {
              "name" : "SELMARK PRIVATE LIMITED"
            }
          },
          "second_party" : {
            "organisation" : {
              "name" : "KGMU HOSPITAL REVOLVING FUND"
            }
          },
          "stamp_duty_amount" : {
            "currency" : "INR",
            "amount" : "2500.00"
          },
          "stamp_duty_paid_by" : {
            "organisation" : {
              "name" : "INDUSIND BANK LIMITED",
              "phone_number" : "+00-91-7305002273"
            }
          },
          "total_stamp_duty_amount" : {
            "currency" : "INR",
            "amount" : "3250.00"
          },
          "fees" : [ {
            "amount" : "250.00",
            "type" : "PCOW"
          }, {
            "amount" : "250.00",
            "type" : "INFR"
          }, {
            "amount" : "250.00",
            "type" : "RNMC"
          } ],
          "state_code" : "IN-RJ",
          "article_number" : "1079",
          "undertaking_description" : "PERFORMANCE GUARANTEE",
          "certificate_ID" : "IN-RJ08066671751252V",
          "certificate_issuance_date" : "2023-02-20T12:38:15.000Z",
          "charges" : {
            "currency" : "INR",
            "amount" : "00.00"
          },
          "imprest_account" : "RJSWIFTINDUS"
        }
      },
      "UpdateStampDutyApplicationEx-1" : {
        "summary" : "Example-1 - Reissue certificate due to change in amount.",
        "value" : {
          "application_reference" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
          "transaction_reference_number" : "COR0004230002748",
          "undertaking_identification" : "OGT0005210059171",
          "undertaking_amount" : {
            "currency" : "INR",
            "amount" : "12000000.00"
          },
          "applicant" : {
            "organisation" : {
              "name" : "INDUSIND BANK LIMITED",
              "postal_address" : {
                "street_name" : "28, BARAKHAMBA ROAD",
                "building_name" : "DR. GOPAL DAS BHAWAN",
                "post_code" : "759019",
                "town_name" : "ODISHA",
                "country" : "IN"
              }
            }
          },
          "purchased_by" : {
            "organisation" : {
              "name" : "GRAMIN VIKAS TRUST"
            }
          },
          "second_party" : {
            "organisation" : {
              "name" : "DISTRICT JAL JEEVAN MISSION"
            }
          },
          "stamp_duty_amount" : {
            "currency" : "INR",
            "amount" : "10.00"
          },
          "stamp_duty_paid_by" : {
            "organisation" : {
              "name" : "INDUSIND BANK LIMITED",
              "phone_number" : "+00-91-9884430610"
            }
          },
          "state_code" : "IN-OD",
          "article_number" : "0065",
          "undertaking_description" : "PERFORMANCE GUARANTEE",
          "base_certificate_ID" : "IN-OD00016586273634W",
          "base_certificate_issuance_date" : "2024-02-01T13:07:00.000Z",
          "imprest_account" : "ODSWIFTINDUS"
        }
      }
    }
  }
}