"openapi: 3.0.1\ninfo:\n title: Travel Takaful\n # description: API documentation for Travel Takaful\n description: Provides a comprehensive protection that allows you to travel with peace of mind\n termsOfService: http://sandbox.takaful-ikhlas.com.my\n contact:\n email: digital@mnrb.com.my\n version: 1.0.0\n logoUrl: assets/images/catalog-icon/vectorTravel.svg\nservers:\n- url: https://sandbox.takaful-ikhlas.com.my/api/v1\ntags:\n- name: Plans\n description: PA Perdana Plans\n- name: Quotations\n description: Quotations API\n- name: Customers\n description: Customers API\n- name: Beneficiaries\n description: Beneficiaries API\n- name: Nominees\n description: Nominees API\n- name: References\n description: General API\npaths:\n /refs/pa/plans:\n get:\n tags:\n - Plans\n summary: Get All Personal Accident Plans\n parameters:\n - name: product\n in: query\n description: 'Query plans by product. Example: perdana, permata, amani'\n schema:\n type: string\n responses:\n 200:\n description: Success\n content: {}\n 404:\n description: No Product Type Found\n content: {}\n security:\n - api_key: []\n /nonmotor/pa/quotation:\n post:\n tags:\n - Quotations\n summary: Create Quotation\n requestBody:\n description: Quotation details\n content:\n multipart/form-data:\n schema:\n $ref: '#/components/schemas/Quotation'\n application/json:\n schema:\n $ref: '#/components/schemas/Quotation'\n required: true\n responses:\n 200:\n description: Success\n content: {}\n security:\n - api_key: []\n x-codegen-request-body-name: body\n /nonmotor/pa/quotations:\n get:\n tags:\n - Quotations\n summary: Get List Quotations\n parameters:\n - name: offset\n in: query\n description: 'The page number. Default is 0. Example: 0'\n schema:\n type: integer\n - name: limit\n in: query\n description: 'The numbers of items to return. Default is 10. Example: 30'\n schema:\n type: integer\n - name: attributes\n in: query\n description: 'Select attributes to show for quotation. Example: id,grossContribution,riskCode'\n schema:\n type: string\n - name: includeCustomer\n in: query\n description: 'Include customer details for each quotation. Example: true'\n schema:\n type: boolean\n - name: customerAttributes\n in: query\n description: 'Select attributes to show for customer. Example: idNo,name'\n schema:\n type: string\n - name: includeBeneficiaries\n in: query\n description: 'Include all beneficiaries details for each quotation. Example:\n true'\n schema:\n type: boolean\n - name: beneficiariesAttributes\n in: query\n description: 'Select attributes to show for beneficiary. Example: name,beneficiaryType'\n schema:\n type: string\n - name: insuredId\n in: query\n description: 'Select quotations with this customerId only. Example: 1'\n schema:\n type: integer\n - name: insuredName\n in: query\n description: 'Select quotations with this customer''s name. Example: customer\n name'\n schema:\n type: string\n - name: insuredIdNo\n in: query\n description: 'Select quotations with this idNo only. Example: 900101010101'\n schema:\n type: string\n responses:\n 200:\n description: Success\n content: {}\n security:\n - api_key: []\n /nonmotor/pa/quotation/{quotationId}:\n get:\n tags:\n - Quotations\n summary: Get Quotation Details by ID\n parameters:\n - name: quotationId\n in: path\n description: Quotation ID\n required: true\n schema:\n type: integer\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: |-\n Bad Request\n - No Quotation ID Found\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n put:\n tags:\n - Quotations\n summary: Update Quotation Details by ID\n parameters:\n - name: quotationId\n in: path\n description: Quotation ID\n required: true\n schema:\n type: integer\n requestBody:\n description: Update Details\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/UpdateQuotation'\n required: true\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: |-\n Bad Request\n - No Quotation ID Found\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n x-codegen-request-body-name: body\n delete:\n tags:\n - Quotations\n summary: Delete Quotation Details by ID\n parameters:\n - name: quotationId\n in: path\n description: Quotation ID\n required: true\n schema:\n type: integer\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: |-\n Bad Request\n - No Quotation ID Found\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /nonmotor/pa/quotation/accept/{quotationId}:\n put:\n tags:\n - Quotations\n summary: Accept Quotation ID\n parameters:\n - name: quotationId\n in: path\n description: Quotation ID\n required: true\n schema:\n type: integer\n requestBody:\n description: Acceptance details\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/AcceptQuotation'\n required: true\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: |-\n Bad Request\n - No Quotation ID Found\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n x-codegen-request-body-name: body\n /customer:\n post:\n tags:\n - Customers\n summary: Create Customer\n requestBody:\n description: Customer details\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/Customer'\n required: true\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n x-codegen-request-body-name: body\n /customers:\n get:\n tags:\n - Customers\n summary: Get List of Customers\n parameters:\n - name: offset\n in: query\n description: 'The page number. Default is 0. Example: 0'\n schema:\n type: integer\n - name: limit\n in: query\n description: 'The numbers of items to return. Default is 10. Example: 30'\n schema:\n type: integer\n - name: attributes\n in: query\n description: 'Select attributes or columns to show for quotation. Example:\n id,idNo,name'\n schema:\n type: string\n - name: includeBeneficiaries\n in: query\n description: 'Include all beneficiaries details for each quotation. Example:\n true'\n schema:\n type: boolean\n - name: beneficiaryAttributes\n in: query\n description: 'Select attributes or columns to show for beneficiary. Example:\n name,beneficiaryType'\n schema:\n type: string\n - name: includeNominees\n in: query\n description: 'Select attributes or columns to show for beneficiary. Example:\n name,beneficiaryType'\n schema:\n type: boolean\n - name: nomineeAttributes\n in: query\n description: 'Select attributes or columns to show for beneficiary. Example:\n name,beneficiaryType'\n schema:\n type: string\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /customer/{customerId}:\n get:\n tags:\n - Customers\n summary: Get Customer Details by ID\n parameters:\n - name: customerId\n in: path\n description: Customer ID\n required: true\n schema:\n type: integer\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: |-\n Bad Request\n - No Quotation ID Found\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n put:\n tags:\n - Customers\n summary: Update Customer Details by ID\n parameters:\n - name: customerId\n in: path\n description: Customer ID\n required: true\n schema:\n type: integer\n requestBody:\n description: Update Details\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/UpdateCustomer'\n required: true\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: |-\n Bad Request\n - No Quotation ID Found\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n x-codegen-request-body-name: body\n delete:\n tags:\n - Customers\n summary: Delete Customer Details by ID\n description: Unable to delete if customer is registered to any quotation.\n parameters:\n - name: customerId\n in: path\n description: Customer ID\n required: true\n schema:\n type: integer\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: |-\n Bad Request\n - No Quotation ID Found\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /beneficiary/customer/{customerId}:\n post:\n tags:\n - Beneficiaries\n summary: Create Beneficiary\n parameters:\n - name: customerId\n in: path\n description: Customer ID\n required: true\n schema:\n type: integer\n requestBody:\n description: 'Beneficiary details: idNo required'\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/Beneficiary'\n required: true\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n x-codegen-request-body-name: body\n /beneficiaries/customer/{customerId}:\n get:\n tags:\n - Beneficiaries\n summary: Get Customer's Beneficiary\n parameters:\n - name: customerId\n in: path\n description: Customer ID\n required: true\n schema:\n type: integer\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /beneficiaries:\n get:\n tags:\n - Beneficiaries\n summary: Get List of Beneficiaries\n parameters:\n - name: offset\n in: query\n description: 'The page number. Default is 0. Example: 0'\n schema:\n type: integer\n - name: limit\n in: query\n description: 'The numbers of items to return per page. Default is 10. Example:\n 30'\n schema:\n type: integer\n - name: attributes\n in: query\n description: 'Select attributes or columns to show for quotation. Example:\n id,idNo,name'\n schema:\n type: string\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /beneficiary/{beneficiaryId}:\n get:\n tags:\n - Beneficiaries\n summary: Get Beneficiary Details by ID\n parameters:\n - name: beneficiaryId\n in: path\n description: Beneficiary ID\n required: true\n schema:\n type: integer\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: |-\n Bad Request\n - No Quotation ID Found\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n put:\n tags:\n - Beneficiaries\n summary: Update Beneficiary Details by ID\n parameters:\n - name: beneficiaryId\n in: path\n description: Beneficiary ID\n required: true\n schema:\n type: integer\n requestBody:\n description: Update Details\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/UpdateBeneficiary'\n required: true\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: |-\n Bad Request\n - No Quotation ID Found\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n x-codegen-request-body-name: body\n delete:\n tags:\n - Beneficiaries\n summary: Delete Beneficiary Details by ID\n parameters:\n - name: beneficiaryId\n in: path\n description: Beneficiary ID\n required: true\n schema:\n type: integer\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: |-\n Bad Request\n - No Quotation ID Found\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /nominee/customer/{customerId}:\n post:\n tags:\n - Nominees\n summary: Create Nominee\n parameters:\n - name: customerId\n in: path\n description: Customer ID\n required: true\n schema:\n type: integer\n requestBody:\n description: Nominee details\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/Nominee'\n required: true\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n x-codegen-request-body-name: body\n /nominees/customer/{customerId}:\n get:\n tags:\n - Nominees\n summary: Get Customer's Nominees\n parameters:\n - name: customerId\n in: path\n description: Customer ID\n required: true\n schema:\n type: integer\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /nominees:\n get:\n tags:\n - Nominees\n summary: Get List of Nominees\n parameters:\n - name: offset\n in: query\n description: 'The page number. Default is 0. Example: 0'\n schema:\n type: integer\n - name: limit\n in: query\n description: 'The numbers of items to return per page. Default is 10. Example:\n 30'\n schema:\n type: integer\n - name: attributes\n in: query\n description: 'Select attributes or columns to show for quotation. Example:\n id,idNo,name'\n schema:\n type: string\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /nominee/{nomineeId}:\n get:\n tags:\n - Nominees\n summary: Get Nominee Details by ID\n parameters:\n - name: nomineeId\n in: path\n description: Nominee ID\n required: true\n schema:\n type: integer\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: |-\n Bad Request\n - No Quotation ID Found\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n put:\n tags:\n - Nominees\n summary: Update Nominee Details by ID\n parameters:\n - name: nomineeId\n in: path\n description: Nominee ID\n required: true\n schema:\n type: integer\n requestBody:\n description: Update Details\n content:\n application/json:\n schema:\n $ref: '#/components/schemas/UpdateNominee'\n required: true\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: Bad Request\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n x-codegen-request-body-name: body\n delete:\n tags:\n - Nominees\n summary: Delete Nominee Details by ID\n parameters:\n - name: nomineeId\n in: path\n description: Nominee ID\n required: true\n schema:\n type: integer\n responses:\n 200:\n description: Success\n content: {}\n 400:\n description: Bad Request\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /refs/postcodes:\n get:\n tags:\n - References\n summary: Get All Postcodes\n operationId: getPostcodes\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /refs/postcode/{postcodeId}:\n get:\n tags:\n - References\n summary: Get Specific Postcode Details\n operationId: getPostcode\n parameters:\n - name: postcodeId\n in: path\n description: ID of postcode to return\n required: true\n schema:\n type: integer\n format: int64\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n 404:\n description: No Postcode Found\n content: {}\n security:\n - api_key: []\n /refs/banks:\n get:\n tags:\n - References\n summary: Get All Banks and Bank Codes\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /refs/bank/{bankKey}:\n get:\n tags:\n - References\n summary: Get Specific Bank Details\n parameters:\n - name: bankKey\n in: path\n description: Code of bank to return\n required: true\n schema:\n type: string\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n 404:\n description: No Bank Found\n content: {}\n security:\n - api_key: []\n /refs/nationalities:\n get:\n tags:\n - References\n summary: Get All Nationalities and Nationalities Codes\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n security:\n - api_key: []\n /refs/nationality/{nationalityCode}:\n get:\n tags:\n - References\n summary: Get Specific Nationalities Details\n parameters:\n - name: nationalityCode\n in: path\n description: Code of nationality to return\n required: true\n schema:\n type: string\n responses:\n 200:\n description: Success\n content: {}\n 401:\n description: No API key found in request\n content: {}\n 404:\n description: No Nationalities Found\n content: {}\n security:\n - api_key: []\ncomponents:\n schemas:\n Quotation:\n type: object\n properties:\n planId:\n type: integer\n example:\n planId: 3\n UpdateQuotation:\n type: object\n properties:\n aqad:\n type: string\n consent:\n type: integer\n customerId:\n type: integer\n wakafPct:\n type: integer\n beneficiaries:\n type: array\n items:\n type: integer\n nominees:\n type: array\n items:\n type: object\n properties:\n nomineeId:\n type: integer\n sharePct:\n type: integer\n isExecutor:\n type: boolean\n quotationVersion:\n type: integer\n example:\n customerId: 1\n beneficiaries:\n - 1\n - 2\n nominees:\n - id: 1\n sharePct: 90\n isExecutor: true\n wakafPct: 10\n quotationVersion: 1\n Customer:\n type: object\n properties:\n idNo:\n type: string\n idType:\n type: string\n name:\n type: string\n dateOfBirth:\n type: string\n nationalityCode:\n type: string\n address1:\n type: string\n address2:\n type: string\n address3:\n type: string\n postcode:\n type: string\n mobileNumber:\n type: string\n email:\n type: string\n bankAccountNumber:\n type: string\n bankKey:\n type: string\n example:\n name: Najwa Hidayah binti Abu Syamil\n mobileNumber: \"60176665555\"\n email: email@domain.com\n UpdateCustomer:\n type: object\n properties:\n name:\n type: string\n dateOfBirth:\n type: string\n address1:\n type: string\n address2:\n type: string\n address3:\n type: string\n postcode:\n type: string\n mobileNumber:\n type: string\n email:\n type: string\n bankAccountNumber:\n type: string\n bankKey:\n type: string\n example:\n idNo: \"900101010101\"\n idType: NRIC\n nationalityCode: \"139\"\n address1: Jalan Suasana 2/6B\n address2: Bandar Tun Hussein Onn\n address3: Cheras\n postcode: \"43200\"\n bankAccountNumber: \"563525178211\"\n bankKey: BOFAMY2X\n Beneficiary:\n type: object\n properties:\n beneficiaryType:\n type: string\n idNo:\n type: string\n idType:\n type: string\n name:\n type: string\n dateOfBirth:\n type: string\n gender:\n type: string\n fullTimeEducation:\n type: boolean\n example:\n beneficiaryType: Spouse\n idNo: \"200101010101\"\n idType: NRIC\n name: Spouse Beneficiary\n fullTimeEducation: false\n UpdateBeneficiary:\n type: object\n properties:\n name:\n type: string\n fullTimeEducation:\n type: boolean\n example:\n name: Yati binti Borhan\n fullTimeEducation: true\n Nominee:\n type: object\n properties:\n idNo:\n type: string\n idType:\n type: string\n name:\n type: string\n dateOfBirth:\n type: string\n relationship:\n type: string\n mobileNumber:\n type: string\n email:\n type: string\n example:\n idNo: A1000001\n idType: PASSPORT\n name: Son Nominee\n dateOfBirth: 2019-01-01\n relationship: SON\n mobileNumber: \"60198765432\"\n email: son@nominee.com\n UpdateNominee:\n type: object\n properties:\n name:\n type: string\n dateOfBirth:\n type: string\n mobileNumber:\n type: string\n email:\n type: string\n example:\n name: Son Nominee\n dateOfBirth: 2010-01-01\n relationship: SON\n mobileNumber: \"60198765432\"\n email: son@nominee.com.my\n AcceptQuotation:\n type: object\n properties:\n aqad:\n type: boolean\n consent:\n type: boolean\n example:\n aqad: true\n consent: true\n securitySchemes:\n api_key:\n type: apiKey\n name: apikey\n in: header\n"
{}