openapi: 3.0.1 info: title: TMF639 Resource Inventory Management description: "Provides aggregated TMF639 resource inventory APIs that validate request\ \ headers, enforce downstream routing rules, expose CRUD style operations, and\ \ describe response envelopes, status propagation, and canonical error handling\ \ for integrators." license: name: MADAPI url: https://developers.mtn.com/ version: 3.0.0 - Last updated date:2026-08-20 09:20:42 servers: - url: https://api.mtn.com/v1 description: Production Server security: - OAuth2: [] tags: - name: TMF639ResourceInventoryManagement paths: /logicalResource: get: tags: - TMF639ResourceInventoryManagement summary: Retrieve DRM Logical Resource description: "Retrieves logical resource data from the DRM system by assembling\ \ the request path with optional identifiers and field selectors, generating\ \ transaction identifiers as needed, and returning ResponseEntity bodies that\ \ preserve downstream status and canonical error handling." operationId: TMF639ResourceInventoryManagement_get_logicalResource parameters: - name: fields in: query required: false schema: type: string - name: id in: query required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-country-code in: header required: true schema: type: string responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI tmf639 resource inventory management flows. content: application/json: schema: title: DrmPhysicalResourceResponse type: object properties: resources: type: array items: title: DrmPhysicalResource type: object properties: id: type: string '@baseType': type: string isBundle: type: boolean isMNP: type: boolean businessType: type: array items: type: string category: type: array items: title: Category type: object properties: id: type: string name: type: string description: type: string code: type: string version: type: integer format: int32 href: type: string '@schemaLocation': type: string place: type: array items: type: string resourceSpecification: type: array items: type: string attachment: type: array items: type: string note: type: array items: title: Note type: object properties: authorRole: type: string author: type: string date: type: string text: type: string relatedParty: type: array items: title: RelatedParty type: object properties: name: type: string role: type: string '@type': type: string '@baseType': type: string resourceCharacteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_ResourceCharacteristic' bundledResources: type: array items: title: BundledResource type: object properties: id: type: string href: type: string '@type': type: string '@baseType': type: string '@schemaLocation': type: string resourceRelationship: type: array items: type: string href: type: string description: type: string name: type: string resourceVersion: type: integer format: int32 manufactureDate: type: string format: date-time serialNumber: type: string versionNumber: type: string startOperatingDate: type: string format: date-time endOperatingDate: type: string format: date-time operationalState: type: string value: type: string resourceStatus: type: string cost: title: Cost type: object properties: taxFreeValue: type: number format: double taxedValue: type: number format: double unit: type: string resourceRecycleDate: type: string format: date-time '@type': type: string '@schemaLocation': type: string createdAt: type: string updatedAt: type: string resouceStatus: type: string "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false /physicalResource: get: tags: - TMF639ResourceInventoryManagement summary: Retrieve DRM Physical Resource description: "Retrieves physical resource details from the DRM system by generating\ \ a transaction ID when missing, applying optional identifier and fields filters,\ \ enriching downstream headers, and returning the aggregated payload wrapped\ \ in a ResponseEntity with canonical status codes." operationId: TMF639ResourceInventoryManagement_get_physicalResource parameters: - name: fields in: query required: false schema: type: string - name: id in: query required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-country-code in: header required: true schema: type: string responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI tmf639 resource inventory management flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_response_DrmPhysicalResourceResponse' "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false /resource: get: tags: - TMF639ResourceInventoryManagement summary: Search Resource Collection description: "Retrieves a list of resource records by translating query parameters\ \ such as name, type, businessType, and pagination values into downstream\ \ requests, logging request context, and returning a ResponseEntity that wraps\ \ the downstream list while propagating canonical error semantics." operationId: TMF639ResourceInventoryManagement_get_resource parameters: - name: businessType in: query required: false schema: type: string - name: currentImsi in: query required: false schema: type: string - name: limit in: query required: false schema: type: string - name: msisdn in: query required: false schema: type: string - name: name in: query required: false schema: type: string - name: offset in: query required: false schema: type: string - name: relatedPartyName in: query required: false schema: type: string - name: resourceStatus in: query required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: type in: query required: false schema: type: string - name: value in: query required: false schema: type: string - name: x-authorization in: header required: false schema: type: string - name: x-country-code in: header required: false schema: type: string responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI tmf639 resource inventory management flows. content: application/json: schema: type: array items: title: ResourceResponse type: object properties: id: type: string href: type: string name: type: string businessType: type: array items: type: string resourceType: type: string resourceCharacteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_ResourceCharacteristic' relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_RelatedParty' status: type: string operationalState: type: string description: type: string resourceStatus: type: string '@schemaLocation': type: string value: type: string '@type': type: string cost: type: string isBundle: type: boolean isMNP: type: boolean resourceVersion: type: integer format: int32 startOperatingDate: type: string endOperatingDate: type: string resourceRecycleDate: type: string resourceAccess: type: string "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false /resource/{Id}: get: tags: - TMF639ResourceInventoryManagement summary: Retrieve Resource by ID description: "Fetches a canonical resource representation using the provided\ \ identifier after generating a transaction ID, validating msisdn format for\ \ non-Invigo providers, and forwarding the request to the correct downstream\ \ system with an APIResponse body describing the outcome." operationId: TMF639ResourceInventoryManagement_get_getImei_resourceId parameters: - name: Id in: path required: true schema: type: string - name: fields in: query required: false schema: type: string - name: idType in: query required: false schema: type: string - name: providerId in: query required: false schema: type: string - name: serviceType in: query required: false schema: type: string - name: transactionId in: header required: false schema: type: string - name: x-authorization-claims in: header required: false schema: type: string responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI tmf639 resource inventory management flows. content: application/json: schema: title: APIResponse type: object properties: id: type: string href: type: string resultCode: type: string statusCode: type: string statusMessage: type: string resourceCharacteristic: type: array items: title: ResourceCharacteristic type: object properties: publicIdentifier: type: string name: type: string value: type: string valueType: type: string code: type: string deviceDetails: type: array items: title: DeviceDetails type: object properties: imei: type: string imsi: type: string msisdn: type: string simNumber: type: string simType: type: string model: type: string year: type: string manufacturer: type: string transactionId: type: string resultDescription: type: string error: title: APIError type: object properties: code: type: string reason: type: string message: type: string status: type: string referenceError: type: string '@baseType': type: string '@schemaLocation': type: string '@type': type: string data: type: array items: type: object "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false /resource/{msisdn}: patch: tags: - TMF639ResourceInventoryManagement summary: Patch Resource Attributes description: "Applies a PATCH update to the targeted resource using the provided\ \ PatchRequest body, ensures a transaction identifier is generated when absent,\ \ constructs the downstream endpoint, and relays the response as an APIResponse\ \ conveying canonical result codes." operationId: TMF639ResourceInventoryManagement_patch_updateIMSI_resourcemsisdn parameters: - name: msisdn in: path required: true schema: type: string - name: transactionId in: header required: false schema: type: string requestBody: content: application/json: schema: title: PatchRequest type: object properties: publicIdentifier: type: string '@type': type: string value: type: string note: type: string required: true responses: "200": description: HTTP 200 indicating the request succeeded; the response body follows the documented schema for this operation and includes correlation identifiers where applicable for traceability across MTN MADAPI tmf639 resource inventory management flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_APIResponse' "400": description: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "400" statusMessage: "Bad request. Invalid request parameters, missing required\ \ fields, or validation errors." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "401": description: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "401" statusMessage: "Unauthorized. Invalid or missing authorization credentials,\ \ insufficient permissions, or authentication failure." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "403": description: Forbidden. Access denied. The request is valid but the server refuses to perform it. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "403" statusMessage: Forbidden. Access denied. The request is valid but the server refuses to perform it. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "404": description: Not found. The requested resource was not found or does not exist. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "404" statusMessage: Not found. The requested resource was not found or does not exist. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "500": description: "Internal server error. Unexpected system failure, database\ \ connectivity issues, or external service integration problems." content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "500" statusMessage: "Internal server error. Unexpected system failure,\ \ database connectivity issues, or external service integration\ \ problems." supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "502": description: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "502" statusMessage: Bad gateway. The server acting as a gateway received an invalid response from an upstream server. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z "503": description: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. content: application/json: schema: $ref: '#/components/schemas/APIError' example: statusCode: "503" statusMessage: Service unavailable. The server is temporarily unable to handle the request due to maintenance or overload. supportMessage: API_ERROR transactionId: "1234567890" sequenceNo: "20250115120000001" timestamp: 2025-01-15T12:00:00Z deprecated: false components: schemas: com_mtn_aggregator_models_response_ResourceCharacteristic: title: ResourceCharacteristic type: object properties: publicIdentifier: type: string name: type: string value: type: string valueType: type: string code: type: string com_mtn_aggregator_models_response_Note: title: Note type: object properties: authorRole: type: string author: type: string date: type: string text: type: string com_mtn_aggregator_models_logging_PatchRequest: title: PatchRequest type: object properties: publicIdentifier: type: string '@type': type: string value: type: string note: type: string com_mtn_aggregator_models_APIResponse: title: APIResponse type: object properties: id: type: string href: type: string resultCode: type: string statusCode: type: string statusMessage: type: string resourceCharacteristic: type: array items: title: ResourceCharacteristic type: object properties: publicIdentifier: type: string name: type: string value: type: string valueType: type: string code: type: string deviceDetails: type: array items: title: DeviceDetails type: object properties: imei: type: string imsi: type: string msisdn: type: string simNumber: type: string simType: type: string model: type: string year: type: string manufacturer: type: string transactionId: type: string resultDescription: type: string error: title: APIError type: object properties: code: type: string reason: type: string message: type: string status: type: string referenceError: type: string '@baseType': type: string '@schemaLocation': type: string '@type': type: string data: type: array items: type: object com_mtn_aggregator_models_response_DrmPhysicalResourceResponse: title: DrmPhysicalResourceResponse type: object properties: resources: type: array items: title: DrmPhysicalResource type: object properties: id: type: string '@baseType': type: string isBundle: type: boolean isMNP: type: boolean businessType: type: array items: type: string category: type: array items: title: Category type: object properties: id: type: string name: type: string description: type: string code: type: string version: type: integer format: int32 href: type: string '@schemaLocation': type: string place: type: array items: type: string resourceSpecification: type: array items: type: string attachment: type: array items: type: string note: type: array items: title: Note type: object properties: authorRole: type: string author: type: string date: type: string text: type: string relatedParty: type: array items: title: RelatedParty type: object properties: name: type: string role: type: string '@type': type: string '@baseType': type: string resourceCharacteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_ResourceCharacteristic' bundledResources: type: array items: title: BundledResource type: object properties: id: type: string href: type: string '@type': type: string '@baseType': type: string '@schemaLocation': type: string resourceRelationship: type: array items: type: string href: type: string description: type: string name: type: string resourceVersion: type: integer format: int32 manufactureDate: type: string format: date-time serialNumber: type: string versionNumber: type: string startOperatingDate: type: string format: date-time endOperatingDate: type: string format: date-time operationalState: type: string value: type: string resourceStatus: type: string cost: title: Cost type: object properties: taxFreeValue: type: number format: double taxedValue: type: number format: double unit: type: string resourceRecycleDate: type: string format: date-time '@type': type: string '@schemaLocation': type: string createdAt: type: string updatedAt: type: string resouceStatus: type: string com_mtn_aggregator_models_response_DeviceDetails: title: DeviceDetails type: object properties: imei: type: string imsi: type: string msisdn: type: string simNumber: type: string simType: type: string model: type: string year: type: string manufacturer: type: string com_mtn_aggregator_models_response_Cost: title: Cost type: object properties: taxFreeValue: type: number format: double taxedValue: type: number format: double unit: type: string com_mtn_aggregator_models_response_RelatedParty: title: RelatedParty type: object properties: name: type: string role: type: string '@type': type: string '@baseType': type: string com_mtn_aggregator_models_response_ResourceResponse: title: ResourceResponse type: object properties: id: type: string href: type: string name: type: string businessType: type: array items: type: string resourceType: type: string resourceCharacteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_ResourceCharacteristic' relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_RelatedParty' status: type: string operationalState: type: string description: type: string resourceStatus: type: string '@schemaLocation': type: string value: type: string '@type': type: string cost: type: string isBundle: type: boolean isMNP: type: boolean resourceVersion: type: integer format: int32 startOperatingDate: type: string endOperatingDate: type: string resourceRecycleDate: type: string resourceAccess: type: string com_mtn_aggregator_models_error_APIError: title: APIError type: object properties: code: type: string reason: type: string message: type: string status: type: string referenceError: type: string '@baseType': type: string '@schemaLocation': type: string '@type': type: string com_mtn_aggregator_models_response_DrmPhysicalResource: title: DrmPhysicalResource type: object properties: id: type: string '@baseType': type: string isBundle: type: boolean isMNP: type: boolean businessType: type: array items: type: string category: type: array items: title: Category type: object properties: id: type: string name: type: string description: type: string code: type: string version: type: integer format: int32 href: type: string '@schemaLocation': type: string place: type: array items: type: string resourceSpecification: type: array items: type: string attachment: type: array items: type: string note: type: array items: title: Note type: object properties: authorRole: type: string author: type: string date: type: string text: type: string relatedParty: type: array items: title: RelatedParty type: object properties: name: type: string role: type: string '@type': type: string '@baseType': type: string resourceCharacteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_ResourceCharacteristic' bundledResources: type: array items: title: BundledResource type: object properties: id: type: string href: type: string '@type': type: string '@baseType': type: string '@schemaLocation': type: string resourceRelationship: type: array items: type: string href: type: string description: type: string name: type: string resourceVersion: type: integer format: int32 manufactureDate: type: string format: date-time serialNumber: type: string versionNumber: type: string startOperatingDate: type: string format: date-time endOperatingDate: type: string format: date-time operationalState: type: string value: type: string resourceStatus: type: string cost: title: Cost type: object properties: taxFreeValue: type: number format: double taxedValue: type: number format: double unit: type: string resourceRecycleDate: type: string format: date-time '@type': type: string '@schemaLocation': type: string createdAt: type: string updatedAt: type: string resouceStatus: type: string com_mtn_aggregator_models_response_Category: title: Category type: object properties: id: type: string name: type: string description: type: string code: type: string version: type: integer format: int32 href: type: string '@schemaLocation': type: string APIError: title: APIError required: - statusCode - statusMessage type: object properties: statusCode: type: string description: Error status code statusMessage: type: string description: Human-readable error message supportMessage: type: string description: Technical support message or error code for troubleshooting transactionId: type: string description: Transaction identifier for tracking and correlation sequenceNo: type: string description: Sequence number for request tracking timestamp: type: string description: Error timestamp in ISO 8601 format format: date-time path: type: string description: API endpoint path where the error occurred method: type: string description: HTTP method of the request that caused the error downstreamStatusCode: type: string description: Downstream service error code if applicable description: Generic MADAPI error response structure com_mtn_aggregator_models_response_BundledResource: title: BundledResource type: object properties: id: type: string href: type: string '@type': type: string '@baseType': type: string '@schemaLocation': type: string securitySchemes: OAuth2: type: oauth2 flows: clientCredentials: tokenUrl: https://api.mtn.com/v1/oauth/access_token scopes: {} Bearer: type: http description: Bearer token received from OAuth2.0 authentication with the MADAPI scheme: bearer bearerFormat: JWT