openapi: 3.2.0 info: title: Account Decisioning Banktech API description: "API to consume and process account management actions to perform account status changes to customers with a MoMo Advance account.\n ### ChangeLog: 03-March-23\n - First version" version: 1.0.0 servers: - url: https://api.mtn.com/accountDecisioning/v1 security: - OAuth2: [] tags: - name: banktech paths: /account/status: post: tags: - banktech summary: Change account status of momo advance customers. This is dedicated to banktech description: Change account status based on customers behaviour operationId: changeAccountStatus parameters: - name: transactionId in: header description: Transaction Id to identify the request schema: type: string - name: x-country-code in: header description: This is the country code for the target opco required: true schema: type: string - name: partnerId in: query description: Momo partner Identifier eg. 2600110005124 schema: type: string responses: '200': description: Success content: application/json: schema: $ref: '#/components/schemas/AccountStatusResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '405': description: Method No Allowed content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '406': description: Not acceptable content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '415': description: Unsopported media Type content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '500': description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' deprecated: false requestBody: content: application/json;charset=utf-8: schema: $ref: '#/components/schemas/AccountDecisioningDetails' required: true components: schemas: ErrorResponse: type: object required: - statusCode - statusMessage properties: statusCode: type: string example: '1000' description: This is the MADAPI Canonical Error Code (it is 4 characters long and it is not the HTTP Status Code which is 3 characters long). Back-end system errors are mapped to specific canonical error codes which are returned. More information on these mappings can be found on the MADAPI Confluence Page 'Response Codes' statusMessage: type: string description: More details and corrective actions related to the error which can be shown to a client supportMessage: type: string description: Internal message meant for consumers of the API to troubleshoot the error (could possible include the back-end system error code in the message if it would be useful) transactionId: type: string description: ID of the transaction timestamp: type: string format: date-time description: Timestamp of the error AccountDecisioningDetails: type: object properties: overdraftid: type: integer description: Internal id of the overdraft status: type: string description: New Overdraft status example: Active reason: type: string description: Reason for overdraft status change AccountStatusResponse: type: object properties: statusCode: type: string example: '0000' description: The canonical statusMessage: type: string example: OK transactionId: type: string example: '174478014184946374' securitySchemes: OAuth2: type: oauth2 flows: clientCredentials: scopes: {} tokenUrl: https://api.mtn.com/v1/oauth/access_token?grant_type=client_credentials