MTN TMF629 - Customer Management

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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/tmf629-customer-management"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

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