Agent API v2 Quick Reference Guide
Overview
This API provides comprehensive functionality for managing agent (broker) information, including bank accounts, licenses, appointments, and products. Authentication is required for all endpoints.
Authentication
All requests require Basic Authentication headers. Rate limiting is set to 30 requests per minute.
API Endpoints
Agent Information
| Endpoint | Method | Description | Key Parameters |
|---|---|---|---|
/agents/{broker_id} | GET | Retrieve agent information | broker_id (path) |
/agents/{broker_id} | PUT | Update agent information | broker_id (path), agent details (body) |
/agents/{broker_id}?downline=direct&mode=active | GET | Retrieve agent downline | broker_id (path), downline, mode (query) |
/agents/{broker_id}/documents | GET | Retrieve agent documents | broker_id (path), filter parameters (query) |
/agents/{broker_id}/document/{document_id} | GET | Download specific document | broker_id, document_id (path) |
Note on downline parameter: Values can be direct or full
Note on mode parameter: Values can be active, inactive, or all
Bank Accounts
| Endpoint | Method | Description | Key Parameters |
|---|---|---|---|
/agents/{broker_id}/bankaccounts | GET | List agent bank accounts | broker_id (path) |
/agents/{broker_id}/bankaccounts/{bbaid} | GET | Get specific bank account | broker_id, bbaid (path) |
/agents/{broker_id}/bankaccounts | POST | Create new bank account | broker_id (path), account details (body) |
/agents/{broker_id}/bankaccounts/{bbaid} | PUT | Update bank account | broker_id, bbaid (path), account details (body) |
/agents/{broker_id}/bankaccounts/{bbaid} | DELETE | Delete bank account | broker_id, bbaid (path) |
Licenses
| Endpoint | Method | Description | Key Parameters |
|---|---|---|---|
/agents/{broker_id}/licenses | GET | List agent licenses | broker_id (path) |
/agents/{broker_id}/licenses/{license_id} | GET | Get specific license | broker_id, license_id (path) |
/agents/{broker_id}/licenses | POST | Create new license | broker_id (path), license details (body) |
/agents/{broker_id}/licenses/{license_id} | PUT | Update license | broker_id, license_id (path), license details (body) |
/agents/{broker_id}/licenses/{license_id} | DELETE | Delete license | broker_id, license_id (path) |
License Appointments
| Endpoint | Method | Description | Key Parameters |
|---|---|---|---|
/agents/{broker_id}/licenses/{license_id}/appointments | GET | List appointments | broker_id, license_id (path) |
/agents/{broker_id}/licenses/{license_id}/appointments/{appointment_id} | GET | Get specific appointment | broker_id, license_id, appointment_id (path) |
/agents/{broker_id}/licenses/{license_id}/appointments | POST | Create appointment | broker_id, license_id (path), appointment details (body) |
/agents/{broker_id}/licenses/{license_id}/appointments/{appointment_id} | PUT | Update appointment | broker_id, license_id, appointment_id (path), details (body) |
/agents/{broker_id}/licenses/{license_id}/appointments/{appointment_id} | DELETE | Delete appointment | broker_id, license_id, appointment_id (path) |
Products & Settings
| Endpoint | Method | Description | Key Parameters |
|---|---|---|---|
/products/{broker_id} | GET | List agent products | broker_id (path) |
/products/{broker_id}/{product_id} | GET | Get specific product | broker_id, product_id (path) |
/settings/vendors | GET | List corporation vendors | None |
Request & Response Details
Agent Information
GET /agents/{broker_id}
Response includes:
- Basic agent information (name, contact details, status)
- Company information
- Tax information
- Agent type and status
PUT /agents/{broker_id}
Request body parameters:
| Parameter | Type | Description |
|---|---|---|
label | String | Agent label/name |
active | Boolean | Indicates if agent is active |
companyname | String | Agent's company name |
firstname | String | First name |
lastname | String | Last name |
middlename | String | Middle name |
email | String | Email address |
email2 | String | Secondary email |
address1 | String | Primary address |
address2 | String | Additional address info |
city | String | City |
state | String | State (2-letter code) |
zipcode | String | ZIP code |
phone1 | String | Primary phone (10 digits) |
phone2 | String | Secondary phone (10 digits) |
fax | String | Fax number (10 digits) |
taxid | String | Tax ID (9 digits) |
taxidtype | String | "SSN" or "Tax ID" |
brokerType | String | Agent type |
brokerType2 | String | Secondary agent type |
brokerType3 | String | Tertiary agent type |
brokerStatus | String | Agent status |
Bank Account Details
POST/PUT /agents/{broker_id}/bankaccounts
Required fields:
| Parameter | Type | Description |
|---|---|---|
active | Boolean | Status of account |
firstname | String | First name |
lastname | String | Last name |
address | String | Address |
city | String | City |
state | String | State (2-letter code) |
zipcode | String | ZIP code (5 digits) |
telephone | String | Phone number |
email | String | Email address |
paytype | String | "CC" or "ACH" |
For Credit Card (paytype=CC):
| Parameter | Type | Description |
|---|---|---|
cardnumber | String | Credit card number (must pass MOD10 validation) |
cardtype | String | "AMERICAN EXPRESS", "DISCOVER", "MASTERCARD", or "VISA" |
cardexpmonth | String | 2-digit month (01-12) |
cardexpyear | String | 4-digit year |
For ACH (paytype=ACH):
| Parameter | Type | Description |
|---|---|---|
bankname | String | Bank name |
routingnumber | String | 9-digit routing number (must pass ABA validation) |
accountnumber | String | Account number |
accounttype | String | "C" (Checking) or "S" (Savings) |
checktype | String | "B" or "I" |
Optional fields:
| Parameter | Type | Description |
|---|---|---|
bOtherPayor | Boolean | Indicates if payment is by another person |
relationship | String | Required if bOtherPayor is true |
checknumber | String | Check number for ACH |
memo | String | Memo field for ACH |
signaturename | String | Signature name for ACH |
accountlabel | String | Label for the account |
ledgeraccount | String | Ledger account number |
commissionpayables | Boolean | Enable commission payables |
invoicepayments | Boolean | Enable invoice payments |
License Details
POST/PUT /agents/{broker_id}/licenses
Request body parameters:
| Parameter | Type | Description |
|---|---|---|
licstate | String | State code |
licnumber | String | License number |
issued_date | Date | Date issued |
expiration_date | Date | Expiration date |
suspended_date | Date | Suspension date |
state_non_resident | Boolean | Non-resident state indicator |
description | String | License description |
perpetual | Boolean | Perpetual license indicator |
resident_state | String | Resident state |
lictype | String | License type |
Appointment Details
POST/PUT /agents/{broker_id}/licenses/{license_id}/appointments
Request body parameters:
| Parameter | Type | Description |
|---|---|---|
vendor_id | Integer | Vendor ID |
appointment_code | String | Appointment code |
effective_date | Date | Effective date |
expires_date | Date | Expiration date |
training_date | Date | Training date |
underwriters | Array | List of underwriters |
Response Status Codes
| Code | Name | Description |
|---|---|---|
| 200 | OK | Request successful |
| 204 | No Content | Request succeeded but no content returned |
| 400 | Bad Request | Invalid request parameters |
| 401 | Unauthorized | Authentication failed |
| 404 | Not Found | Resource not found |
| 405 | Method Not Allowed | HTTP method not supported for this resource |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Internal Server Error | Server error occurred |
Rate Limiting
Rate limiting is set to 30 requests per minute per API key. The following headers are returned with each response:
X-RateLimit-Limit: 30X-RateLimit-Remaining: [remaining requests]