Skip to main content

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

EndpointMethodDescriptionKey Parameters
/agents/{broker_id}GETRetrieve agent informationbroker_id (path)
/agents/{broker_id}PUTUpdate agent informationbroker_id (path), agent details (body)
/agents/{broker_id}?downline=direct&mode=activeGETRetrieve agent downlinebroker_id (path), downline, mode (query)
/agents/{broker_id}/documentsGETRetrieve agent documentsbroker_id (path), filter parameters (query)
/agents/{broker_id}/document/{document_id}GETDownload specific documentbroker_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

EndpointMethodDescriptionKey Parameters
/agents/{broker_id}/bankaccountsGETList agent bank accountsbroker_id (path)
/agents/{broker_id}/bankaccounts/{bbaid}GETGet specific bank accountbroker_id, bbaid (path)
/agents/{broker_id}/bankaccountsPOSTCreate new bank accountbroker_id (path), account details (body)
/agents/{broker_id}/bankaccounts/{bbaid}PUTUpdate bank accountbroker_id, bbaid (path), account details (body)
/agents/{broker_id}/bankaccounts/{bbaid}DELETEDelete bank accountbroker_id, bbaid (path)

Licenses

EndpointMethodDescriptionKey Parameters
/agents/{broker_id}/licensesGETList agent licensesbroker_id (path)
/agents/{broker_id}/licenses/{license_id}GETGet specific licensebroker_id, license_id (path)
/agents/{broker_id}/licensesPOSTCreate new licensebroker_id (path), license details (body)
/agents/{broker_id}/licenses/{license_id}PUTUpdate licensebroker_id, license_id (path), license details (body)
/agents/{broker_id}/licenses/{license_id}DELETEDelete licensebroker_id, license_id (path)

License Appointments

EndpointMethodDescriptionKey Parameters
/agents/{broker_id}/licenses/{license_id}/appointmentsGETList appointmentsbroker_id, license_id (path)
/agents/{broker_id}/licenses/{license_id}/appointments/{appointment_id}GETGet specific appointmentbroker_id, license_id, appointment_id (path)
/agents/{broker_id}/licenses/{license_id}/appointmentsPOSTCreate appointmentbroker_id, license_id (path), appointment details (body)
/agents/{broker_id}/licenses/{license_id}/appointments/{appointment_id}PUTUpdate appointmentbroker_id, license_id, appointment_id (path), details (body)
/agents/{broker_id}/licenses/{license_id}/appointments/{appointment_id}DELETEDelete appointmentbroker_id, license_id, appointment_id (path)

Products & Settings

EndpointMethodDescriptionKey Parameters
/products/{broker_id}GETList agent productsbroker_id (path)
/products/{broker_id}/{product_id}GETGet specific productbroker_id, product_id (path)
/settings/vendorsGETList corporation vendorsNone

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:

ParameterTypeDescription
labelStringAgent label/name
activeBooleanIndicates if agent is active
companynameStringAgent's company name
firstnameStringFirst name
lastnameStringLast name
middlenameStringMiddle name
emailStringEmail address
email2StringSecondary email
address1StringPrimary address
address2StringAdditional address info
cityStringCity
stateStringState (2-letter code)
zipcodeStringZIP code
phone1StringPrimary phone (10 digits)
phone2StringSecondary phone (10 digits)
faxStringFax number (10 digits)
taxidStringTax ID (9 digits)
taxidtypeString"SSN" or "Tax ID"
brokerTypeStringAgent type
brokerType2StringSecondary agent type
brokerType3StringTertiary agent type
brokerStatusStringAgent status

Bank Account Details

POST/PUT /agents/{broker_id}/bankaccounts

Required fields:

ParameterTypeDescription
activeBooleanStatus of account
firstnameStringFirst name
lastnameStringLast name
addressStringAddress
cityStringCity
stateStringState (2-letter code)
zipcodeStringZIP code (5 digits)
telephoneStringPhone number
emailStringEmail address
paytypeString"CC" or "ACH"

For Credit Card (paytype=CC):

ParameterTypeDescription
cardnumberStringCredit card number (must pass MOD10 validation)
cardtypeString"AMERICAN EXPRESS", "DISCOVER", "MASTERCARD", or "VISA"
cardexpmonthString2-digit month (01-12)
cardexpyearString4-digit year

For ACH (paytype=ACH):

ParameterTypeDescription
banknameStringBank name
routingnumberString9-digit routing number (must pass ABA validation)
accountnumberStringAccount number
accounttypeString"C" (Checking) or "S" (Savings)
checktypeString"B" or "I"

Optional fields:

ParameterTypeDescription
bOtherPayorBooleanIndicates if payment is by another person
relationshipStringRequired if bOtherPayor is true
checknumberStringCheck number for ACH
memoStringMemo field for ACH
signaturenameStringSignature name for ACH
accountlabelStringLabel for the account
ledgeraccountStringLedger account number
commissionpayablesBooleanEnable commission payables
invoicepaymentsBooleanEnable invoice payments

License Details

POST/PUT /agents/{broker_id}/licenses

Request body parameters:

ParameterTypeDescription
licstateStringState code
licnumberStringLicense number
issued_dateDateDate issued
expiration_dateDateExpiration date
suspended_dateDateSuspension date
state_non_residentBooleanNon-resident state indicator
descriptionStringLicense description
perpetualBooleanPerpetual license indicator
resident_stateStringResident state
lictypeStringLicense type

Appointment Details

POST/PUT /agents/{broker_id}/licenses/{license_id}/appointments

Request body parameters:

ParameterTypeDescription
vendor_idIntegerVendor ID
appointment_codeStringAppointment code
effective_dateDateEffective date
expires_dateDateExpiration date
training_dateDateTraining date
underwritersArrayList of underwriters

Response Status Codes

CodeNameDescription
200OKRequest successful
204No ContentRequest succeeded but no content returned
400Bad RequestInvalid request parameters
401UnauthorizedAuthentication failed
404Not FoundResource not found
405Method Not AllowedHTTP method not supported for this resource
429Too Many RequestsRate limit exceeded
500Internal Server ErrorServer 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: 30
  • X-RateLimit-Remaining: [remaining requests]