Skip to main content

REST API - Member API v1 Documentation

Overview​

This API provides functionality for retrieving and managing member information, payment methods, products, and dependents. Authentication is required for all endpoints.

Authentication​

All requests require Basic Authentication headers with valid username and password. Rate limiting is set to 30 requests per minute.

Authorization: Basic base64(username:password)

API Endpoints​

Member Information​

EndpointMethodDescription
/[code]/member/[member_id].[format]GETRetrieve member information
/[code]/member/new.[format]POSTCreate new member

Payment Method​

EndpointMethodDescription
/[code]/paymentmethod/[payment_id].[format]GETRetrieve payment method
/[code]/paymentmethod/new.[format]POSTCreate new payment method

Transaction Status​

EndpointMethodDescription
/[code]/transactionstatus/[transaction_id].[format]GETCheck transaction status

Product Count​

EndpointMethodDescription
/[code]/productcount/[broker_id].[format]GETGet product count for broker

Signature Exists​

EndpointMethodDescription
/[code]/signatureexists/[sig_param].[format]GETCheck if signature exists

Path Parameters​

  • [code] - Authentication code for API access
  • [format] - Response format (json or xml)
  • [member_id] - Member identifier
  • [payment_id] - Payment method identifier
  • [transaction_id] - Transaction identifier
  • [broker_id] - Broker/agent identifier
  • [sig_param] - Signature parameter for checking

Member Object Structure​

{
"id": 12345,
"corpid": "ABC",
"brokerid": "54321",
"uniqueid": "M12345",
"firstname": "John",
"middlename": "Q",
"lastname": "Public",
"dob": "01/01/1980",
"gender": "M",
"relationship": "Primary",
"address": "123 Main St",
"address2": "Apt 4B",
"city": "Anytown",
"state": "CA",
"zipcode": "90210",
"email": "john@example.com",
"phone1": "8005551234",
"phone2": "8005554321",
"phone3": "8005557890",
"fax": "8005559876",
"dlnumber": "CA12345678",
"ssn": "123-45-6789",
"lead": "Web",
"dtcreated": "01/01/2023",
"source": "Website",
"sourcedetail": "Homepage Form"
}

Payment Object Structure​

The payment object can contain either credit card or ACH information:

{
"id": 789,
"paymenttype": "CC", // Can be "CC", "ACH", "LB", or "OTHER"
"cctype": "VISA",
"ccnumber": "************1234",
"ccexpmonth": "12",
"ccexpyear": "2025",
"ccsecuritycode": "***",
"achtype": "",
"achrouting": "",
"achaccount": "",
"achbank": "",
"firstname": "John",
"lastname": "Public",
"address": "123 Main St",
"city": "Anytown",
"state": "CA",
"zipcode": "90210"
}

For ACH payment:

{
"id": 790,
"paymenttype": "ACH",
"cctype": "",
"ccnumber": "",
"ccexpmonth": "",
"ccexpyear": "",
"ccsecuritycode": "",
"achtype": "C", // "C" for Checking, "S" for Savings
"achrouting": "123456789",
"achaccount": "********5678",
"achbank": "Example Bank",
"firstname": "John",
"lastname": "Public",
"address": "123 Main St",
"city": "Anytown",
"state": "CA",
"zipcode": "90210"
}

Beneficiary Object Structure​

{
"id": 456,
"name": "Jane Public",
"address": "123 Main St",
"city": "Anytown",
"state": "CA",
"zipcode": "90210",
"relationship": "Spouse",
"phone1": "8005551234",
"dob": "02/15/1982"
}

Dependent Object Structure​

Similar to Member object but with relationship information to the primary member.

Product Object Structure​

Contains information about insurance or financial products associated with the member.

Creating a New Member​

POST /[code]/member/new.[format]​

Request Body Parameters​

ParameterTypeRequiredDescription
userString (JSON)YesMember information
paymentString (JSON)NoPayment method information
beneficiaryString (JSON)NoBeneficiary information
productsString (JSON)NoProduct information
dependentsString (JSON)NoDependent information

Example Request​

POST /abc123/member/new.json HTTP/1.1
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
Content-Type: application/json

{
"user": "{ \"corpid\": \"ABC\", \"brokerid\": \"54321\", \"uniqueid\": \"M12345\", \"firstname\": \"John\", \"lastname\": \"Public\", \"dob\": \"01/01/1980\" }",
"payment": "{ \"paymenttype\": \"CC\", \"cctype\": \"VISA\", \"ccnumber\": \"4111111111111111\", \"ccexpmonth\": \"12\", \"ccexpyear\": \"2025\" }"
}

Response​

{
"success": "true",
"member": {
"id": 12345,
"corpid": "ABC",
"brokerid": "54321",
"uniqueid": "M12345",
"firstname": "John",
"lastname": "Public",
"dob": "01/01/1980"
}
}

Retrieving Member Information​

GET /[code]/member/[member_id].[format]​

Example Response​

{
"success": "true",
"member": {
"id": 12345,
"corpid": "ABC",
"brokerid": "54321",
"uniqueid": "M12345",
"firstname": "John",
"middlename": "Q",
"lastname": "Public",
"dob": "01/01/1980",
"gender": "M",
"relationship": "Primary",
"address": "123 Main St",
"address2": "Apt 4B",
"city": "Anytown",
"state": "CA",
"zipcode": "90210",
"email": "john@example.com",
"phone1": "8005551234"
}
}

Business Rules​

Member​

  • lastname is required
  • corpid is required
  • brokerid is required
  • uniqueid is required

Payment​

  • paymenttype is required and must be one of: "CC", "ACH", "LB", or "OTHER"
  • If paymenttype is "CC": ccnumber, ccexpmonth, and ccexpyear are required
  • If paymenttype is "ACH": achrouting and achaccount are required

Response Status Codes​

CodeNameDescription
200OKRequest successful
401UnauthorizedAuthentication failed
403ForbiddenAuthentication successful but access denied
429Too Many RequestsRate limit exceeded

Error Responses​

Errors are returned with a consistent format:

{
"success": "false",
"messages": [
"Error message details"
]
}

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]

When the rate limit is exceeded, a 429 Too Many Requests status is returned with an appropriate error message.