openapi: 3.2.0 info: title: Mtn Group Customer API version: '1.0' description: 'Operations tagged Customer across 5 of this provider''s published API definitions: mtn-group-customer-survey.yml, mtn-group-mtn-customer-kyc-api-v1-product.yml, mtn-group-mtn-nigeria-customer-datashare.yml, mtn-group-mtn-nigeria-data-gifting-v1.yml, mtn-group-tmf629-customer-management.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://api.mtn.com/v1/survey - url: https://api.mtn.com/v1/customers - url: https://api.mtn.com/v1/datashare - url: https://api.mtn.com/v1/datagifting - url: https://serverRoot/tmf-api/customerManagement/v4/ tags: - name: Customer paths: /customers/{customerId}: get: tags: - Customer summary: Get Survey Quetions description: Fetch Survey Questions and Options. parameters: - name: customerId in: path description: Source Msisdn. The format must be E.123 required: true schema: type: string - name: surveyId in: query required: false description: The unique ID of a particular survey schema: type: string - name: targetSystem in: query schema: type: string enum: - CLM - DIGISURVEY - CLM_REST - name: surveyType in: query schema: type: string enum: - eValidator - SHARENSELL responses: '200': description: Success content: application/json: schema: type: object properties: statusCode: type: string description: This is the MADAPI Canonical response Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system response are mapped to specific canonical response codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes' statusMessage: type: string description: Status Message transactionId: type: string description: API generated Id to include for tracing requests data: $ref: '#/components/schemas/DataResponse' _links: type: object properties: self: type: string example: https://api.mtn.com/v1/survey/customers/23464618463 '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '406': description: Not acceptable content: application/json: schema: $ref: '#/components/schemas/Error' '415': description: Unsupported media Type content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' security: - ApiKeyAuth: [] post: tags: - Customer summary: Submit Survey and more KYC Answers description: Submit a list of questions and answers to survey. parameters: - name: surveyId in: header description: unique ID generated for each transaction required: false schema: type: string - name: surveyType in: header description: Survey type required: false schema: type: string - name: countryCode in: header description: Survey type required: false schema: type: string - name: customerId in: path description: Source Msisdn. The format must be E.123 required: true schema: type: string responses: '200': description: Success Response content: application/json: schema: type: object properties: statusCode: type: string description: This is the MADAPI Canonical response Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system response are mapped to specific canonical response codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes' statusMessage: type: string description: Status Message transactionId: type: string description: API generated Id to include for tracing requests data: $ref: '#/components/schemas/DataResponse' _links: type: object properties: self: type: string example: https://api.mtn.com/v1/survey/customers/23464618463 '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '406': description: Not acceptable content: application/json: schema: $ref: '#/components/schemas/Error' '415': description: Unsupported media Type content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' requestBody: content: application/json: schema: type: object required: - answers properties: hash: type: string example: Wk68gjJxucqM4qxTYCNH94TMid0KhIaE description: The unique hash identifier for submiting a survey answer targetSystem: type: string example: DIGISURVEY enum: - CLM - DIGISURVEY - CLM_REST - GENESIS surveyType: type: string enum: - SHARENSELL - eValidator servicePlan: type: string description: This is the service class of the customerId submiting survey answers answers: type: array description: The list of answered questions items: type: object properties: id: type: integer message: type: string input: type: string required: true security: - ApiKeyAuth: [] servers: - url: https://api.mtn.com/v1/survey /customers/surveyOptInByTimeStamp: get: tags: - Customer summary: Get Survey Msisdn List in CSV format description: Fetch Survey Msisdn List in CSV format. parameters: - name: startDate in: query schema: type: string - name: endDate in: query description: startDate required: true schema: type: string - name: targetSystem in: query schema: type: string enum: - GENESIS responses: '200': description: Success content: application/json: schema: type: object properties: statusCode: type: string description: This is the MADAPI Canonical response Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system response are mapped to specific canonical response codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes' statusMessage: type: string description: Status Message transactionId: type: string description: API generated Id to include for tracing requests data: $ref: '#/components/schemas/SurveyListResponse' _links: type: object properties: self: type: string example: https://api.mtn.com/v1/survey/customers/surveyOptInByTimeStamp '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/Error' '406': description: Not acceptable content: application/json: schema: $ref: '#/components/schemas/Error' '415': description: Unsupported media Type content: application/json: schema: $ref: '#/components/schemas/Error' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error' security: - ApiKeyAuth: [] servers: - url: https://api.mtn.com/v1/survey /customers/surveyInvitation: post: tags: - Customer summary: Submit Survey and more KYC Answers description: Submit a list of questions and answers to survey. parameters: - name: transactionId in: header description: Transaction Id for tracking purposes required: false schema: type: string responses: '200': description: Identity status response from ROC Enroll content: application/json: schema: $ref: '#/components/schemas/surveyInvitationResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error400' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error401' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error404' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/Error405' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error500' requestBody: content: application/json: schema: $ref: '#/components/schemas/surveyInvitationRequest' required: true security: - ApiKeyAuth: [] servers: - url: https://api.mtn.com/v1/survey /customers/{customerId}/kyc: parameters: - name: customerId in: path description: ID of the customer. It could be MSISDN, email address, or any other customer identifier. if customerId is msisdn, then the format must be E.123 required: true schema: type: string - name: startDate in: query description: An optional parameter, together with endDate, allows developers to specify a time range by which to query customer data on. If you want to request data for 2 months, then start date will need to be set to 2 months prior to today, and endDate to todays date. If this is not set, the date range will be defaulted to 6 months example: '20190329' schema: type: string format: date - name: endDate in: query description: An optional parameter, together with endDate, allows developers to specify a time range by which to query customer data on. If you want to request data for 2 months, then start date will need to be set to 2 months prior to today, and endDate to todays date. If this is not set, the date range will be defaulted to 6 months example: '20190929' schema: type: string format: date - name: transactionId in: header description: Client generated Id to include for tracing requests, so that the API can easily trace the HTTP request all the way from a client to MTNs backend processes (via our proxies). Each time a request is made to an MTN API the client should include a unique request reference in the HTTP Header. The value must be between 5 and 20 characters, and consist of ASCII letters, digits, or the characters +, /, =, and -. Invalid or blank IDs will be ignored and replaced with generated ones. MTN may use this to detect duplicate transactions from the client, but this functionality is not always guaranteed, so clients must make their own efforts to prevent duplicate transactions. MTN will also log the transactionId in order to assist with debugging and to correlate transactions processed by the API to requests from the client. schema: type: string get: summary: Retrieve customer KYC data tags: - Customer responses: 200: description: OK content: application/json: schema: description: Customer Object $ref: '#/components/schemas/kyc' 400: description: Bad Request. A Bad Request response is returned when the path info doesn't have the right format, or a parameter or request body value doesn't have the right format, or a required parameter is missing, or values have the right format but are invalid in some way. The client SHOULD NOT repeat the request without modifications. content: application/json: schema: $ref: '#/components/schemas/Error_2' 401: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error_2' 403: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error_2' 404: description: Customer not found content: application/json: schema: $ref: '#/components/schemas/Error_2' 405: description: Method Not allowed content: application/json: schema: $ref: '#/components/schemas/Error_2' 500: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error_2' servers: - url: https://api.mtn.com/v1/customers /customers/{senderMsisdn}: post: tags: - Customer summary: Share Data description: Provides the ability to share data with customer. parameters: - name: senderMsisdn in: path description: Source Msisdn. The format must be E.123 required: true schema: type: string - name: productcode in: query required: true description: The product code e.g NACT_NG_others_1 schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DataShareResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error_3' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error_3' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error_3' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error_3' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/Error_3' '406': description: Not acceptable content: application/json: schema: $ref: '#/components/schemas/Error_3' '415': description: Unsupported media Type content: application/json: schema: $ref: '#/components/schemas/Error_3' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error_3' requestBody: content: application/json: schema: $ref: '#/components/schemas/ReceiverInformation' description: Request body required: true security: - ApiKeyAuth: [] get: deprecated: true tags: - Customer summary: Retrieve Receivers' MSISDN description: Provides the ability to retrieve all registered receiver's msisdn. parameters: - name: senderMsisdn in: path description: Source Msisdn. The format must be E.123 required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DataShareListResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error_3' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error_3' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error_3' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error_3' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/Error_3' '406': description: Not acceptable content: application/json: schema: $ref: '#/components/schemas/Error_3' '415': description: Unsupported media Type content: application/json: schema: $ref: '#/components/schemas/Error_3' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error_3' security: - ApiKeyAuth: [] patch: deprecated: true tags: - Customer summary: Update Receiver's information description: Provides the ability to update the receiver's msisdn and sharable data amount. parameters: - name: senderMsisdn in: path description: Source Msisdn. The format must be E.123 required: true schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error_3' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error_3' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error_3' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error_3' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/Error_3' '406': description: Not acceptable content: application/json: schema: $ref: '#/components/schemas/Error_3' '415': description: Unsupported media Type content: application/json: schema: $ref: '#/components/schemas/Error_3' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error_3' requestBody: content: application/json: schema: $ref: '#/components/schemas/ReceiverInformation' description: Request body required: true security: - ApiKeyAuth: [] delete: deprecated: true tags: - Customer summary: Remove Receiver's Msisdn description: Provides the ability for removing receiver's msisdn. parameters: - name: senderMsisdn in: path description: Source Msisdn. The format must be E.123 required: true schema: type: string - name: receiverMsisdn in: query description: The beneficiary msisdn. The format must be E.123 schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error_3' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error_3' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error_3' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error_3' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/Error_3' '406': description: Not acceptable content: application/json: schema: $ref: '#/components/schemas/Error_3' '415': description: Unsupported media Type content: application/json: schema: $ref: '#/components/schemas/Error_3' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error_3' security: - ApiKeyAuth: [] servers: - url: https://api.mtn.com/v1/datashare /customers/{customerId}/analytics: get: tags: - Customer summary: Get analytic information of your data usage description: Get analytic information of your data usage and list of beneficiaries enjoying from the data. parameters: - name: customerId in: path description: Customer Msisdn. E.123 e.g 2349062058464 required: true schema: type: string - name: type required: true in: query description: Select the type of query to get schema: type: string enum: - provider - beneficiary - name: startDate in: query description: Filter the response data by start date required: true x-example: 20201001 schema: type: string - name: endDate in: query description: Filter the response data by end date required: true x-example: 20201004 schema: type: string - name: pageNum in: query description: Filter the response data by page number required: false x-example: 1 schema: type: string - name: pageSize in: query description: Filter the response data by page size required: false x-example: 5 schema: type: string responses: '200': description: Success content: application/json: schema: type: object properties: statusCode: type: string description: This is the MADAPI Canonical response Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system response are mapped to specific canonical response codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes' statusMessage: type: string description: Status Message transactionId: type: string description: API generated Id to include for tracing requests data: type: array items: $ref: '#/components/schemas/DataUsagerInformation' _links: type: object properties: self: type: string example: https://api.mtn.com/v1/customers/23464618463/analytics '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error_3' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error_3' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error_3' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error_3' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/Error_3' '406': description: Not acceptable content: application/json: schema: $ref: '#/components/schemas/Error_3' '415': description: Unsupported media Type content: application/json: schema: $ref: '#/components/schemas/Error_3' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error_3' security: - ApiKeyAuth: [] servers: - url: https://api.mtn.com/v1/datashare /customers/{customerId}/summary: get: tags: - Customer summary: Get GDS summary your data usage description: Get group data share summary for your dta usage. parameters: - name: customerId in: path description: Customer Msisdn. E.123 e.g 2349062058464 required: true schema: type: string - name: type required: true in: query description: Select the type of query to get schema: type: string enum: - provider - beneficiary - consumer - name: startDate in: query description: Filter the response data by start date required: true x-example: 20201001 schema: type: string - name: endDate in: query description: Filter the response data by end date required: true x-example: 20201004 schema: type: string - name: pageNum in: query description: Filter the response data by page number required: false x-example: 1 schema: type: string - name: pageSize in: query description: Filter the response data by page size required: false x-example: 5 schema: type: string - name: summaryPeriod in: query description: Shall be mandatory for provider and beneficiary type required: false schema: type: string enum: - Daily - Weekly - Monthly responses: '200': description: Success content: application/json: schema: type: object properties: statusCode: type: string description: This is the MADAPI Canonical response Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system response are mapped to specific canonical response codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes' statusMessage: type: string description: Status Message transactionId: type: string description: API generated Id to include for tracing requests customerId: type: string description: Customer Id data: type: object properties: pageNumber: type: number description: Current Page Number example: 1 recordsCount: type: number description: This is the number of records returned from the summary example: 25 maximumRecords: type: number description: This is the maximum number of records that can be returned summaryDetails: type: array items: $ref: '#/components/schemas/DataSummaryInformation' _links: type: object properties: self: type: string example: https://api.mtn.com/v1/customers/23464618463/analytics '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error_3' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error_3' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error_3' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error_3' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/Error_3' '406': description: Not acceptable content: application/json: schema: $ref: '#/components/schemas/Error_3' '415': description: Unsupported media Type content: application/json: schema: $ref: '#/components/schemas/Error_3' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error_3' security: - ApiKeyAuth: [] servers: - url: https://api.mtn.com/v1/datashare /customers/{senderMsisdn}/dataGifting: post: tags: - Customer summary: Data Gifting description: Requesting subscriber to purchase data on behalf of Beneficiary subscriber(customer). parameters: - name: senderMsisdn in: path description: Requesting subscriber Msisdn. Charging shall be done from Charging system using this. The format must be E.123 e.g 2349062058464 required: true schema: type: string - name: nodeid required: true in: query description: Third parties unique identifier. Can also be called channelId. schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/DataGiftingResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error_4' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error_4' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error_4' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error_4' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/Error_4' '406': description: Not acceptable content: application/json: schema: $ref: '#/components/schemas/Error_4' '415': description: Unsupported media Type content: application/json: schema: $ref: '#/components/schemas/Error_4' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error_4' requestBody: content: application/json: schema: $ref: '#/components/schemas/RequestData' description: Request body required: true security: - ApiKeyAuth: [] servers: - url: https://api.mtn.com/v1/datagifting /customer: get: operationId: listCustomer summary: List or find Customer objects description: This operation list or find Customer entities tags: - Customer parameters: - name: fields description: Comma-separated properties to be provided in response.The field names should be from the first level of property names as defined in Customer schema. required: false in: query schema: type: string - name: csrId description: It is logged in csr id and it is mandatory when List of VIP and Enterprise is fetched. required: false in: query schema: type: string - name: sortKey description: To sort the response based on sortkeys. Possible values name. Values will be retrieved from RT perestapi.imp.cust.SORT_KEY required: false in: query x-refdata-source: RT-perestapi.imp.cust.SORT_KEY schema: type: string - name: sortOrder description: To sort the response based on sort order. Possible value ascending, descending required: false in: query schema: type: string - name: retrievalType description: Type of retrieval of data. 1 -> retrieves the list of all object keys along with the number of object details mentioned in retrievalLimit, 2 -> retrieves the list of all object keys, 3 -> retrieves object details for the keys mentioned in objKeys required: true in: query schema: type: string - name: retrievalLimit description: Limit to the number of objects retrieved. Mandatory when retrievalType is 1 required: false in: query schema: type: string - name: objKeys description: Comma-separated object keys for which details to be retrieved. Mandatory when retrievalType is 3 required: false in: query schema: type: string - name: customerType description: To retrieve the customers by type - SV_MAPPING:Cust_Acct_Type.DisplayName_X - RT api.imp.ALL_CC_CUSTOMER_TYPE. Can be used together with retrievalType parameter or as additional parameter to searchKey and searchValue required: false in: query x-refdata-source: RT-api.imp.ALL_CC_CUSTOMER_TYPE schema: type: string - name: customerRank description: 'It tells if VIP list of customers are needed to be retrieved. Possible Value: VIP. Can be used together with retrievalType parameter' required: false in: query x-refdata-source: RT-accl.cust.CUSTOMER_RANK schema: type: integer format: int64 - name: listEntCustFlag description: 'It tells if list of enterprise customers are needed to be retrieved. Possible Value: 1. Can be used together with retrievalType parameter' required: false in: query schema: type: integer format: int64 - name: searchKey description: 'Search Keys on which data needs to be filtered. Valid Values: Name | MSISDN | IMSI | National ID | Account Number | Company Number | Passport ID. These values will be retrieved from RT perestapi.imp.cust.GlobalSrchFilters. Can be used together with retrievalType parameter' required: false in: query x-refdata-source: RT-perestapi.imp.cust.GlobalSrchFilters schema: type: string - name: searchValue description: Value of the searchKey passed. Mandatory when searchKey is use. required: false in: query schema: type: string - name: rootNodeId description: 'To retrieve the customers by root customer node id - SV_MAPPING: Cust_Acct.RootCustAcct_R. Can be used together with retrievalType parameter or as additional parameter to searchKey and searchValue.' required: false in: query schema: type: string - name: parentNodeId description: 'To retrieve the customers by parent customer node id - SV_MAPPING: Cust_Acct.ParentCustAcct_R. Can be used together with retrievalType parameter or as additional parameter to searchKey and searchValue.' required: false in: query schema: type: string - name: individualId description: To retrieve customer by Individual Id - SV_MAPPING:CustAcct_Contact.Contact.XSID. Can be used together with retrievalType parameter or with additional parameter customerType, rootNodeId or parentNodeId. required: false in: query schema: type: string - name: reason description: 'The reason for which API is called. Valid values: BalanceTransfer. This value will be retrieved from RT perestapi.REASON. It is used with searchKey is Account Number' required: false in: query x-refdata-source: RT-perestapi.REASON schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Customer_List' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '405': description: Method Not allowed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' security: - ApiKeyAuth: [] - OAuth2: [] post: operationId: createCustomer summary: Creates a Customer tags: - Customer parameters: - required: false name: Ignored-Warning in: header description: To store warning message IDs in comma separated string that will be ignored by the server schema: type: string responses: '201': description: Created headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Customer' '400': description: Bad Request headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '401': description: Unauthorized headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '403': description: Forbidden headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '404': description: Not Found headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '405': description: Method Not allowed headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '409': description: Conflict headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '500': description: Internal Server Error headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Customer_Create' description: The Customer to be created required: true security: - ApiKeyAuth: [] - OAuth2: [] servers: - url: https://serverRoot/tmf-api/customerManagement/v4/ /customer/{id}: get: operationId: retrieveCustomer summary: Retrieves a Customer by customer node id tags: - Customer parameters: - required: true name: id in: path description: 'Customer Node Id, SV_MAPPING: Cust_Acct.XSID_I' schema: type: string - required: false name: fields in: query description: Comma-separated properties to provide in response.The field names should be from the first level of property names as defined in Customer schema. schema: type: string - required: false name: effectiveDate in: query description: 'To search a specific customer history record details based on a given effective date value - Format: yyyy-mm-ddThh:nn:ss ' schema: type: string format: date-time - required: false name: reason in: query description: 'The reason for which API is called. Valid values: BalanceTransfer. This value will be retrieved from RT perestapi.REASON' x-refdata-source: RT-perestapi.REASON schema: type: string responses: '200': description: Success content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Customer' '400': description: Bad Request content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '401': description: Unauthorized content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '403': description: Forbidden content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '404': description: Not Found content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '405': description: Method Not allowed content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '409': description: Conflict content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '500': description: Internal Server Error content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' security: - ApiKeyAuth: [] - OAuth2: [] patch: operationId: patchCustomer summary: Update a customer by customer node id. tags: - Customer parameters: - required: true name: id in: path description: 'Customer node id, SV_MAPPING: Cust_Acct.XSID_I' schema: type: string - required: false name: Ignored-Warning in: header description: To store warning message IDs in comma separated string that will be ignored by the server schema: type: string responses: '200': description: 'Updated. Note: Only id, href and case will be outputted.' headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Customer' '400': description: Bad Request headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '401': description: Unauthorized headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '403': description: Forbidden headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '404': description: Not Found headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '405': description: Method Not allowed headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '409': description: Conflict headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' '500': description: Internal Server Error headers: Ignored-Warning: description: To store warning message IDs in comma separated string of same API call that have been successfully ignored in server schema: type: string content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Error_5' requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/Customer_Update' description: The Customer to be updated required: true security: - ApiKeyAuth: [] - OAuth2: [] servers: - url: https://serverRoot/tmf-api/customerManagement/v4/ components: schemas: Error400: properties: statusCode: type: integer description: Status code from target system to indicate transaction status example: '5000' statusMessage: type: string description: Status message from target system to indicate transaction status. supportMessage: type: string description: detail message from target system to indicate transaction status. transactionId: type: string description: This is the same transactionId that is sent in the request example: 0d1e1b18-1b6d-4792-8417-72d337f42a1c error: type: object Error404: properties: status: type: integer description: Status code from target system to indicate transaction status example: '1000' message: type: string description: details example: no match found DataResponse: type: object properties: hash: type: string description: The unique hash identifier attached to a survey example: Wk68gjJxucqM4qxTYCNH94TMid0KhIaE questions: type: array items: type: object properties: id: type: integer description: Unique Question Id type: type: string description: Type of the question example: QuestionScalableDIGI nested_level: example: 1 type: integer description: Questions Current Position language: type: object description: The actual Question example: text: How would you rate your experience performing this transaction? error: 'Please rate your experience to help us serve you better:' options: description: Available options for the question type: object example: render_type: star rating required: '1' number: '5' start_from_0: '0' answers: description: Expected answers type: object example: - id: '647' value: 'Yes' name: 'Yes' - id: '648' value: 'No' name: 'No' finish: type: boolean example: false description: Determined the last question state: type: string example: Created requiredScore: type: string example: 15 actualScore: type: string example: 20 surveyInvitationResponse: type: object properties: statusCode: type: string description: This is the MADAPI Canonical Error Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system errors are mapped to specific canonical error codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes', example: '0000' maxLength: 30 statusMessage: type: string description: More details and corrective actions related to the error which can be shown to a client. Success for 200. example: Success supportMessage: type: string description: More details information of status of transaction from backend. example: Success transactionId: type: string description: Unique Id sent with the request data: type: object properties: id: type: integer description: id example: '843873' self: type: string description: URL for questionnaire example: https://mtn-sa-rest.sandsiv.com/api/rest/questionnaire/xqLjY9sVhsDNfTUJRCAb9gMYKXED4M32/ hash: type: string description: hash id example: xqLjY9sVhsDNfTUJRCAb9gMYKXED4M32 survey: type: object description: survey details properties: id: type: integer description: survey id example: '360' self: type: string description: URL for questionnaire example: https://mtn-sa-rest.sandsiv.com/api/rest/survey/360/ channel: type: string description: Channel name example: DIGI state: type: integer description: state of the survey example: '1' surveyGroup: type: integer description: number of survey group example: '172' isStepbyStep: type: boolean description: Indication of the process being done step wise example: 'true' customer: type: object properties: id: type: string description: customer id example: '904' self: type: string description: URL for questionnaire example: https://mtn-sa-rest.sandsiv.com/api/rest/customer/904/ state: type: integer description: state of the survey example: '1' language: type: string description: language preference example: EN externalId: type: string description: External id example: kbu_test creationDate: type: string description: creation date example: '2020-03-31T20:55:47.162853+02:00' language: type: object properties: id: type: string description: language id example: '4' self: type: string description: URL for questionnaire example: https://mtn-sa-rest.sandsiv.com/api/rest/language/4/ name: type: string description: language name example: English iso6391code: type: string description: ISO code of the language example: EN state: type: integer description: state of the survey example: '32' subState: type: integer description: Sub state of the survey example: string creationDate: type: string description: creation date example: '2020-03-31T20:55:47.162853+02:00' startTime: type: string description: start time example: '2020-03-31T20:55:47.162853+02:00' invitationTime: type: string description: invitation time example: '2020-03-31T20:55:47.162853+02:00' endTime: type: string description: end time example: '2020-04-01T20:55:47.162853+02:00' details: type: array description: additional details items: properties: id: type: integer description: id example: '690418' self: type: string description: URL for questionnaire example: https://mtn-sa-rest.sandsiv.com/api/rest/questionnaire-detail/690418/ questionnaire: type: integer description: questionnaire number example: '843873' name: type: string description: parameter name example: MSISDN value: type: integer description: parameter value example: kbu@sandsiv.com importId: type: integer description: Import id example: string transactionalDataValues: type: array items: properties: id: type: integer description: transaction data id example: '1884108' self: type: string description: URL for questionnaire example: https://mtn-sa-rest.sandsiv.com/api/rest/transactional-data-value/1884108/ creationDate: type: string description: creation date example: '2024-07-25T19:10:51.625254+02:00' name: type: string description: parameter name example: SHOP value: type: integer description: parameter value example: MTN Cavendish Square Error405: properties: timestamp: type: string format: date-time description: Timestamp that the error occurred example: '2021-07-21T17:32:28Z' status: type: integer description: Status code from target system to indicate transaction status example: '3002' error: type: string description: error message example: Method Not Allowed message: type: string description: details path: type: string description: The path that caused the error Error401: properties: error: type: string description: error message from target system to indicate transaction status. example: missing_authorization error_description: type: string description: detailed error message from target system to indicate transaction status. example: Missing Authorization header SurveyListResponse: type: string title: SurveyListResponse description: msisdn list in csv format example: 26876497748,26876497748,26876062635 surveyInvitationRequest: type: object required: - customerId - address - language - surveyId properties: customerId: type: string description: MTN SA's ID of the customer that is invited to a survey example: kbu_test address: type: string description: Customer's email address (email or phone number) to send out survey invitation to. example: kbu@sansdiv.com language: type: string description: Required. Should contain Language code in ISO-691-1 format not of the survey to be shown to the customer. example like EN, FR, etc. example: EN surveyId: type: integer description: Should contain ID of the survey the customer should be invited to. Survey ID to use for each touchpoint is provided by MTN SA's Customer Experience team (e.g. Call Center Interaction, SIM card replacement, Mobile Data plan switch, etc. Example values are 123, 234, etc. example: '360' metadata: type: object properties: city: type: string description: Name of the city of the customer example: Cape Town shop: type: string description: Name of the shop example: MTN Cavendish Square Error500: properties: statusMessage: type: string description: More details and corrective actions related to the error which can be shown to a client example: Internal Server Error statusCode: type: string description: This is the MADAPI Canonical Error Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system errors are mapped to specific canonical error codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes' example: '3001' transactionId: type: string description: This is the same transactionId that is sent in the request example: 0d1e1b18-1b6d-4792-8417-72d337f42a1c supportMessage: type: string description: More details and corrective actions related to the error which can be shown to a client example: Backend System Error httpStatus: type: string description: The path that caused the error example: BAD REQIUEST Error: type: object required: - statusCode - statusMessage properties: statusCode: type: string description: This is the MADAPI Canonical Error Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system errors are mapped to specific canonical error codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes' example: '1000' statusMessage: type: string description: More details and corrective actions related to the error which can be shown to a client supportMessage: type: string description: Internal message meant for consumers of the API to troubleshoot the error (could possible include the back-end system error code in the message if it would be useful) transactionId: type: string description: API generated Id to include for tracing requests timestamp: type: string format: date-time description: Timestamp of the error example: 2019-08-23T07:29:25.593+0000 _links: type: object properties: self: type: object properties: href: type: string example: https://api.mtn.com/v1/survey/customers/surveyOptInByTimeStamp CustomerLinks: type: object required: - self properties: self: type: object required: - href description: '' properties: href: type: string description: HATEOS links referring to this object example: https://api.mtn.com/v1/customers/27832000000/kyc type: type: string description: HTTP methods supported by the HATEOS links above example: GET, POST kyc: type: object properties: data: type: object properties: idType: type: string description: Legal ID Type example: South African ID idNumber: type: string description: Legal ID Number/Reference example: '8002143987083' dateOfBirth: type: string format: date description: Date of Birth pattern: YYYY-MM-DD example: '1980-02-14' gender: $ref: '#/components/schemas/GenderEnum' firstName: type: string description: Name example: First n Middle lastName: type: string description: Surname example: Surname _links: $ref: '#/components/schemas/CustomerLinks' Error_2: type: object title: Error required: - status - message properties: timestamp: type: string format: date-time description: Timestamp when the error occurred, using date-time format example: 2019-08-23T07:29:25.593+0000” status: type: string description: HTTP Status code example: '404' error: type: string description: HTTP Status description example: Not Found message: type: string description: More error details and corrective measures example: No message available path: type: string description: that URL from which the error originated example: /customers/2783200000/subscriptions/AG8cfc7353e-23b0-578f-a041-b8bf5ef76418:23-08-201907:27:38AMGMT/status” GenderEnum: type: string title: Gender Enum example: Male enum: - Male - Female Error_3: properties: transactionId: type: string description: Unique ID generated by the API per request for tracking purpose. sequenceNo: type: string description: A unique id for tracking request/response on MADAPI timestamp: type: string format: date-time description: Timestamps of Error example: 2020-04-02T07:29:25.593+0000 statusCode: type: string description: Error Code example: '1000' error: type: string description: Short Description example: NOT_FOUND message: type: string description: More Error details and corrective measures example: '' path: type: string description: The path to the request example: https://api.mtn.com/v1/ DataSummaryInformation: type: object description: Sumary information for the subscriber properties: id: type: string description: Mobile number wose summary is being returned summaryType: type: string description: Summary Type dataUsage: type: object properties: value: type: number description: Data value unit: type: string description: data unit forexample KB date: type: string week: type: string month: type: string yearMonth: type: string ReceiverInformation: type: object required: - receiverMsisdn - requestedDataAmount properties: receiverMsisdn: type: string example: '2345957585859' description: The beneficiary msisdn. The format must be E.123 requestedDataAmount: type: string example: '100' description: Total amount of data to be shared with the customer in MBs senderId: type: string example: MyApp description: A 3PP sender id to be forwarded to the backend DataShareResponseData: type: object description: The impacted system success response required: - productName properties: productName: type: string example: Share 100MB notification: type: string example: You have successfully transferred 100MB Data to 2349062058463. DataShareResponse: type: object properties: statusCode: type: string description: HTTP Error code extension example: '0000' statusMessage: type: string example: Success transactionId: type: string description: Client generated Id to include for tracing requests. sequenceNo: type: string description: A uniquely generated id for tracking req/res internally on madapi data: $ref: '#/components/schemas/DataShareResponseData' _link: type: object properties: self: type: object properties: href: type: string example: https://api.mtn.com/v1/customers/2348064816493/dataShare SuccessResponse: type: object properties: statusCode: type: string description: HTTP Error code extension example: '0000' errorCode: type: string description: HTTP Error code extension example: S1001 statusMessage: type: string example: Action Successful transactionId: type: string description: Transaction Id used for tracking purposes example: txn123 data: type: object properties: countryCode: type: string description: ISO Country Code example: NG action: type: string product: type: object properties: productId: type: string description: Product Id productName: type: string description: Product name productType: type: string description: Product type amountCharged: type: number format: float description: Amount charged during the delete operation notification: type: string _link: type: object properties: self: type: object properties: href: type: string example: https://api.mtn.com/v1/customers/2348064816493/dataShare DataUsagerInformation: type: object description: The impacted system success response properties: serviceDurationUnit: type: string example: B servedmsisdn: type: string example: '9062292938' description: Customer Msisdn. providerMsisdn: type: string example: '9062756289' description: Data Provider Msisdn serviceDuration: type: integer example: 130528 serviceClassId: type: string example: '300' serviceType: type: string example: GPRS currencyCode: type: string example: NGN dateKey: type: integer example: 20201001 apn: type: string example: web.gprs.mtnnigeria.net DataShareListResponse: type: object properties: statusCode: type: string description: HTTP Error code extension statusMessage: type: string example: Data Successfully Retrieved transactionId: type: string description: Client generated Id to include for tracing requests. data: type: array description: List of all receiver's msisdn and intended sharable amount items: $ref: '#/components/schemas/ReceiverInformation' _link: type: object properties: self: type: object properties: href: type: string example: https://api.mtn.com/v1/customers/2348064816493/dataShare DataGiftingResponse: type: object properties: statusCode: type: string description: HTTP error code extension example: '0000' statusMessage: type: string example: Success transactionId: type: string example: '31849294974397393924' description: Client generated Id to include for tracing requests, so that the API can easily trace the HTTP request all the way from a client to MTNs backend processes (via our proxies). Each time a request is made to an MTN API the client should include a unique request reference in the HTTP Header. The value must be between 5 and 20 characters, and consist of ASCII letters, digits, or the characters +, /, =, and -. Invalid or blank IDs will be ignored and replaced with generated ones. MTN may use this to detect duplicate transactions from the client, but this functionality is not always guaranteed, so clients must make their own efforts to prevent duplicate transactions. MTN will also log the transactionId in order to assist with debugging and to correlate transactions processed by the API to requests from the client. data: $ref: '#/components/schemas/DataGiftingResponseData' _link: type: object properties: self: type: object properties: href: type: string example: https://api.mtn.com/v1/customers/2348064816493/datagifting DataGiftingResponseData: type: object description: The impacted system success response properties: productName: type: string example: 100 MB 3G PACK amtCharged: type: integer example: 90 notification: type: string example: You have successfully bought 100MB Data for 2349062058463. RequestData: type: object required: - receiverMsisdn - productCode - sendSms properties: receiverMsisdn: type: string example: '2349062058463' description: The Beneficiary subscriber msisdn. The format must be E.123 productCode: type: string example: NACT_NG_Data_4504 description: The product code, which already has a predefined data volumn and chargable amount in the Charging system sendSms: type: boolean example: true description: SMS will be sent to both subscriber’s Error_4: type: object properties: transactionId: type: string description: Client generated Id to include for tracing requests. timestamp: type: string format: date-time description: Timestamp when the error occurred, using date-time format example: 2019-08-23T07:29:25.593+0000 statusCode: type: string description: Canonical Status code example: '1000' error: type: string message: type: string description: More error details and corrective measures path: type: string description: '' ObjectKey: type: integer format: int64 description: All object keys matching search criteria returned in the response body. Array of objectKey BillStructure: type: object description: The bill structure that associated to the customer. properties: cycleSpecification: description: The bill cycle that associated to the customer. $ref: '#/components/schemas/CycleSpecification' format: type: array description: The bill invoice format. items: $ref: '#/components/schemas/Format' IndividualIdentification: type: object description: Represents our registration of information used as proof of identity by an individual (national identity card) properties: identificationId: type: string description: 'SV_MAPPING: NationalId ->Contact.Ul_National_Id_X' identificationType: type: string description: 'NationalId ' PartyRef: type: object description: Party reference. A party represents an organization or an individual. required: - id - '@referredType' properties: '@referredType': type: string description: 'This is type of related party which it reffers, possible values individual, organization, customer. SV_MAPPING: perestapi.REFERRED_TYPE' x-refdata-source: RT-perestapi.REFERRED_TYPE id: type: string description: Contact Id, SV_MAPPING:contact.ObjectKey (Primary) or SV_MAPPING:contact.ObjectKey (Secondary) or Customer id, SV_MAPPING:Cust_Acct.ObjectKey href: type: string description: Reference of the party - ://customer - :// name: type: string description: Contact display name, SV_MAPPING:contact.Display_Name, customer display name SV_MAPPING:Cust_Acct.CustAcctName_X or parent customer display name SV_MAPPING:Cust_Acct.ParentCustAcct_R@ role: type: string description: 'Primary | Secondary | Parent | Child. SV_MAPPING: perestapi.RELATED_PARTY_ROLE' x-refdata-source: RT-perestapi.RELATED_PARTY_ROLE individualIdentification: type: array items: $ref: '#/components/schemas/IndividualIdentification' partyCharacteristic: type: array description: 'Characteristic name supported: PersonalVatNumber | CorporateVatNumber | ContactRole. Characteristic value supported: PersonalVatNumber -> SV_MAPPING:Contact.General10_X | CorporateVatNumber -> SV_MAPPING:Contact.General10_X | ContactRole -> SV_MAPPING:perestapi.imp.CONTACT_ROLE. Characteristic value type supported: string' items: $ref: '#/components/schemas/Characteristic' x-refdata-source: '||RT-perestapi.imp.CONTACT_ROLE' contactMedium: type: array items: $ref: '#/components/schemas/ContactMedium' op: type: string description: 'add | replace | remove. SV_MAPPING: perestapi.OPERATION' x-refdata-source: RT-perestapi.OPERATION TreatmentExemption: type: object description: Customer treatment exemption. properties: id: type: string description: 'Treatment exemption derived attribute id, SV_MAPPING: CustAcctList.CustListID_I' exemption: type: string description: 'Treatment exemption flag, SV_MAPPING: CustAcctList.IndexValue01_X' x-refdata-source: RT-BOOLEAN description: type: string description: 'Treatment exemption description, SV_MAPPING: CustAcctList.Description_X' CreditProfile: type: object description: Credit profile for the party. required: - creditProfileDate - validFor properties: creditProfileDate: type: string format: date-time description: The date the profile was established creditRiskRating: type: string description: Credit rating, SV_MAPPING:Cust_Acct.CreditRating_R x-refdata-source: RT-TREATMENT_CREDIT_CLASS creditLimit: type: string description: CREDIT_LIMIT, SV_MAPPING:Cust_Acct.CreditLimit_C creditLimitCurrency: type: string description: Credit limit Currency, SV_MAPPING:Cust_Acct.CreditLimitCurrency_R x-refdata-source: CM-Currency expectedRevenue: type: string description: Expected revenue, SV_MAPPING:Cust_Acct.ExptRevAmt_C expRevCurrency: type: string description: Expected revenue currency, SV_MAPPING:Cust_Acct.ExptRevCurrency_R x-refdata-source: CM-Currency creditComments: type: string description: Credit comments, SV_MAPPING:Cust_Acct.CreditComments_X taxClass: type: string description: Tax class, SV_MAPPING:Cust_Acct.TaxClass_R x-refdata-source: RT-TAX_CLASS creditScore: type: string description: Credit score, SV_MAPPING:Cust_Acct.CreditScore_X validFor: $ref: '#/components/schemas/TimePeriod' description: The period for which the profile is valid TreatmentSuspension: type: object description: Customer treatment suspension. properties: suspensionReasonCode: type: string description: Treatment Suspension reason code, fetched from customer DA List. If suspensionReasonCode is not passed in the request or null then its delete suspension record from Treatment Suspension Attributes customer DA.SV_MAPPING:CustAcctList.ResultFact01_X x-refdata-source: RT-treatment.imp.SUSPENSION_REASON suspensionEndDate: type: string format: date-time description: Suspension End Date,fetched from customer DA List. SV_MAPPING:CustAcctList.ResultFact02_X id: type: string description: 'Treatment suspension derived attribute id, this is only used in case of GET Customer API. SV_MAPPING: CustAcctList.CustListID_I' suspensionDuration: type: string description: Suspension Duration,fetched from customer DA List. SV_MAPPING:CustAcctList.ResultFact04_X x-refdata-source: RT-treatment.imp.SUSPENSION_DURATION MediumCharacteristic: type: object description: Describes the contact medium characteristics that could be used to contact a party properties: street1: type: string description: 'Line 1, SV_MAPPING: Cust_Acct.PostalLine1_X | Cust_Acct.SiteLine1_X' street2: type: string description: 'Line 2, SV_MAPPING: Cust_Acct.PostalLine2_X | Cust_Acct.SiteLine2_X' suburb: type: string description: 'Suburban, SV_MAPPING: Cust_Acct.PostalSubDistrict_R | Cust_Acct.SiteSubDistrict_R' city: type: string description: 'City, SV_MAPPING: Cust_Acct.PostalCity_R | Cust_Acct.SiteCity_R' postCode: type: string description: 'Post Code, SV_MAPPING: Cust_Acct.PostalPostCode_X | Cust_Acct.SitePostCode_X' stateOrProvince: type: string description: 'State, SV_MAPPING: Cust_Acct.PostalDistrict_R | Cust_Acct.SiteDistrict_R' country: type: string description: 'Country, SV_MAPPING: Cust_Acct.PostalCountry_R | Cust_Acct.SiteCountry_R' addressLine1: type: string description: 'Address line 1, SV_MAPPING: Cust_Acct.PostalLine7_X | Cust_Acct.SiteLine7_X' geocode: type: string description: 'What3words, SV_MAPPING: Cust_Acct.PostalGeocode_X | Cust_Acct.SiteGeocode_X' subDoorNumber: type: string description: 'Sub Door number, SV_MAPPING: Cust_Acct.PostalSubDoorNumber_X | Cust_Acct.SiteSubDoorNumber_X' genericAddress: type: string description: 'Generic Address when the actual address is not known, SV_MAPPING: Cust_Acct.PostalGenericAddress_X | Cust_Acct.SiteGenericAddress_X' phoneNumber: type: string description: These are the phone numbers of the primary contact of customer. HomeNumber->SV_MAPPING:Contact.HomePhone_X,WorkNumber->SV_MAPPING:Contact.WorkPhone_X, MobileNumber->SV_MAPPING:Contact.MobilePhone_X xpos: type: number format: float description: 'X coordinate of the geographic address, SV_MAPPING: Cust_Acct.PostalXPos_D | Cust_Acct.SiteXPos_D' ypos: type: number format: float description: 'Y coordinate of the geographic address, SV_MAPPING: Cust_Acct.PostalYPos_D | Cust_Acct.SiteYPos_D' Customer_Create: type: object description: 'Skipped properties: id, href' required: - name - engagedParty properties: name: type: string description: Customer Name, SV_MAPPING:Cust_Acct.CustAcctName_X status: type: string description: Customer status, SV_MAPPING:Cust_Acct.CustStatus_R x-refdata-source: RT-CUSTOMER_NODE_STATUS validFor: description: The time period that the customer account is valid for. $ref: '#/components/schemas/TimePeriod' engagedParty: type: array description: Describes defines people who are contacts for a customer. items: $ref: '#/components/schemas/PartyRef' characteristic: type: array description: 'Characteristic name supported: CustomerType | IndustryType | CustomerVatNumber | SalesRepresentative | CompanyNumber | CompanyType | CompanyRegistrationNumber | CUGId | EmployeeCount | FoundedDate | CustomerRank | VATExempt | OfficialLetterRequired | SpecialistCSR | PaysForSelf | PaysBySalary | PaymentDueDateOffset | PaymentDueDatePreference | ApartmentOwner | EncouragementDiscountPlan | AdminNumber | DoorLockPin | OfficerCSR | ResponsibleTeam | SubTeam | PaymentDueDateUOM | MaximumInvoiceAmountPayableCompany | PartialAmount. Characteristic value supported: SV_MAPPING:Cust_Acct.Type_R, SV_MAPPING:Cust_Acct.Industry_R, SV_MAPPING:Cust_Acct.UI_CustomerVATNumber_X, SV_MAPPING:Cust_Acct.SalesRepresentative_R, SV_MAPPING:Cust_Acct.CompanyNum_X, SV_MAPPING:Cust_Acct.CompanyType_R, SV_MAPPING:Cust_Acct.CompanyRegNum_X, SV_MAPPING:Cust_Acct.CorporateIdentifier_X, SV_MAPPING:Cust_Acct.Employee_Count_I, SV_MAPPING:Cust_Acct.Founded_Date_T, SV_MAPPING:Cust_Acct.CustomerRank_R, SV_MAPPING:Cust_Acct.VatExempt_B, SV_MAPPING:Cust_Acct.OfficialLetterReq_B, SV_MAPPING:Cust_Acct.SpecialistCSR_R, SV_MAPPING:Cust_Acct.PaysForSelf_B, SV_MAPPING:Cust_Acct.PaysBySalary_B, SV_MAPPING:Cust_Acct.PaymentOffsetDays_I, SV_MAPPING:Cust_Acct.PaymentDuePref_R, SV_MAPPING:Cust_Acct.ApartmentOwner_R, SV_MAPPING:Cust_Acct.DiscountPlan_R, SV_MAPPING:Cust_Acct.AdminNumber_X, SV_MAPPING:Cust_Acct.DoorLockPin_X, SV_MAPPING:Cust_Acct.OfficerCSR_R, SV_MAPPING:Cust_Acct.ResponseTeam_R, SV_MAPPING:Cust_Acct.SubTeam_R, SV_MAPPING:Cust_Acct.PaymentDueDateUOM_R, SV_MAPPING:Cust_Acct.MaxInvAmtPayByComp_R, SV_MAPPING:Cust_Acct.MaxInvAmtPayByComp_C. Characteristic value type supported: string' items: $ref: '#/components/schemas/Characteristic' x-refdata-source: RT-api.imp.ALL_CC_CUSTOMER_TYPE|CM-Industry|||RT-COMPANY_TYPE||||||RT-accl.cust.CUSTOMER_RANK|RT-BOOLEAN|RT-BOOLEAN||RT-BOOLEAN|RT-BOOLEAN||RT-PAYMENT_DAY_PREFERENCE|RT-YES_NO|RT-accl.cust.DISCOUNT_PLAN|||CM-User|CM-Work_Group|RT-TEAMBRANCH|RT-inv.DATE_OFFSET_UOM|RT-INVOICE_PAYABLE_COMPANY| relatedParty: type: array description: Describes the parent account of a customer. items: $ref: '#/components/schemas/PartyRef' account: type: array description: Describes the customer primary account details. items: $ref: '#/components/schemas/AccountRef' creditProfile: description: Describes the customer credit profile. $ref: '#/components/schemas/CreditProfile' contactMedium: type: array description: 'Describes the customer contact medium details. Note: phoneNumber will not be used by POST customer.' items: $ref: '#/components/schemas/ContactMedium' paymentMethod: type: array description: Describes the customer payment methods. items: $ref: '#/components/schemas/PaymentMethodRef' case: $ref: '#/components/schemas/CaseRef' description: Case details Format: type: object description: The bill invoice format. properties: name: type: string description: Invoice formate name, SV_MAPPING:CustAcctInvoiceFormat.InvoiceFormat_R x-refdata-source: CM-InvoiceFormat presentationMedia: description: The bill invoice presentation media. $ref: '#/components/schemas/PresentationMedia' characteristic: type: array description: 'Characteristic name supported: sendInvoiceTo | contactId | itemized | addressChoice | invoiceLanguage | op | seqnr.Characteristic value supported: CustAcctInvoiceFormat.Contact_R, CustAcctInvoiceFormat.InvoiceItemised_R, CustAcctInvoiceFormat.AddressChoice_R, CustAcctInvoiceFormat.InvoiceLanguage_R, perestapi.OPERATION (op) and CustAcctInvoiceFormat.SequenceNum_I.Characteristic value type supported: string. For PATCH request, the combination of op and seqnr characteristics are mandatory values.They indicate the type of action (add/replace/remove) to perform on an identified invoice format entity, as well as all other attribute values under the format attribute object e.g.: name, presentationMedia and the list of other characteristic values.For GET request, the op characteristic will not be returned.For POST request, the op and seqnr characteristics will not be used.' items: $ref: '#/components/schemas/Characteristic' x-refdata-source: '||RT-INVXML.INVOICE_ITEMISED|RT-ADDRESS_CHOICE,RT-INVXML.EMAIL_ADDRESS_CHOICE|RT-INVXML.INVOICE_LANGUAGE|RT-perestapi.OPERATION|' AccountRef: type: object description: Customer primary account or prepaid account for BalanceTransfer reason. required: - name properties: id: type: string description: Primary account id or prepaid account id, SV_MAPPING:Cust_Acct.PrimaryAcctID_I or Account.AcctID_I name: type: string description: Name of the account accountNumber: type: string description: Primary account number or prepaid account number, SV_MAPPING:Cust_Acct.PrimaryAcctNum_X or Account.Name accountBalance: type: string description: ACCOUNT_BALANCE, SV_MAPPING:Cust_Acct.PrimAcctBal_C or Account.AcctBalance_C href: type: string description: Reference of the account - ://. Not implemented yet. accountType: type: string description: Account type, SV_MAPPING:Account.Type_R x-refdata-source: CM-Acct_Num_Type creditLimit: type: string description: Credit Limit, SV_MAPPING:Account.CreditLimit_C availableCredit: type: string description: AVAILABLE_CREDIT, SV_MAPPING:Account.AvailableCredit_C billStructure: description: The bill structure that associated to the account $ref: '#/components/schemas/BillStructure' paymentPlan: description: The payment method that associated to the account $ref: '#/components/schemas/PaymentPlan' dunningCase: description: The treatment process, if the account is in treatment $ref: '#/components/schemas/DunningCase' Error_5: description: Used when an API throws an Error, typically with a HTTP error response-code (3xx, 4xx, 5xx) type: object required: - code - reason properties: code: type: string description: Application relevant detail, defined in the API or a common list. reason: type: string description: Explanation of the reason for the error which can be shown to a client user. message: type: string description: Details information related to the error which can be shown to a client user. action: type: string description: Corrective actions for the error which can be shown to a client user. status: type: string description: HTTP Error code extension referenceError: type: string description: URI of documentation describing the error. format: uri '@baseType': type: string description: When sub - classing, this defines the super - class. '@schemaLocation': type: string description: A URI to a JSON - Schema file that defines additional attributes and relationships format: uri '@type': type: string description: '''Error'' indicates that the error message is of server error message, ''Warning'' indicates that the error message is of server warning message' errorParams: type: array items: $ref: '#/components/schemas/ErrorParam' CaseRef: type: object description: The Case data structure properties: id: type: string description: Identifier of the Case, SV_MAPPING:Case.ObjectKey href: type: string description: Reference of the case - :// status: type: string description: The Status of Case, Possible Values New/Open/Closed. SV_MAPPING:Case.Status name: type: string description: The name of the case, SV_MAPPING:Case.Name PaymentMethodRef: type: object description: PaymentMethod reference. A payment method defines a specific mean of payment (e.g direct debit). required: - id properties: '@type': type: string enum: - bankAccountDebit - bankCard description: 'Payment method type i.e.: bankAccountDebit | bankCard. SV_MAPPING: perestapi.PAYMENT_METHOD_TYPE RT' x-refdata-source: RT-perestapi.PAYMENT_METHOD_TYPE details: type: object description: If @type is bankAccountDebit then the details attribute object values will be derived from BankAccountDebitType object type. If @type is bankCard then the details attribute object values will be derived from BankCardType object type id: type: string description: Unique identifier of the payment mean href: type: string description: Reference of the payment mean name: type: string description: Name of the payment mean TaxDefinition: type: object description: Reference of a tax definition. properties: taxType: type: string description: 'Tax Association Code, SV_MAPPING: CustAcctList.IndexValue01_X' TimePeriod: type: object description: A base / value business entity used to represent a period of time between two timepoints. properties: startDateTime: type: string format: date-time description: 'Start Date format: yyyy-mm-ddThh:nn:ss, SV_MAPPING:Cust_Acct.EffectiveStartDate_T' endDateTime: type: string format: date-time description: 'The effective end date Format: yyyy-mm-ddThh:nn:ss, SV_MAPPING:Cust_Acct.EffectiveEndDate_T' Characteristic: type: object description: Describes a given characteristic of an object or entity through a name/value pair. required: - name - value properties: name: type: string description: Name of the characteristic. valueType: type: string description: The type of the value provided. value: type: string description: The value of the characteristic provided as a string.The value of this attribute is depending on the corresponding name attribute value which indirectly determines the correct internal field to map. ErrorParam: type: string description: Represents error parameters that are used in the construction of the error message. CycleSpecification: type: object description: The customer bill cycle. properties: name: type: string description: Schedule Name, SV_MAPPING:Cust_Acct.InvoiceCycle_R preferredCurrency: type: string description: Preferred Currency, SV_MAPPING:Cust_Acct.Currency_R x-refdata-source: CM-Currency reportLevel: type: string description: Report Level, SV_MAPPING:Cust_Acct.ReportLevel_R x-refdata-source: RT-REPORT_LEVEL suppressBilling: type: string description: Suppress Billing Flag, SV_MAPPING:Cust_Acct.SuppressBilling_B, Possible value 1 and 0 suppressCycles: type: string description: Suppress for number of Cycles, SV_MAPPING:Cust_Acct.SuppressCycles_I suppressUntilDate: type: string description: Bill suppress date, SV_MAPPING:Cust_Acct.SuppressDate_T transferredAccountNumber: type: string description: Transferred account number. SV_MAPPING:Cust_Acct.TransferAccountNumber_X billEndDate: type: string description: Bill End Date. Describes the Bill cycle end date PresentationMedia: type: object description: The bill invoice presentation media. properties: name: type: string description: Invoice Delivery, SV_MAPPING:CustAcctInvoiceFormat.InvoiceDelivery_R x-refdata-source: AT-invxml.InvoiceDelivery PaymentPlan: type: object description: The payment plan that associated to the account. properties: paymentMethod: type: string description: Payment method, SV_MAPPING:Cust_Acct.PayMethod_R x-refdata-source: RT-PAYMENT_METHOD paymentLocation: type: string description: Payment location, SV_MAPPING:Cust_Acct.PaymentLocation_R x-refdata-source: RT-PAYMENT_LOCATION autoPay: type: string description: Describes the customer is registered for auto pay or not, SV_MAPPING:RT-YES_NO x-refdata-source: RT-YES_NO DunningCase: type: object description: Customer treatment process. properties: id: type: string description: 'Treatment query id. SV_MAPPING: CustAcctQuery.QueryID_I' name: type: string description: 'Treatment query number. SV_MAPPING: CustAcctQuery.Name' href: type: string description: Not implemented yet status: type: string description: 'Treatment query status. SV_MAPPING: CustAcctQuery.QueryStatus_R' currentAmountDue: $ref: '#/components/schemas/Money' description: Current amount due for the customer. Money: type: object description: A base / value business entity used to represent money properties: unit: type: string description: 'Currency (ISO4217 norm uses 3 letters to define the currency). SV_MAPPING: CURRENCY_TRE_V.CURRENCY_SYMBOL' value: type: number format: float description: A positive floating-point number ContactMedium: type: object description: Indicates the contact medium that could be used to contact the party. required: - mediumType - characteristic properties: mediumType: type: string description: 'Type of the contact medium i.e.: PostalAddress | SiteAddress |HomeNumber | WorkNumber | MobileNumber. SV_MAPPING: perestapi.MEDIUM_TYPE RT' characteristic: $ref: '#/components/schemas/MediumCharacteristic' Customer_List: type: object description: Customer List properties: allObjKeys: description: All object keys which met search criteria. This information is used for pagination. type: array items: $ref: '#/components/schemas/ObjectKey' totalObjects: type: integer format: int64 description: Total number of items matching criteria customers: description: Describes the list of customers with details type: array items: $ref: '#/components/schemas/Customer' warningMessage: type: string description: Warning message details. Customer_Update: type: object description: 'Skipped properties: id, href' properties: name: type: string description: Customer Name, SV_MAPPING:Cust_Acct.CustAcctName_X status: type: string description: Customer status, SV_MAPPING:Cust_Acct.CustStatus_R x-refdata-source: RT-CUSTOMER_NODE_STATUS statusChangeReason: type: string description: Customer Status Change Reason. SV_MAPPING:Cust_Acct.CustStatusChangeReason_X. x-refdata-source: RT-accl.cust.statusChangeReason validFor: description: 'The time period that the customer account is valid for, SV_MAPPING: Cust_Acct.EffectiveStartDate_T. Note: endDateTime is not supported.' $ref: '#/components/schemas/TimePeriod' engagedParty: type: array description: 'Describes defines people who are contacts for a customer. Note: Only id, role and op are supported.' items: $ref: '#/components/schemas/PartyRef' characteristic: type: array description: 'Characteristic name supported: CustomerType | IndustryType | CustomerVatNumber | SalesRepresentative | CompanyNumber | CompanyType | CompanyRegistrationNumber | CUGId | EmployeeCount | FoundedDate | CustomerRank | VATExempt | OfficialLetterRequired | SpecialistCSR | PaysForSelf | PaysBySalary | PaymentDueDateOffset | PaymentDueDatePreference | VoucherTopUpStatus | ApartmentOwner | EncouragementDiscountPlan | AdminNumber | DoorLockPin | OfficerCSR | ResponsibleTeam | SubTeam | PaymentDueDateUOM | MaximumInvoiceAmountPayableCompany | PartialAmount. Characteristic value supported: SV_MAPPING:Cust_Acct.Type_R, SV_MAPPING:Cust_Acct.Industry_R, SV_MAPPING:Cust_Acct.UI_CustomerVATNumber_X, SV_MAPPING:Cust_Acct.SalesRepresentative_R, SV_MAPPING:Cust_Acct.CompanyNum_X, SV_MAPPING:Cust_Acct.CompanyType_R, SV_MAPPING:Cust_Acct.CompanyRegNum_X, SV_MAPPING:Cust_Acct.CorporateIdentifier_X, SV_MAPPING:Cust_Acct.Employee_Count_I, SV_MAPPING:Cust_Acct.Founded_Date_T, SV_MAPPING:Cust_Acct.CustomerRank_R, SV_MAPPING:Cust_Acct.VatExempt_B, SV_MAPPING:Cust_Acct.OfficialLetterReq_B, SV_MAPPING:Cust_Acct.SpecialistCSR_R, SV_MAPPING:Cust_Acct.PaysForSelf_B, SV_MAPPING:Cust_Acct.PaysBySalary_B, SV_MAPPING:Cust_Acct.PaymentOffsetDays_I, SV_MAPPING:Cust_Acct.PaymentDuePref_R, SV_MAPPING:Cust_Acct.VoucherTopUpStatus_B, SV_MAPPING:Cust_Acct.ApartmentOwner_R, SV_MAPPING:Cust_Acct.DiscountPlan_R, SV_MAPPING:Cust_Acct.AdminNumber_X, SV_MAPPING:Cust_Acct.DoorLockPin_X, SV_MAPPING:Cust_Acct.OfficerCSR_R, SV_MAPPING:Cust_Acct.ResponseTeam_R, SV_MAPPING:Cust_Acct.SubTeam_R, SV_MAPPING:Cust_Acct.PaymentDueDateUOM_R, SV_MAPPING:Cust_Acct.MaxInvAmtPayByComp_R, SV_MAPPING:Cust_Acct.MaxInvAmtPayByComp_C. Characteristic value type supported: string' items: $ref: '#/components/schemas/Characteristic' x-refdata-source: RT-api.imp.ALL_CC_CUSTOMER_TYPE|CM-Industry|||RT-COMPANY_TYPE||||||RT-accl.cust.CUSTOMER_RANK|RT-BOOLEAN|RT-BOOLEAN||RT-BOOLEAN|RT-BOOLEAN||RT-PAYMENT_DAY_PREFERENCE|RT-BOOLEAN|RT-YES_NO|RT-accl.cust.DISCOUNT_PLAN|||CM-User|CM-Work_Group|RT-TEAMBRANCH|RT-inv.DATE_OFFSET_UOM|RT-INVOICE_PAYABLE_COMPANY| relatedParty: type: array description: 'Describes the parent account of a customer. Note: Only id and role are supported.' items: $ref: '#/components/schemas/PartyRef' account: type: array description: 'Describes the customer primary account details. Note: Only billStructure and paymentPlan are support.' items: $ref: '#/components/schemas/AccountRef' creditProfile: description: Describes the customer credit profile. $ref: '#/components/schemas/CreditProfile' paymentMethod: type: array description: 'Describes the customer payment methods. Note: status is not supported.' items: $ref: '#/components/schemas/PaymentMethodRef' contactMedium: type: array description: 'Describes the customer contact medium details. Note: phoneNumber is not supported.' items: $ref: '#/components/schemas/ContactMedium' taxExemptionCertificate: type: array items: $ref: '#/components/schemas/TaxExemptionCertificate' treatmentExemption: description: Describes the customer treatment exemption. $ref: '#/components/schemas/TreatmentExemption' case: $ref: '#/components/schemas/CaseRef' description: Case details treatmentSuspension: description: Describes the customer treatment suspension fields. $ref: '#/components/schemas/TreatmentSuspension' TaxExemptionCertificate: type: object description: A tax exemption certificate represents a tax exemption granted to a customer by a tax jurisdiction which may be a city, state, country. properties: id: type: string description: 'Certificate, SV_MAPPING: CustAcctList.ResultFact01_X' documentId: type: string description: 'Document id, SV_MAPPING: CustAcctList.ResultFact04_X' description: type: string description: 'Document Description, SV_MAPPING: CustAcctList.ResultFact05_X' validFor: description: 'Certificate start and end date-time, SV_MAPPING: CustAcctList.ResultFact02_X, CustAcctList.ResultFact03_X' $ref: '#/components/schemas/TimePeriod' taxDefinition: type: array items: $ref: '#/components/schemas/TaxDefinition' Customer: type: object description: Customer details required: - id - href properties: id: type: string description: Customer id, SV_MAPPING:CustAcct.ObjectKey href: type: string description: Reference of the customer - :// case: $ref: '#/components/schemas/CaseRef' description: Case details in case of POST and PATCH customer. This is not supported by GET customer name: type: string description: Customer Name, SV_MAPPING:Cust_Acct.CustAcctName_X status: type: string description: Customer Status, SV_MAPPING:Cust_Acct.CustStatus_R x-refdata-source: RT-CUSTOMER_NODE_STATUS statusChangeReason: type: string description: Customer Status Change Reason. SV_MAPPING:Cust_Acct.CustStatusChangeReason_X. x-refdata-source: RT-accl.cust.statusChangeReason defaultDisplayAccount: type: string description: Default Account Id. SV_MAPPING:Cust_Acct.PrimaryAcctID_I or Account.AcctID_I validFor: description: The time period that the customer account is valid for. $ref: '#/components/schemas/TimePeriod' engagedParty: type: array description: 'Describes defines people who are contacts for a customer. Note: phoneNumber will only be shown in the contactMedium. ''op'' attribute will not be returned by GET customer' items: $ref: '#/components/schemas/PartyRef' characteristic: type: array description: 'Characteristic name supported: CreationDate | ActivationDate | CustomerType | PrimaryAccount | IndustryType | CustomerVatNumber | SalesRepresentative | CompanyNumer | PrepaidWithoutStatement | DepositAccountNumber | OpenCasesCount | PlanName | ServiceName | ServiceStatus | TotalPurchasedServices | CompanyType | CompanyRegistrationNumber | CUGId | EmployeeCount | FoundedDate | CustomerRank | VATExempt | OfficialLetterRequired | SpecialistCSR | PaysForSelf | PaysBySalary | PaymentDueDateOffset | PaymentDueDatePreference | TotalChildCustomers | VoucherTopUpStatus | ApartmentOwner | EncouragementDiscountPlan | AdminNumber | DoorLockPin | OfficerCSR | ResponsibleTeam | SubTeam | PaymentDueDateUOM | MaximumInvoiceAmountPayableCompany | PartialAmount | InvoiceEmailAddress. Characteristic value supported: CreationDate -> SV_MAPPING:Cust_Acct.CreatedDate_T| ActivationDate -> SV_MAPPING:Cust_Acct.ActiveDate_T | CustomerType -> SV_MAPPING:Cust_Acct.Type_R | PrimaryAccount -> SV_MAPPING:Cust_Acct.PrimaryAcctNum_X | IndustryType -> SV_MAPPING:Cust_Acct.Industry_R | CustomerVatNumber -> SV_MAPPING:Cust_Acct.UI_CustomerVATNumber_X | SalesRepresentative -> SV_MAPPING:Cust_Acct.SalesRepresentative_R | CompanyNumer -> SV_MAPPING:Cust_Acct.CompanyNum_X | PrepaidWithoutStatement -> SV_MAPPING:Cust_Acct.PrepaidWithoutStatement_B | DepositAccountNumber -> SV_MAPPING:Cust_Acct.DepositAcctNum_X | OpenCasesCount -> SV_MAPPING:Cust_Acct.CustOpenCases_I | PlanName -> SV_MAPPING:PurchasedProduct.Offer_R | ServiceName -> SV_MAPPING:PurchasedProduct.PrimaryService_X | ServiceStatus -> SV_MAPPING:PurchasedProduct.Status_R@ | TotalPurchasedServices -> SV_MAPPING:Cust_Acct.CountActiveBaseProducts_I | CompanyType -> SV_MAPPING:Cust_Acct.CompanyType_R | CompanyRegistrationNumber -> SV_MAPPING:Cust_Acct.CompanyRegNum_X | CUGId -> SV_MAPPING:Cust_Acct.CorporateIdentifier_X | EmployeeCount -> SV_MAPPING:Cust_Acct.Employee_Count_I | FoundedDate -> SV_MAPPING:Cust_Acct.Founded_Date_T | CustomerRank -> SV_MAPPING:Cust_Acct.CustomerRank_R | VATExempt -> SV_MAPPING:Cust_Acct.VatExempt_B | OfficialLetterRequired -> SV_MAPPING:Cust_Acct.OfficialLetterReq_B | SpecialistCSR -> SV_MAPPING:Cust_Acct.SpecialistCSR_R | PaysForSelf -> SV_MAPPING:Cust_Acct.PaysForSelf_B | PaysBySalary -> SV_MAPPING:Cust_Acct.PaysBySalary_B | PaymentDueDateOffset -> SV_MAPPING:Cust_Acct.PaymentOffsetDays_I | PaymentDueDatePreference -> SV_MAPPING:Cust_Acct.PaymentDuePref_R | TotalChildCustomers -> Derived | VoucherTopUpStatus -> SV_MAPPING:Cust_Acct.VoucherTopUpStatus_B | SecutityGroup -> SV_MAPPING:Cust_Acct.Security_Group | ApartmentOwner -> SV_MAPPING:Cust_Acct.ApartmentOwner_R | EncouragementDiscountPlan -> SV_MAPPING:Cust_Acct.DiscountPlan_R | AdminNumber -> SV_MAPPING:Cust_Acct.AdminNumber_X | DoorLockPin -> SV_MAPPING:Cust_Acct.DoorLockPin_X | OfficerCSR -> SV_MAPPING:Cust_Acct.OfficerCSR_R | ResponsibleTeam -> SV_MAPPING:Cust_Acct.ResponseTeam_R | SubTeam -> SV_MAPPING:Cust_Acct.SubTeam_R | PaymentDueDateUOM -> SV_MAPPING:Cust_Acct.PaymentDueDateUOM_R | MaximumInvoiceAmountPayableCompany -> SV_MAPPING:Cust_Acct.MaxInvAmtPayByComp_R | PartialAmount -> SV_MAPPING:Cust_Acct.MaxInvAmtPayByComp_C | TimeZone -> SV_MAPPING:Cust_Acct.TimeZone_R. Characteristic value type supported: string | InvoiceEmailAddress -> SV_MAPPING:Cust_Acct.InvoiceEmail_X' items: $ref: '#/components/schemas/Characteristic' x-refdata-source: '||RT-api.imp.ALL_CC_CUSTOMER_TYPE||CM-Industry|||||||||||RT-COMPANY_TYPE|||||RT-accl.cust.CUSTOMER_RANK|RT-BOOLEAN|RT-BOOLEAN||RT-BOOLEAN|RT-BOOLEAN||RT-PAYMENT_DAY_PREFERENCE||RT-BOOLEAN||RT-accl.cust.DISCOUNT_PLAN|||CM-User|CM-Work_Group|RT-TEAMBRANCH|RT-inv.DATE_OFFSET_UOM|RT-INVOICE_PAYABLE_COMPANY||||||||||||||||||||||||||||||||||||||||||RT-TIME_ZONE|' relatedParty: type: array description: 'Describes the parent / child customer details. Note: Attributes to be displayed are id, role, href and @referredType only.' items: $ref: '#/components/schemas/PartyRef' account: type: array description: Describes the customer primary account details. items: $ref: '#/components/schemas/AccountRef' creditProfile: description: Describes the customer credit profile. $ref: '#/components/schemas/CreditProfile' contactMedium: type: array description: 'Describes the customer contact medium details. Note: phoneNumber will not be returned by GET customer.' items: $ref: '#/components/schemas/ContactMedium' paymentMethod: type: array description: Describes the customer payment methods. items: $ref: '#/components/schemas/PaymentMethodRef' taxExemptionCertificate: type: array description: Describes the customer tax exemptions. items: $ref: '#/components/schemas/TaxExemptionCertificate' treatmentExemption: description: Describes the customer treatment exemption. This entity won't be returned if customer type does not suppot treatment exemption DA $ref: '#/components/schemas/TreatmentExemption' treatmentSuspension: description: Describes the customer treatment suspension fields. This entity won't be returned if customer type does not support Treatment Suspension Atributes DA $ref: '#/components/schemas/TreatmentSuspension' securitySchemes: ApiKeyAuth: type: apiKey name: X-API-Key in: header API_Key: name: x-api-key type: apiKey in: header OAuth2: type: oauth2 flows: clientCredentials: scopes: {} tokenUrl: https://api.mtn.com/oauth/client_credential/accesstoken x-refined-from: - mtn-group-customer-survey.yml - mtn-group-mtn-customer-kyc-api-v1-product.yml - mtn-group-mtn-nigeria-customer-datashare.yml - mtn-group-mtn-nigeria-data-gifting-v1.yml - mtn-group-tmf629-customer-management.yml