Revoke Consent
Revoke an active consent to immediately terminate data sharing authorization and prevent future data fetches.
Overview
The Revoke Consent API allows Financial Information Users (FIUs) to programmatically revoke an active consent, immediately terminating the data sharing authorization granted by the customer. Once revoked, the consent can no longer be used to fetch financial information, and any scheduled periodic data fetches will be cancelled. Consent revocation is a critical component of consent lifecycle management and is required for regulatory compliance under the Account Aggregator framework. This API should be used when:- The customer explicitly requests to revoke their consent through your application interface
- A loan application is completed or cancelled, and continued data access is no longer needed
- Your business logic determines that data sharing should be terminated (e.g., customer account closure, product expiry)
- You need to comply with data minimization principles by revoking consent as soon as the business purpose is fulfilled
Endpoint
Authentication
This API requires authentication through the following headers that must be included in every request:| Header | Type | Required | Description |
|---|---|---|---|
Content-Type | string | Yes | Must be set to application/json to indicate the request body format. |
client_id | string | Yes | Your unique client identifier provided by MoneyOne during FIU onboarding. This credential identifies your organization in the FinPro system. |
client_secret | string | Yes | Your confidential client secret provided by MoneyOne. This must be kept secure and never exposed in client-side code or public repositories. |
organisationId | string | Yes | Your organization’s unique identifier in the FinPro system. This is assigned during onboarding and links all API calls to your FIU entity. |
appIdentifier | string | Yes | Application-specific identifier that helps track which application or service within your organization is making the API call. Useful for multi-application FIU setups. |
Request Body
The request body must be a JSON object containing the following parameter:| Parameter | Type | Required | Description |
|---|---|---|---|
consentID | string | Yes | The unique consent identifier that was assigned by the Account Aggregator when the customer approved the consent. This is the consentID field returned in consent list APIs or provided in consent approval webhook notifications. This must be an active, valid consent ID to be eligible for revocation. |
Important Notes
- Consent ID Format: The consent ID is a UUID (Universally Unique Identifier) typically in the format
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx. Ensure you’re using the correct consent ID and not confusing it with the consent handle. - Active Consents Only: Only consents in
ACTIVEorPAUSEDstatus can be revoked. Attempting to revoke a consent that is alreadyREVOKED,REJECTED,EXPIRED, orPENDINGwill result in an error. - Consent Handle vs Consent ID: Do not confuse the consent handle (created during consent request) with the consent ID (assigned after approval). Only the consent ID can be used for revocation, and it’s only available after the customer approves the consent.
- Irreversible Action: Revocation cannot be undone. After revoking, you’ll need to create a new consent request if data access is needed again.
Response
Success Response (200 OK)
When the consent is successfully revoked, the API returns a simple confirmation message:| Field | Type | Description |
|---|---|---|
ver | string | The version of the FinPro API that processed this request. Useful for debugging and version tracking. |
status | string | Overall API call status. Will be success when the revocation was processed successfully. |
message | string | A human-readable confirmation message indicating that the consent was successfully revoked. This message can be displayed to users or logged for audit purposes. |
Post-Revocation Behavior
After successful revocation:- Immediate Effect: The consent status changes to
REVOKEDimmediately. Any in-flight or future data fetch requests using this consent will be rejected. - Webhook Notification: If you have webhook subscriptions configured for consent revocation events, a webhook notification will be triggered with event type
CONSENTand event statusCONSENT_REVOKED. - Data Access Termination: The FIP will be notified about the revocation, and the customer’s data will no longer be accessible through this consent.
- Audit Trail: The revocation event is recorded in the consent audit trail with timestamp and source information for compliance and record-keeping purposes.
Error Response (400 Bad Request) - Already Revoked
When attempting to revoke a consent that is already in revoked status:Error Response (400 Bad Request) - Invalid Consent ID
When the provided consent ID doesn’t exist or is invalid:Error Response (400 Bad Request) - Invalid Status
When attempting to revoke a consent in a status that doesn’t allow revocation (e.g., PENDING, REJECTED, EXPIRED):| Field | Type | Description |
|---|---|---|
ver | string | The version of the FinPro API that processed this request. |
timestamp | string | ISO 8601 formatted timestamp indicating when the error occurred. Useful for debugging and correlating with server logs. |
errorCode | string | A human-readable error code indicating the category of error. Common values include InvalidStatus, InvalidRequest, AuthenticationFailed, etc. |
errorMsg | string | A detailed error message explaining what went wrong. This provides specific information about why the revocation failed and what the current state of the consent is. |
Common Error Codes
| Error Code | Status Code | Description | Resolution |
|---|---|---|---|
InvalidRequest | 400 | The request body is malformed, missing the consent ID, or contains an invalid consent ID format. | Verify that the consentID field is present and contains a valid UUID format. Check that you’re using the consent ID (not consent handle). |
InvalidStatus | 400 | The consent is not in a status that allows revocation. This occurs when trying to revoke consents that are already REVOKED, REJECTED, EXPIRED, or still PENDING. | Check the current consent status using the Consent List APIs before attempting revocation. Only ACTIVE and PAUSED consents can be revoked. |
ConsentNotFound | 404 | The specified consent ID does not exist in the system or does not belong to your organization. | Verify that you’re using the correct consent ID. Check that the consent belongs to your organization by querying the Consent List APIs first. |
AuthenticationFailed | 401 | The provided credentials (client_id, client_secret, organisationId) are invalid or expired. | Verify your credentials in the FinPro admin portal. Ensure you’re using the correct credentials for the environment (UAT vs Production). |
UnauthorizedAccess | 403 | The consent exists but belongs to a different organization, or you don’t have permission to revoke it. | Ensure the consent was created by your organization. Verify that your API credentials have the necessary permissions for revocation operations. |
Example Request
Use Cases
Customer-Initiated Revocation
Allow customers to revoke consents from their account settings:Automatic Revocation After Loan Completion
Revoke consents automatically when business purpose is fulfilled:Batch Revocation for Expired Products
Revoke consents for products that are no longer active:Revocation with Status Verification
Verify consent status before attempting revocation:Best Practices
- User Confirmation: Always require explicit user confirmation before revoking consents initiated through customer interfaces. Display relevant consent details (FIP name, account number, data types) in the confirmation dialog.
- Audit Logging: Log all revocation attempts (both successful and failed) with timestamp, reason, and initiating user/system for compliance and debugging purposes.
-
Status Verification: Before attempting revocation, verify that the consent is in
ACTIVEorPAUSEDstatus to avoid unnecessary error responses. Use the Consent List APIs to check current status. - Error Handling: Handle “already revoked” errors gracefully - this is a common scenario when multiple systems or processes might attempt to revoke the same consent.
- Webhook Integration: Configure webhook subscriptions for revocation events so your system can react to revocations initiated by customers through the AA interface or other channels.
- Data Cleanup: After revoking consent, consider triggering data retention policies to delete or archive any financial information that was fetched using the revoked consent, in accordance with your privacy policy.
- Customer Communication: Notify customers when consents are revoked, especially for system-initiated revocations. Include information about why the revocation occurred and how to grant new consent if needed.
- Idempotency Consideration: Implement idempotent revocation logic in your application. If a revocation request fails or times out, it should be safe to retry without causing issues.
Regulatory Considerations
Consent revocation is a key requirement under the Account Aggregator framework and data protection regulations:- Right to Withdraw: Customers have the right to withdraw consent at any time. Your application must provide easily accessible mechanisms for consent revocation.
- Immediate Effect: Revocation must take effect immediately upon processing. Continuing to fetch data after revocation is a regulatory violation.
- Transparency: Maintain clear audit trails showing when consents were revoked, by whom, and for what reason.
- Data Deletion: Consider implementing automatic data deletion policies triggered by consent revocation to comply with data minimization principles.
- Customer Access: Customers should be able to view their revocation history and understand which consents are active vs revoked.
Integration with Webhooks
When you revoke a consent via this API, your webhook endpoint (if configured) will receive a notification:- Update consent status in your database
- Trigger data cleanup processes
- Notify relevant internal systems
- Update customer-facing dashboards in real-time
Related APIs
- Consent List APIs: Use these to retrieve consent IDs before revocation
- Consent Request APIs: Create new consents if a revoked consent needs to be replaced
- Data Management APIs: Any data fetch operations using revoked consent IDs will fail
Authorizations
Your unique client identifier provided by MoneyOne during FIU onboarding
Your confidential client secret provided by MoneyOne
Your organization's unique identifier in the FinPro system
Application-specific identifier for tracking API calls
Body
The unique consent identifier that was assigned by the Account Aggregator when the customer approved the consent. This is the consentID field returned in consent list APIs or provided in consent approval webhook notifications. Must be an active, valid consent ID to be eligible for revocation. Only consents in ACTIVE or PAUSED status can be revoked.
Response
Consent revoked successfully
The version of the FinPro API that processed this request. Useful for debugging and version tracking.
Overall API call status. Will be 'success' when the revocation was processed successfully.
A human-readable confirmation message indicating that the consent was successfully revoked. This message can be displayed to users or logged for audit purposes.
