MTN TMF629 - Customer Management

This is Swagger UI environment generated for the TMF Customer Management specification.

OpenAPI Specification

mtn-group-tmf629-customer-management.yml Raw ↑
swagger: '2.0'
info:
  title: TMF629- Customer Management
  description: This is Swagger UI environment generated for the TMF Customer Management specification
  version: '4.0'
host: serverRoot
basePath: /tmf-api/customerManagement/v4/
schemes:
  - https
consumes:
  - application/json;charset=utf-8
produces:
  - application/json;charset=utf-8
tags:
  - name: customer
security:
  - ApiKeyAuth: []
  - OAuth2: []
  
securityDefinitions:
  ApiKeyAuth:
    type: "apiKey"
    name: "X-API-Key"
    in: "header"
  OAuth2:
    type: oauth2
    flow: application
    tokenUrl: https://api.mtn.com/v1/oauth/access_token
paths:
  /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
          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
          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
          type: string
          x-refdata-source: RT-perestapi.imp.cust.SORT_KEY
        - name: sortOrder
          description: To sort the response based on sort order. Possible value ascending, descending
          required: false
          in: query
          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
          type: string
        - name: retrievalLimit
          description: Limit to the number of objects retrieved. Mandatory when retrievalType is 1
          required: false
          in: query
          type: string
        - name: objKeys
          description: Comma-separated object keys for which details to be retrieved. Mandatory when retrievalType is 3
          required: false
          in: query
          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
          type: string
          x-refdata-source: RT-api.imp.ALL_CC_CUSTOMER_TYPE
        - 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
          type: integer
          format: int64
          x-refdata-source: RT-accl.cust.CUSTOMER_RANK
        - 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
          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
          type: string
          x-refdata-source: RT-perestapi.imp.cust.GlobalSrchFilters
        - name: searchValue
          description: Value of the searchKey passed. Mandatory when searchKey is use.
          required: false
          in: query
          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
          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
          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
          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
          type: string
          x-refdata-source: RT-perestapi.REASON
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/Customer_List'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
    post:
      operationId: createCustomer
      summary: Creates a Customer
      tags:
        - customer
      parameters:
        - schema:
            $ref: '#/definitions/Customer_Create'
          required: true
          in: body
          name: customer
          description: The Customer to be created
        - required: false
          type: string
          name: Ignored-Warning
          in: header
          description: To store warning message IDs in comma separated string that will be ignored by the server
      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
              type: string
          schema:
            $ref: '#/definitions/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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
  /customer/{id}:
    get:
      operationId: retrieveCustomer
      summary: Retrieves a Customer by customer node id
      tags:
        - customer
      parameters:
        - required: true
          type: string
          name: id
          in: path
          description: 'Customer Node Id, SV_MAPPING: Cust_Acct.XSID_I'
        - required: false
          type: string
          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.
        - required: false
          type: string
          format: date-time
          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 '
        - required: false
          type: string
          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
      responses:
        '200':
          description: Success
          schema:
            $ref: '#/definitions/Customer'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/Error'
        '401':
          description: Unauthorized
          schema:
            $ref: '#/definitions/Error'
        '403':
          description: Forbidden
          schema:
            $ref: '#/definitions/Error'
        '404':
          description: Not Found
          schema:
            $ref: '#/definitions/Error'
        '405':
          description: Method Not allowed
          schema:
            $ref: '#/definitions/Error'
        '409':
          description: Conflict
          schema:
            $ref: '#/definitions/Error'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/Error'
    patch:
      operationId: patchCustomer
      summary: Update a customer by customer node id.
      tags:
        - customer
      parameters:
        - required: true
          type: string
          name: id
          in: path
          description: 'Customer node id, SV_MAPPING: Cust_Acct.XSID_I'
        - schema:
            $ref: '#/definitions/Customer_Update'
          required: true
          in: body
          name: customer
          description: The Customer to be updated
        - required: false
          type: string
          name: Ignored-Warning
          in: header
          description: To store warning message IDs in comma separated string that will be ignored by the server
      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
              type: string
          schema:
            $ref: '#/definitions/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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
        '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
              type: string
          schema:
            $ref: '#/definitions/Error'
