Skip to content

Partners

The PartnersResource provides methods for accessing partner account information.

Overview

The SDK provides separate partner resources for Shares and Capital pool types:

import os
from tmo_api import TMOClient

client = TMOClient(
    token=os.environ["TMO_API_TOKEN"],
    database=os.environ["TMO_DATABASE"]
)

# Access shares partners resource
shares_partners = client.shares_partners

# Access capital partners resource
capital_partners = client.capital_partners

Methods

get_partner()

Get detailed information about a specific partner. Returns complete profile information including contact details, ACH banking information, custom fields, and trustee information.

Parameters: - account (str, required): The partner account identifier

Returns: Dict[str, Any] - Partner data dictionary (CPartner:#TmoAPI)

Response Fields:

  • Contact Information: FirstName, LastName, MI, FullName, Salutation, EmailAddress
  • Address: Street, City, State, ZipCode, HomeStreet, HomeCity, HomeState, HomeZipCode
  • Phone Numbers: PhoneHome, PhoneWork, PhoneCell, PhoneFax, PhoneMain
  • ACH Details: ACH_AccountNumber, ACH_RoutingNumber, ACH_BankName, ACH_BankAddress, ACH_AccountType, ACH_SecCode, ACH_IndividualId, ACH_IndividualName, ACH_ServiceStatus, ACH_SendDepositNotificationFlag
  • Custom Fields: Array of custom field objects with Name, Tab, and Value properties
  • Trustee Information: TrusteeRecID, TrusteeAccountRef, TrusteeAccountType
  • Tax Information: TIN, TINType
  • Settings: DeliveryOptions, PrintStatementFor, EmailFormat, Categories, Notes, UsePayee, Payee
  • Registered Shareholder: RegisteredShareholderName, RegisteredShareholderStreet, RegisteredShareholderCity, RegisteredShareholderState, RegisteredShareholderZipCode
  • Flags: ERISA, NonResident, HomeAddrEnabled
  • Other: AccountType, BirthDay, SecurityHeldBy, WPC_PIN, WPC_Publish, GrowthPct
  • Holdback: Holdback_Use, Holdback_Pct, Holdback_Ref, Holdback_RecID
  • System Fields: RecID, SysCreatedDate, SysTimeStamp

Note: This endpoint returns profile and contact information but does NOT include financial transaction data (contributions, distributions, capital balances). For financial data, use pools.get_pool_partners().

Example:

partner = client.shares_partners.get_partner("P001002")

# Contact information
print(f"Name: {partner.get('FirstName')} {partner.get('LastName')}")
print(f"Email: {partner.get('EmailAddress')}")
print(f"Phone: {partner.get('PhoneHome')}")
print(f"Address: {partner.get('Street')}, {partner.get('City')}, {partner.get('State')} {partner.get('ZipCode')}")

# ACH information
print(f"ACH Bank: {partner.get('ACH_BankName')}")
print(f"ACH Account: {partner.get('ACH_AccountNumber')}")
print(f"ACH Routing: {partner.get('ACH_RoutingNumber')}")

# Custom fields
for field in partner.get('CustomFields', []):
    print(f"{field['Name']}: {field['Value']}")

# Trustee information
print(f"Trustee ID: {partner.get('TrusteeRecID')}")
print(f"Trustee Account Ref: {partner.get('TrusteeAccountRef')}")

get_partner_attachments()

Get attachments for a partner.

Parameters: - account (str, required): The partner account identifier

Returns: List[Any] - List of partner attachments

Example:

attachments = client.shares_partners.get_partner_attachments("PART001")

for attachment in attachments:
    print(f"File: {attachment.get('FileName')}")

list_all()

List all partners with optional date filtering. Date range filters partners based on their DateCreated and LastChanged timestamps.

Parameters: - start_date (str, optional): Start date in MM/DD/YYYY format - end_date (str, optional): End date in MM/DD/YYYY format

Returns: List[Any] - List of partner data dictionaries (CPSSPartners:#TmoAPI)

Response Fields: Each partner dictionary contains:

  • Account: Partner account identifier
  • Contact Info: FirstName, LastName, MI, SortName, EmailAddress
  • Address: Street, City, State, ZipCode
  • Phone Numbers: PhoneHome, PhoneWork, PhoneCell, PhoneFax, PhoneMain
  • Custom Fields: Array of custom field objects with Name, Tab, and Value properties
  • Trustee Info: TrusteeName, TrusteeAccount, TrusteeAccountRef, TrusteeAccountType
  • Tax Info: TIN
  • Flags: ERISA, IsACH, UsePayee
  • Timestamps: DateCreated, LastChanged
  • Other: RecID, Payee

Example:

# All partners
partners = client.shares_partners.list_all()

for partner in partners:
    print(f"{partner.get('Account')}: {partner.get('FirstName')} {partner.get('LastName')}")
    print(f"  Email: {partner.get('EmailAddress')}")
    print(f"  Created: {partner.get('DateCreated')}")

    # Show custom fields
    for field in partner.get('CustomFields', []):
        print(f"  {field['Name']}: {field['Value']}")

# Filter by date range
partners = client.shares_partners.list_all(
    start_date="01/01/2024",
    end_date="12/31/2024"
)

print(f"Found {len(partners)} partners created/modified in 2024")