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]