definitions:
  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 - <http://<PEREST_HOSTNAME>:<PEREST_PORT>/<customer PEREST URL>/<CustAcct.ObjectKey>
      case:
        $ref: '#/definitions/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: '#/definitions/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: '#/definitions/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: '#/definitions/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: '#/definitions/PartyRef'
      account:
        type: array
        description: Describes the customer primary account details.
        items:
          $ref: '#/definitions/AccountRef'
      creditProfile:
        description: Describes the customer credit profile.
        $ref: '#/definitions/CreditProfile'
      contactMedium:
        type: array
        description: 'Describes the customer contact medium details. Note: phoneNumber will not be returned by GET customer.'
        items:
          $ref: '#/definitions/ContactMedium'
      paymentMethod:
        type: array
        description: Describes the customer payment methods.
        items:
          $ref: '#/definitions/PaymentMethodRef'
      taxExemptionCertificate:
        type: array
        description: Describes the customer tax exemptions.
        items:
          $ref: '#/definitions/TaxExemptionCertificate'
      treatmentExemption:
        description: Describes the customer treatment exemption. This entity won't be returned if customer type does not suppot treatment exemption DA
        $ref: '#/definitions/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: '#/definitions/TreatmentSuspension'
  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: '#/definitions/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: '#/definitions/Customer'
      warningMessage:
        type: string
        description: Warning message details.
  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: '#/definitions/TimePeriod'
      engagedParty:
        type: array
        description: Describes defines people who are contacts for a customer.
        items:
          $ref: '#/definitions/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: '#/definitions/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: '#/definitions/PartyRef'
      account:
        type: array
        description: Describes the customer primary account details.
        items:
          $ref: '#/definitions/AccountRef'
      creditProfile:
        description: Describes the customer credit profile.
        $ref: '#/definitions/CreditProfile'
      contactMedium:
        type: array
        description: 'Describes the customer contact medium details. Note: phoneNumber will not be used by POST customer.'
        items:
          $ref: '#/definitions/ContactMedium'
      paymentMethod:
        type: array
        description: Describes the customer payment methods.
        items:
          $ref: '#/definitions/PaymentMethodRef'
      case:
        $ref: '#/definitions/CaseRef'
        description: Case 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: '#/definitions/TimePeriod'
      engagedParty:
        type: array
        description: 'Describes defines people who are contacts for a customer. Note: Only id, role and op are supported.'
        items:
          $ref: '#/definitions/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: '#/definitions/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: '#/definitions/PartyRef'
      account:
        type: array
        description: 'Describes the customer primary account details. Note: Only billStructure and paymentPlan are support.'
        items:
          $ref: '#/definitions/AccountRef'
      creditProfile:
        description: Describes the customer credit profile.
        $ref: '#/definitions/CreditProfile'
      paymentMethod:
        type: array
        description: 'Describes the customer payment methods. Note: status is not supported.'
        items:
          $ref: '#/definitions/PaymentMethodRef'
      contactMedium:
        type: array
        description: 'Describes the customer contact medium details. Note: phoneNumber is not supported.'
        items:
          $ref: '#/definitions/ContactMedium'
      taxExemptionCertificate:
        type: array
        items:
          $ref: '#/definitions/TaxExemptionCertificate'
      treatmentExemption:
        description: Describes the customer treatment exemption.
        $ref: '#/definitions/TreatmentExemption'
      case:
        $ref: '#/definitions/CaseRef'
        description: Case details
      treatmentSuspension:
        description: Describes the customer treatment suspension fields.
        $ref: '#/definitions/TreatmentSuspension'
  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'
  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 - <http://<TREREST_HOSTNAME>:<TREREST_PORT>/<Party TreREST URL>/<contact.ObjectKey>customer - <http://<TREREST_HOSTNAME>:<TREREST_PORT>/<customer TreREST URL>/<SV_MAPPING:Cust_Acct.ObjectKey>
      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

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/mtn-group/refs/heads/main/openapi/mtn-group-tmf629-customer-management.yml