Source code for openbankproject_client.account_metadata

"""
Account Metadata endpoints for the OpenBankProject API Client.
"""

from typing import Dict, List, Optional, Union, Any


[docs] class AccountMetadataEndpoints: """Account Metadata-related API endpoints."""
[docs] def __init__(self, client): """ Initialize the endpoint group. Args: client: OpenBankProjectClient instance """ self.client = client
[docs] def create_tag_on_account(self, bank_id: str, account_id: str, view_id: str, data: Dict) -> Dict: """ Create a tag on account. Args: bank_id: Bank identifier account_id: Account identifier view_id: View identifier data: Tag data Returns: Dict containing created tag information """ return self.client.post(f"banks/{bank_id}/accounts/{account_id}/{view_id}/metadata/tags", data=data)
[docs] def get_tags_on_account(self, bank_id: str, account_id: str, view_id: str) -> Dict: """ Get tags on account. Args: bank_id: Bank identifier account_id: Account identifier view_id: View identifier Returns: Dict containing tags information """ return self.client.get(f"banks/{bank_id}/accounts/{account_id}/{view_id}/metadata/tags")
[docs] def delete_tag_on_account(self, bank_id: str, account_id: str, view_id: str, tag_id: str) -> Dict: """ Delete a tag on account. Args: bank_id: Bank identifier account_id: Account identifier view_id: View identifier tag_id: Tag identifier Returns: Dict containing deletion status """ return self.client.delete(f"banks/{bank_id}/accounts/{account_id}/{view_id}/metadata/tags/{tag_id}")