{
  "swagger" : "2.0",
  "info" : {
    "description" : "Retrieve individual customer",
    "version" : "v1.0.0",
    "title" : "Retrieve individual customer"
  },
  "host" : "api.server.com",
  "basePath" : "/api/v1.0.0/",
  "tags" : [ {
    "name" : "RETAIL"
  } ],
  "schemes" : [ "http", "https" ],
  "security" : [ {
    "basicAuth" : [ ]
  }, {
    "apiKey" : [ ]
  } ],
  "paths" : {
    "/party/pe/customers/" : {
      "get" : {
        "tags" : [ "RETAIL" ],
        "summary" : "Retrieve the details of the individual customers",
        "description" : "Retrieve list of individual customers",
        "operationId" : "getIndividualCustomer",
        "produces" : [ "application/json" ],
        "parameters" : [ {
          "name" : "customerId",
          "in" : "query",
          "description" : "Identifier of the customer",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "legalId",
          "in" : "query",
          "description" : "Unique reference number of the legal documents submitted as identification proof",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "legalDocumentName",
          "in" : "query",
          "description" : "Name of the legal documents such as passport, driving licence etc., provided as identification proof",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "fatherSurname",
          "in" : "query",
          "description" : "Contains the father surname of the customer",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "motherSurname",
          "in" : "query",
          "description" : "Contains the mothers surname of the customer",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "lastName",
          "in" : "query",
          "description" : "The last name of an individual customer",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "firstName",
          "in" : "query",
          "description" : "Specifies customer's first name",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "customerNameAdditional",
          "in" : "query",
          "description" : "Continuation/Extension to the Customer Name.",
          "required" : true,
          "type" : "string"
        }, {
          "name" : "page_size",
          "in" : "query",
          "description" : "The total number of records per page",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "page_start",
          "in" : "query",
          "description" : "The record from which the response should be displayed",
          "required" : false,
          "type" : "integer",
          "format" : "int32"
        }, {
          "name" : "page_token",
          "in" : "query",
          "description" : "Unique id expected to get as part of response from Transact on every enquiry request.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "credentials",
          "in" : "header",
          "description" : "Username and password to authenticate the API against core-banking.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "companyId",
          "in" : "header",
          "description" : "Identifier of the lead company of the underlying Entity/Company/Branch for the respective contract for customer data protection purposes. Example US0010001.",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "deviceId",
          "in" : "header",
          "description" : "Identifies the device type",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "userRole",
          "in" : "header",
          "description" : "User who initiated the transaction",
          "required" : false,
          "type" : "string"
        }, {
          "name" : "disablePagination",
          "in" : "header",
          "description" : "Indicates the pagination header attributes availability. If set to 'true', it fetches all the data",
          "required" : false,
          "type" : "boolean"
        } ],
        "responses" : {
          "200" : {
            "description" : "IndividualCustomerResponse",
            "schema" : {
              "$ref" : "#/definitions/IndividualCustomerResponse"
            }
          },
          "default" : {
            "description" : "QueryErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/QueryErrorResponse"
            }
          },
          "400" : {
            "description" : "BusinessQueryErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/BusinessQueryErrorResponse"
            }
          },
          "500" : {
            "description" : "SystemQueryErrorResponse",
            "schema" : {
              "$ref" : "#/definitions/SystemQueryErrorResponse"
            }
          }
        }
      }
    }
  },
  "securityDefinitions" : {
    "basicAuth" : {
      "type" : "basic"
    },
    "apiKey" : {
      "type" : "apiKey",
      "name" : "Authorization",
      "in" : "header"
    }
  },
  "definitions" : {
    "QueryHeader" : {
      "properties" : {
        "audit" : {
          "type" : "object",
          "properties" : {
            "T24_time" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Time taken to response by Transact"
            },
            "versionNumber" : {
              "type" : "string",
              "description" : "The CURR.NO. of the record"
            },
            "requestParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the request by IRIS"
            },
            "responseParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the response by IRIS"
            }
          }
        },
        "status" : {
          "type" : "string",
          "description" : "Status of the API(success/failed)"
        },
        "page_size" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The total number of records per page"
        },
        "page_start" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The record from which the response should be displayed"
        },
        "total_size" : {
          "type" : "integer",
          "format" : "int32",
          "description" : "The total number of records present"
        },
        "page_token" : {
          "type" : "string",
          "description" : "Unique id expected to get as part of response from Transact on every enquiry request"
        }
      }
    },
    "IndividualCustomerResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/QueryHeader"
        },
        "body" : {
          "$ref" : "#/definitions/IndividualCustomerResponseBody"
        }
      },
      "description" : "IndividualCustomerResponse"
    },
    "IndividualCustomerResponseBody" : {
      "type" : "array",
      "items" : {
        "type" : "object",
        "properties" : {
          "customerId" : {
            "type" : "string",
            "description" : "Identifier of the customer",
            "maxLength" : 10
          },
          "mnemonic" : {
            "type" : "string",
            "description" : "Shortcut code for referring an Entity/Company/Branch.",
            "maxLength" : 35
          },
          "firstName" : {
            "type" : "string",
            "description" : "Specifies customer's first name",
            "maxLength" : 70
          },
          "customerNameAdditional" : {
            "type" : "string",
            "description" : "Continuation/Extension to the Customer Name.",
            "maxLength" : 70
          },
          "fatherSurname" : {
            "type" : "string",
            "description" : "Contains the father surname of the customer",
            "maxLength" : 50
          },
          "motherSurname" : {
            "type" : "string",
            "description" : "Contains the mothers surname of the customer",
            "maxLength" : 50
          },
          "lastName" : {
            "type" : "string",
            "description" : "The last name of an individual customer",
            "maxLength" : 50
          },
          "shortName" : {
            "type" : "string",
            "description" : "Contains the name of the account, basically the short title of the account.",
            "maxLength" : 50
          },
          "gender" : {
            "type" : "string",
            "description" : "Gender of the Individual Customer",
            "maxLength" : 35
          },
          "maritalStatus" : {
            "type" : "string",
            "description" : "Marital status of the customer",
            "maxLength" : 35
          },
          "accountOfficerID" : {
            "type" : "string",
            "description" : "The identifier of the department head or specific account officer responsible for the customer"
          },
          "sectorId" : {
            "type" : "string",
            "description" : "An institution-defined identifier of the type of customer"
          },
          "industry" : {
            "type" : "string",
            "description" : ""
          },
          "target" : {
            "type" : "string",
            "description" : "Specifies how the Customer is considered by the bank and how he fits in with the Account Officer's overall marketing strategy"
          },
          "nationalityId" : {
            "type" : "string",
            "description" : "The identifier of the nationality of a customer",
            "maxLength" : 2
          },
          "residenceId" : {
            "type" : "string",
            "description" : "The identifier of the country of residence of a customer",
            "maxLength" : 2
          },
          "dateOfBirth" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date of birth of an individual customer"
          },
          "exonerateItfTax" : {
            "type" : "string",
            "description" : "Represents a subdivision of a country such as state, region, country",
            "maxLength" : 3
          },
          "contactDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Date that first contact was made with the Customer."
          },
          "customerStatus" : {
            "type" : "string",
            "description" : "The internal bank status of a customer",
            "maxLength" : 4
          },
          "addressCountryId" : {
            "type" : "string",
            "description" : "Identifies the country of customer address",
            "maxLength" : 2
          },
          "addressLocation" : {
            "type" : "string",
            "description" : "Identifies the nature of the postal address, like primary, secondary or office address",
            "maxLength" : 35
          },
          "state" : {
            "type" : "string",
            "description" : "Represents a subdivision of a country such as state, region, country",
            "maxLength" : 35
          },
          "locationName" : {
            "type" : "string",
            "description" : "Identifies specific location name with in the country or town",
            "maxLength" : 35
          },
          "districtName" : {
            "type" : "string",
            "description" : "Stores the district name of the  Beneficiary Customer.",
            "maxLength" : 35
          },
          "postCode" : {
            "type" : "string",
            "description" : "Identifies the address postal code for the customer.",
            "maxLength" : 35
          },
          "direction" : {
            "type" : "string",
            "description" : "Indicates the direction of the Direct debit claim for which mandate is received. The claim can be 'Outward' i.e. Claim is sent to the other bank or 'Inward'  i.e. other bank submit their claim to debit our customer's account. ",
            "maxLength" : 35
          },
          "street" : {
            "type" : "string",
            "description" : "Contains the first line of customer's base address, example building number, street number etc.",
            "maxLength" : 70
          },
          "buildingName" : {
            "type" : "string",
            "description" : "Identifies the name of the building where customer resides",
            "maxLength" : 35
          },
          "buildingNumber" : {
            "type" : "string",
            "description" : "Identifies the building number where customer resides",
            "maxLength" : 16
          },
          "floorNumber" : {
            "type" : "string",
            "description" : "Contains the floor number of the customer address",
            "maxLength" : 70
          },
          "reference" : {
            "type" : "string",
            "description" : "Indicates the transaction reference for which the history of transactions is requested. It is steered by the attribute 'booked' given the start date and end date or the entry from which the history is requested",
            "maxLength" : 70
          },
          "updatedAddress" : {
            "type" : "string",
            "description" : "Contains whether the history of address has to be maintained for the customer or not.",
            "maxLength" : 3
          },
          "addressVerifier" : {
            "type" : "string",
            "description" : "Contains the party or service which was used for address confirmation purposes",
            "maxLength" : 35
          },
          "phoneNumber" : {
            "type" : "string",
            "description" : "The phone number of the customer or prospect",
            "maxLength" : 17
          },
          "smsNumber" : {
            "type" : "string",
            "description" : "The mobile SMS number of the customer",
            "maxLength" : 17
          },
          "email" : {
            "type" : "string",
            "description" : "Email Identifier of the Customer",
            "maxLength" : 50
          },
          "officePhoneNumber" : {
            "type" : "string",
            "description" : "The office phone number of the customer",
            "maxLength" : 17
          },
          "faxId" : {
            "type" : "string",
            "description" : "The fax (facsimile) number of the customer",
            "maxLength" : 17
          },
          "contactType" : {
            "type" : "string",
            "description" : "Types of contacts available to users to communicate",
            "maxLength" : 35
          },
          "contactData" : {
            "type" : "string",
            "description" : "Indicates the contact data of customer used for communication such as phone or mobile or e-mail address.",
            "maxLength" : 254
          },
          "iddPrefixPhone" : {
            "type" : "string",
            "description" : "Identifies the international calling prefix code of the phone or mobile number.",
            "maxLength" : 16
          },
          "isSecureMessage" : {
            "type" : "string",
            "description" : "Represents a subdivision of a country such as state, region, country",
            "maxLength" : 3
          },
          "legalDocumentName" : {
            "type" : "string",
            "description" : "Name of the legal documents such as passport, driving licence etc., provided as identification proof"
          },
          "legalId" : {
            "type" : "string",
            "description" : "Unique reference number of the legal documents submitted as identification proof",
            "maxLength" : 35
          },
          "holderName" : {
            "type" : "string",
            "description" : "Identifies the Name of the  joint, substantial or beneficial owner",
            "maxLength" : 100
          },
          "issuedBy" : {
            "type" : "string",
            "description" : "The issuer of a security or a bond.",
            "maxLength" : 75
          },
          "issueDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The date the item was issued."
          },
          "legalExpiredDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Expiry date of the legal document submitted as proof"
          },
          "relation" : {
            "type" : "string",
            "description" : "Identifies the inter-relationship between customer with other customers",
            "maxLength" : 3
          },
          "jointCustomer" : {
            "type" : "string",
            "description" : "Represents a subdivision of a country such as state, region, country",
            "maxLength" : 10
          },
          "reverseJointRelationCode" : {
            "type" : "string",
            "description" : "Relationship code for the Related Customer",
            "maxLength" : 3
          },
          "bankRelation" : {
            "type" : "string",
            "description" : "Contains the father surname of the customer",
            "maxLength" : 35
          },
          "jointRelationDeliveryOption" : {
            "type" : "string",
            "description" : "This is used to specify what delivery addressing is to be used for the link customer. ",
            "maxLength" : 35
          },
          "role" : {
            "type" : "string",
            "description" : "Indicates the Role of the Customer",
            "maxLength" : 20
          },
          "jointRelationRoleId" : {
            "type" : "string",
            "description" : "Role of joint customer with the main customer",
            "maxLength" : 35
          },
          "jointRelationRoleNote" : {
            "type" : "string",
            "description" : "Additional notes about the role",
            "maxLength" : 35
          },
          "customerLiability" : {
            "type" : "string",
            "description" : "Indicates the customer consolidation number for credit grouping purposes, within the same branch/country.",
            "maxLength" : 10
          },
          "employmentStatus" : {
            "type" : "string",
            "description" : "Identifies the employment status of the customer",
            "maxLength" : 35
          },
          "educationLevel" : {
            "type" : "string",
            "description" : "Denotes the clients's education Level.Possible Values : Degree, Diploma, A Level, O Level, Post Graduate, 0 - None, 1 - Not Defined, 2 - High School, 3 - Graduate, 4 - Post Graduate",
            "maxLength" : 10
          },
          "occupation" : {
            "type" : "string",
            "description" : "Occupation of the customer",
            "maxLength" : 35
          },
          "employerName" : {
            "type" : "string",
            "description" : "Name of the customer's employer",
            "maxLength" : 35
          },
          "legalDocumentNameOfEmployer" : {
            "type" : "string",
            "description" : "Contains the mothers surname of the customer",
            "maxLength" : 20
          },
          "legalIdOfEmployer" : {
            "type" : "string",
            "description" : "Contains whether the Financial Tranactions Taxes (ITF tax) should be exempted or not. If this property is set to yes, the customer will be exempted from ITF tax for all the transactions.",
            "maxLength" : 20
          },
          "lineOfBusiness" : {
            "type" : "string",
            "description" : "Contains the line of business in which the activity was performed. If pricing is not determined based on line of business, then this is not significant",
            "maxLength" : 35
          },
          "employerAddress" : {
            "type" : "string",
            "description" : "The address of the customer's employer.",
            "maxLength" : 35
          },
          "employStartDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "Starting date of the customer's employment"
          },
          "interest" : {
            "type" : "string",
            "description" : "Interest amount",
            "maxLength" : 35
          },
          "residenceStatus" : {
            "type" : "string",
            "description" : "Residence Status of the Customer for CRM purpose like Owner, Tenant, Householder, Nester etc.",
            "maxLength" : 35
          },
          "residenceType" : {
            "type" : "string",
            "description" : "Residence type of the customer like Farmhouse, Independent house, Residential Apartment, Serviced Apartments",
            "maxLength" : 35
          },
          "residenceSince" : {
            "type" : "string",
            "description" : "The date since the user has obtained the residence.",
            "maxLength" : 11
          },
          "residenceValue" : {
            "type" : "string",
            "description" : "Market Value of the customer's residence",
            "maxLength" : 19
          },
          "residenceMortgageValue" : {
            "type" : "string",
            "description" : "Mortgage value of the residence property of the customer",
            "maxLength" : 19
          },
          "exitStatus" : {
            "type" : "string",
            "description" : "The field reflects the customer exit status of a customer or prospect",
            "maxLength" : 35
          },
          "exitDate" : {
            "type" : "string",
            "format" : "date",
            "description" : "The field reflects the customer exit date of the customer or prospect"
          },
          "exitReason" : {
            "type" : "string",
            "description" : "The field reflects the customer exit reason of the customer or prospect",
            "maxLength" : 80
          },
          "manualRiskClass" : {
            "type" : "string",
            "description" : "Customer's risk class updated manually by the User overriding the risk class calculated by the KYC process",
            "maxLength" : 10
          },
          "consentType" : {
            "type" : "string",
            "description" : "Consent Type for which the consent is given",
            "maxLength" : 3
          },
          "consentChannel" : {
            "type" : "string",
            "description" : "Contains whether the Financial Tranactions Taxes (ITF tax) should be exempted or not. If this property is set to yes, the customer will be exempted from ITF tax for all the transactions.",
            "maxLength" : 35
          }
        }
      }
    },
    "ErrorHeader" : {
      "properties" : {
        "audit" : {
          "type" : "object",
          "properties" : {
            "T24_time" : {
              "type" : "integer",
              "format" : "int32",
              "description" : "Time taken to response by Transact"
            },
            "versionNumber" : {
              "type" : "string",
              "description" : "The CURR.NO. of the record"
            },
            "requestParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the request by IRIS"
            },
            "responseParse_time" : {
              "type" : "number",
              "description" : "Time taken to parse the response by IRIS"
            }
          }
        },
        "status" : {
          "type" : "string",
          "description" : "Status of the API(success/failed)"
        }
      }
    },
    "QueryErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/QueryErrorResponseBody"
        }
      },
      "description" : "QueryErrorResponse"
    },
    "QueryErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "code" : {
          "type" : "string",
          "description" : "The identifier of the error message"
        },
        "message" : {
          "type" : "string",
          "description" : "The actual Transact error message "
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: "
        }
      }
    },
    "BusinessQueryErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/BusinessQueryErrorResponseBody"
        }
      },
      "description" : "BusinessQueryErrorResponse"
    },
    "BusinessQueryErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "code" : {
          "type" : "string",
          "description" : "The identifier of the error message"
        },
        "message" : {
          "type" : "string",
          "description" : "The actual Transact error message for bad requests"
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: Business"
        }
      }
    },
    "SystemQueryErrorResponse" : {
      "properties" : {
        "header" : {
          "$ref" : "#/definitions/ErrorHeader"
        },
        "error" : {
          "$ref" : "#/definitions/SystemQueryErrorResponseBody"
        }
      },
      "description" : "SystemQueryErrorResponse"
    },
    "SystemQueryErrorResponseBody" : {
      "type" : "object",
      "properties" : {
        "code" : {
          "type" : "string",
          "description" : "The identifier of the error message"
        },
        "message" : {
          "type" : "string",
          "description" : "The actual Transact error message caused by server"
        },
        "type" : {
          "type" : "string",
          "description" : "The identifier of error type: System"
        }
      }
    }
  }
}