openapi: 3.0.1 info: title: TMF667 Document Management description: "Document Management API enables management of documents (ie document\ \ upload, document search and document download." license: name: MADAPI url: https://developers.mtn.com/ version: 3.0.0 - Last updated date:2026-09-11 19:51:08 servers: - url: https://api.mtn.com/v1 description: Production Server security: - OAuth2: [] tags: - name: DocumentManagement - name: FileUpload paths: /document: get: tags: - DocumentManagement summary: List or find document objects description: This operation enables the third party partners(3PP) to be able to search for documents stored in Web Center Content(WCC). operationId: DocumentManagement_get_fetchDocument_document parameters: - name: attachmentType in: query required: true schema: type: string - name: fingerType in: query required: false schema: type: string - name: id in: query required: false schema: type: string - name: indicator in: query required: false schema: type: string - name: photoType in: query required: false schema: type: string - name: profileAccountId in: query required: false schema: type: string - name: retrievalType in: query required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId in: header required: true schema: type: string - name: x-authorization-claims 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 tmf667 document management flows. content: application/json: schema: title: FetchDocumentResponse type: object properties: statusCode: type: string customerId: type: string statusMessage: type: string transactionId: type: string data: title: FetchDocumentData type: object properties: statusCode: type: string customerId: type: string statusMessage: type: string transactionId: type: string data: title: FetchData type: object properties: id: type: string description: type: string documentType: type: string name: type: string version: type: string binaryAttachment: title: BinaryAttachment type: object properties: id: type: string attachmentType: type: string content: type: string mimeType: type: string name: type: string status: type: string description: type: string tag: type: string validFor: title: ValidFor type: object properties: startDateTime: type: string endDateTime: type: string url: type: string extension: type: string initialName: type: string size: title: Size type: object properties: amount: type: integer format: int32 href: type: string type: type: string characteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: string valueType: type: string relatedParty: type: array items: title: RelatedParty type: object properties: id: type: string role: type: string name: type: string href: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' '@type': type: string content: type: string id: type: string description: type: string documentType: type: string name: type: string version: type: string binaryAttachment: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_BinaryAttachment' characteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_Characteristic' relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' error: title: APIError type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string statusCode: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: 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 post: tags: - DocumentManagement summary: Uploads documents description: This operation enables the third party partners(3PP) with being able to upload documents for storage into Web Center Content(WCC). operationId: DocumentManagement_post_uploadDocument_document parameters: - name: channelToken in: header required: false schema: type: string - name: countryCode in: header required: false schema: type: string - name: targetSystem in: header 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 requestBody: content: application/json: schema: title: DmsRequest type: object properties: customerId: type: string description: type: string targetSystem: type: string channel: type: string lifecycleState: type: string biometricType: type: string channelId: type: string documentType: type: string documentAccount: type: string name: type: string email: type: string imageType: type: string isBase64: type: string isFromService: type: string serviceName: type: string submissionDate: type: string format: date-time channelToken: type: string decrypt: type: string '@type': type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' binaryAttachment: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_DocumentObject' characteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_NameValue' documentRelationship: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_DocumentRelationship' approvalRequired: 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 tmf667 document management flows. content: application/json: schema: $ref: '#/components/schemas/com_mtn_aggregator_models_DocumentUploadResponse' "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 patch: tags: - DocumentManagement summary: Partially updates a Document description: This operation enables third party partners to be able to partially updates a Document on the Web Center Content(WCC) under a specified account. operationId: DocumentManagement_patch_uploadDocument_document parameters: - name: accountId in: query required: true schema: type: string - name: countryCode in: header required: false schema: type: string - name: customerId in: query required: true schema: type: string - name: publicIdentifier in: query required: true schema: type: string - name: transactionId in: header required: false schema: type: string requestBody: content: application/json: schema: title: DocumentPatchRequest type: object properties: requestType: type: string dmsReferenceNumber: type: string partyInteractionId: type: string dmsReceviedDate: type: string dmsVerifiedDate: type: string dmsRejectedDate: type: string dmsRejectedReason: type: string dmsUnindexedDate: type: string targetSystem: type: string dmsReplacedDate: type: string oldDmsReferenceNumber: 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 tmf667 document management flows. content: application/json: schema: title: DocumentUploadResponse type: object properties: statusCode: type: string customerId: type: string transactionId: type: string statusMessage: type: string sequenceNo: type: string data: title: DocumentUploadData type: object properties: customerId: type: string description: type: string documentType: type: string name: type: string version: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' binaryAttachment: type: array items: title: DocumentObject type: object properties: id: type: string attachmentType: type: string content: type: string mimeType: type: string name: type: string status: type: string description: type: string tag: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' url: type: string extension: type: string initialName: type: string size: $ref: '#/components/schemas/com_mtn_aggregator_models_Size' href: type: string characteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_NameValue' approvalRequired: type: string id: 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 /document/{id}: get: tags: - DocumentManagement summary: Search for documents using ID description: This operation enables the third party partners(3PP) to be able to search for documents stored in Web Center Content(WCC) under a specified account. operationId: DocumentManagement_get_fetchDocumentById_documentid parameters: - name: channelToken in: header required: false schema: type: string - name: decrypt in: query required: false schema: type: string - name: id in: path required: true schema: type: string - name: itemId in: query required: false schema: type: string - name: itemType in: query required: false schema: type: string - name: queryType in: query required: false schema: type: string - name: targetSystem in: header 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 tmf667 document management flows. content: application/json: schema: title: RetrieveDocumentResponse type: object properties: statusCode: type: string customerId: type: string transactionId: type: string statusMessage: type: string sequenceNo: type: string data: type: array items: title: DocumentData type: object properties: id: type: string customerId: type: string description: type: string documentType: type: string documentAccount: type: string creationDate: type: string lastUpdate: type: string updateDate: type: string lifecycleState: type: string biometricType: type: string channelName: type: string channelId: type: string name: type: string email: type: string imageType: type: string isBase64: type: boolean isFromService: type: boolean serviceName: type: string submissionDate: type: string uploadedDay: type: string uploadedMonth: type: string uploadedYear: type: string version: type: string binaryAttachment: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_BinaryAttachment' characteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_Characteristic' documentRelationship: type: array items: title: DocumentRelationship type: object properties: type: type: string documentRef: title: DocumentReference type: object properties: id: type: string href: type: string id: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' error: title: APIResponseError type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: 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 patch: tags: - DocumentManagement summary: Partially updates a Document using ID description: This operation enables third party partners to be able to partially updates a Document Web Center Content(WCC) backend system. operationId: DocumentManagement_patch_updateDocumentStatus_documentid parameters: - name: countryCode in: header required: false schema: type: string - name: id in: path required: true schema: type: string - name: profileType in: query required: true schema: type: string - name: transactionId in: header required: false schema: type: string requestBody: content: application/json: schema: title: DocumentDCLMRequest type: object properties: lifecycleState: type: string documentSpecification: title: DocumentSpecification type: object properties: id: type: string documentCharacteristic: type: array items: title: DocumentCharacteristic type: object properties: name: type: string value: 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 tmf667 document management flows. content: application/json: schema: title: DocumentStatusUpdateResponse type: object properties: lifecycleState: type: string creationDate: type: string lastUpdate: type: string characteristic: type: array items: title: NameValue type: object properties: id: type: string name: type: string value: type: string valueType: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' documentSpecification: $ref: '#/components/schemas/com_mtn_aggregator_models_DocumentSpecification' binaryAttachment: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_BinaryAttachment' category: type: array items: title: Category type: object properties: id: type: string name: type: string description: type: string version: type: string href: type: string URL: type: string type: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' documentRelationship: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_DocumentRelationship' relatedObject: title: RelatedObject type: object properties: involvement: type: string reference: type: string id: type: string name: type: string description: type: string version: type: string href: type: string URL: type: string type: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' "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 /documents/file-upload: post: tags: - FileUpload summary: File upload description: This operation enables the capability of third party partners(3PP) to be able to upload documents on a backend system. operationId: FileUpload_post_uploadDocument_documentsfileupload parameters: - name: countryCode in: header required: false schema: type: string - name: file in: query required: true schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId 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 tmf667 document management flows. content: application/json: schema: title: FileUploadResponse type: object properties: statusCode: type: string customerId: type: string error: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' data: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timeStamp: type: string path: type: string method: type: string sequenceNo: 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 /retrieve: get: tags: - DocumentManagement summary: Retrieves documents description: This operation enables the third party partners to be able to retrieve stored documents from Web Center Content(WCC). operationId: DocumentManagement_get_retrieveBrowsable_retrieve parameters: - name: biometricType in: query required: false schema: type: string - name: channel in: query required: false schema: type: string - name: channelToken in: header required: false schema: type: string - name: countryCode in: header required: false schema: type: string - name: customerId in: query required: false schema: type: string - name: customerMsisdn in: query required: false schema: type: string - name: decrypt in: query required: false schema: type: string - name: documentName in: query required: false schema: type: string - name: documentType in: query required: false schema: type: string - name: fingerprintNumber in: query required: false schema: type: string - name: leftFingerImgReason in: query required: false schema: type: string - name: leftThumbImgReason in: query required: false schema: type: string - name: pinRef in: query required: false schema: type: string - name: regDate in: query required: false schema: type: string - name: rightFingerImgReason in: query required: false schema: type: string - name: rightThumbImgReason in: query required: false schema: type: string - name: targetSystem in: header required: false schema: type: string - name: transactionId 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 tmf667 document management flows. content: application/json: schema: title: RetrieveFileResponse type: object properties: statusCode: type: string transactionId: type: string statusMessage: type: string sequenceNo: type: string data: title: RetrieveFileData type: object properties: binaryAttachment: $ref: '#/components/schemas/com_mtn_aggregator_models_BinaryAttachment' errorMessage: type: string error: $ref: '#/components/schemas/com_mtn_aggregator_models_error_APIResponseError' "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_DocumentPatchRequest: title: DocumentPatchRequest type: object properties: requestType: type: string dmsReferenceNumber: type: string partyInteractionId: type: string dmsReceviedDate: type: string dmsVerifiedDate: type: string dmsRejectedDate: type: string dmsRejectedReason: type: string dmsUnindexedDate: type: string targetSystem: type: string dmsReplacedDate: type: string oldDmsReferenceNumber: type: string com_mtn_aggregator_models_response_Characteristic: title: Characteristic type: object properties: name: type: string value: type: string valueType: type: string com_mtn_aggregator_models_DocumentStatusUpdateResponse: title: DocumentStatusUpdateResponse type: object properties: lifecycleState: type: string creationDate: type: string lastUpdate: type: string characteristic: type: array items: title: NameValue type: object properties: id: type: string name: type: string value: type: string valueType: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' documentSpecification: $ref: '#/components/schemas/com_mtn_aggregator_models_DocumentSpecification' binaryAttachment: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_BinaryAttachment' category: type: array items: title: Category type: object properties: id: type: string name: type: string description: type: string version: type: string href: type: string URL: type: string type: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' documentRelationship: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_DocumentRelationship' relatedObject: title: RelatedObject type: object properties: involvement: type: string reference: type: string id: type: string name: type: string description: type: string version: type: string href: type: string URL: type: string type: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' com_mtn_aggregator_models_response_DocumentData: title: DocumentData type: object properties: id: type: string customerId: type: string description: type: string documentType: type: string documentAccount: type: string creationDate: type: string lastUpdate: type: string updateDate: type: string lifecycleState: type: string biometricType: type: string channelName: type: string channelId: type: string name: type: string email: type: string imageType: type: string isBase64: type: boolean isFromService: type: boolean serviceName: type: string submissionDate: type: string uploadedDay: type: string uploadedMonth: type: string uploadedYear: type: string version: type: string binaryAttachment: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_BinaryAttachment' characteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_Characteristic' documentRelationship: type: array items: title: DocumentRelationship type: object properties: type: type: string documentRef: title: DocumentReference type: object properties: id: type: string href: type: string id: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' com_mtn_aggregator_models_DocumentCharacteristic: title: DocumentCharacteristic type: object properties: name: type: string value: type: string com_mtn_aggregator_models_DocumentDCLMRequest: title: DocumentDCLMRequest type: object properties: lifecycleState: type: string documentSpecification: title: DocumentSpecification type: object properties: id: type: string documentCharacteristic: type: array items: title: DocumentCharacteristic type: object properties: name: type: string value: type: string com_mtn_aggregator_models_response_FetchDocumentData: title: FetchDocumentData type: object properties: statusCode: type: string customerId: type: string statusMessage: type: string transactionId: type: string data: title: FetchData type: object properties: id: type: string description: type: string documentType: type: string name: type: string version: type: string binaryAttachment: title: BinaryAttachment type: object properties: id: type: string attachmentType: type: string content: type: string mimeType: type: string name: type: string status: type: string description: type: string tag: type: string validFor: title: ValidFor type: object properties: startDateTime: type: string endDateTime: type: string url: type: string extension: type: string initialName: type: string size: title: Size type: object properties: amount: type: integer format: int32 href: type: string type: type: string characteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: string valueType: type: string relatedParty: type: array items: title: RelatedParty type: object properties: id: type: string role: type: string name: type: string href: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' '@type': type: string content: type: string id: type: string description: type: string documentType: type: string name: type: string version: type: string binaryAttachment: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_BinaryAttachment' characteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_Characteristic' relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' com_mtn_aggregator_models_DocumentSpecification: title: DocumentSpecification type: object properties: id: type: string com_mtn_aggregator_models_response_RetrieveFileData: title: RetrieveFileData type: object properties: binaryAttachment: $ref: '#/components/schemas/com_mtn_aggregator_models_BinaryAttachment' com_mtn_aggregator_models_BinaryAttachment: title: BinaryAttachment type: object properties: id: type: string attachmentType: type: string content: type: string mimeType: type: string name: type: string status: type: string description: type: string tag: type: string validFor: title: ValidFor type: object properties: startDateTime: type: string endDateTime: type: string url: type: string extension: type: string initialName: type: string size: title: Size type: object properties: amount: type: integer format: int32 href: type: string type: type: string com_mtn_aggregator_models_error_APIResponseError: title: APIResponseError type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: type: string com_mtn_aggregator_models_RetrieveFileResponse: title: RetrieveFileResponse type: object properties: statusCode: type: string transactionId: type: string statusMessage: type: string sequenceNo: type: string data: title: RetrieveFileData type: object properties: binaryAttachment: $ref: '#/components/schemas/com_mtn_aggregator_models_BinaryAttachment' errorMessage: type: string error: $ref: '#/components/schemas/com_mtn_aggregator_models_error_APIResponseError' 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_DocumentObject: title: DocumentObject type: object properties: id: type: string attachmentType: type: string content: type: string mimeType: type: string name: type: string status: type: string description: type: string tag: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' url: type: string extension: type: string initialName: type: string size: $ref: '#/components/schemas/com_mtn_aggregator_models_Size' href: type: string com_mtn_aggregator_models_DocumentReference: title: DocumentReference type: object properties: id: type: string href: type: string com_mtn_aggregator_models_response_FileUploadResponse: title: FileUploadResponse type: object properties: statusCode: type: string customerId: type: string error: $ref: '#/components/schemas/com_mtn_madapi_commons_models_error_APIError' data: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timeStamp: type: string path: type: string method: type: string sequenceNo: type: string com_mtn_aggregator_models_Category: title: Category type: object properties: id: type: string name: type: string description: type: string version: type: string href: type: string URL: type: string type: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' com_mtn_aggregator_models_DocumentUploadResponse: title: DocumentUploadResponse type: object properties: statusCode: type: string customerId: type: string transactionId: type: string statusMessage: type: string sequenceNo: type: string data: title: DocumentUploadData type: object properties: customerId: type: string description: type: string documentType: type: string name: type: string version: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' binaryAttachment: type: array items: title: DocumentObject type: object properties: id: type: string attachmentType: type: string content: type: string mimeType: type: string name: type: string status: type: string description: type: string tag: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' url: type: string extension: type: string initialName: type: string size: $ref: '#/components/schemas/com_mtn_aggregator_models_Size' href: type: string characteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_NameValue' approvalRequired: type: string id: type: string com_mtn_aggregator_models_DocumentUploadData: title: DocumentUploadData type: object properties: customerId: type: string description: type: string documentType: type: string name: type: string version: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' binaryAttachment: type: array items: title: DocumentObject type: object properties: id: type: string attachmentType: type: string content: type: string mimeType: type: string name: type: string status: type: string description: type: string tag: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' url: type: string extension: type: string initialName: type: string size: $ref: '#/components/schemas/com_mtn_aggregator_models_Size' href: type: string characteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_NameValue' approvalRequired: type: string id: type: string com_mtn_madapi_commons_models_error_APIError: title: APIError type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string statusCode: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: type: string com_mtn_aggregator_models_response_FetchDocumentResponse: title: FetchDocumentResponse type: object properties: statusCode: type: string customerId: type: string statusMessage: type: string transactionId: type: string data: title: FetchDocumentData type: object properties: statusCode: type: string customerId: type: string statusMessage: type: string transactionId: type: string data: title: FetchData type: object properties: id: type: string description: type: string documentType: type: string name: type: string version: type: string binaryAttachment: title: BinaryAttachment type: object properties: id: type: string attachmentType: type: string content: type: string mimeType: type: string name: type: string status: type: string description: type: string tag: type: string validFor: title: ValidFor type: object properties: startDateTime: type: string endDateTime: type: string url: type: string extension: type: string initialName: type: string size: title: Size type: object properties: amount: type: integer format: int32 href: type: string type: type: string characteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: string valueType: type: string relatedParty: type: array items: title: RelatedParty type: object properties: id: type: string role: type: string name: type: string href: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' '@type': type: string content: type: string id: type: string description: type: string documentType: type: string name: type: string version: type: string binaryAttachment: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_BinaryAttachment' characteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_Characteristic' relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' error: title: APIError type: object properties: statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string statusCode: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: type: string com_mtn_aggregator_models_DocumentRelationship: title: DocumentRelationship type: object properties: type: type: string documentRef: title: DocumentReference type: object properties: id: type: string href: type: string id: type: string com_mtn_aggregator_models_response_RetrieveDocumentResponse: title: RetrieveDocumentResponse type: object properties: statusCode: type: string customerId: type: string transactionId: type: string statusMessage: type: string sequenceNo: type: string data: type: array items: title: DocumentData type: object properties: id: type: string customerId: type: string description: type: string documentType: type: string documentAccount: type: string creationDate: type: string lastUpdate: type: string updateDate: type: string lifecycleState: type: string biometricType: type: string channelName: type: string channelId: type: string name: type: string email: type: string imageType: type: string isBase64: type: boolean isFromService: type: boolean serviceName: type: string submissionDate: type: string uploadedDay: type: string uploadedMonth: type: string uploadedYear: type: string version: type: string binaryAttachment: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_BinaryAttachment' characteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_response_Characteristic' documentRelationship: type: array items: title: DocumentRelationship type: object properties: type: type: string documentRef: title: DocumentReference type: object properties: id: type: string href: type: string id: type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' error: title: APIResponseError type: object properties: statusCode: type: string statusMessage: type: string supportMessage: type: string transactionId: type: string timestamp: type: string path: type: string method: type: string downstreamStatusCode: type: integer format: int32 sequenceNo: type: string com_mtn_aggregator_models_ValidFor: title: ValidFor type: object properties: startDateTime: type: string endDateTime: type: string com_mtn_aggregator_models_Size: title: Size type: object properties: amount: type: integer format: int32 com_mtn_aggregator_models_DmsRequest: title: DmsRequest type: object properties: customerId: type: string description: type: string targetSystem: type: string channel: type: string lifecycleState: type: string biometricType: type: string channelId: type: string documentType: type: string documentAccount: type: string name: type: string email: type: string imageType: type: string isBase64: type: string isFromService: type: string serviceName: type: string submissionDate: type: string format: date-time channelToken: type: string decrypt: type: string '@type': type: string relatedParty: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_RelatedParty' binaryAttachment: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_DocumentObject' characteristic: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_NameValue' documentRelationship: type: array items: $ref: '#/components/schemas/com_mtn_aggregator_models_DocumentRelationship' approvalRequired: type: string com_mtn_aggregator_models_NameValue: title: NameValue type: object properties: id: type: string name: type: string value: type: string valueType: type: string com_mtn_aggregator_models_RelatedParty: title: RelatedParty type: object properties: id: type: string role: type: string name: type: string href: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' '@type': type: string content: type: string com_mtn_aggregator_models_response_FetchData: title: FetchData type: object properties: id: type: string description: type: string documentType: type: string name: type: string version: type: string binaryAttachment: title: BinaryAttachment type: object properties: id: type: string attachmentType: type: string content: type: string mimeType: type: string name: type: string status: type: string description: type: string tag: type: string validFor: title: ValidFor type: object properties: startDateTime: type: string endDateTime: type: string url: type: string extension: type: string initialName: type: string size: title: Size type: object properties: amount: type: integer format: int32 href: type: string type: type: string characteristic: type: array items: title: Characteristic type: object properties: name: type: string value: type: string valueType: type: string relatedParty: type: array items: title: RelatedParty type: object properties: id: type: string role: type: string name: type: string href: type: string validFor: $ref: '#/components/schemas/com_mtn_aggregator_models_ValidFor' '@type': type: string content: type: string com_mtn_aggregator_models_RelatedObject: title: RelatedObject type: object properties: involvement: type: string reference: 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