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
| Endpoint | Method | Description |
|---|---|---|
/[code]/member/[member_id].[format] | GET | Retrieve member information |
/[code]/member/new.[format] | POST | Create new member |
Payment Method
| Endpoint | Method | Description |
|---|---|---|
/[code]/paymentmethod/[payment_id].[format] | GET | Retrieve payment method |
/[code]/paymentmethod/new.[format] | POST | Create new payment method |
Transaction Status
| Endpoint | Method | Description |
|---|---|---|
/[code]/transactionstatus/[transaction_id].[format] | GET | Check transaction status |
Product Count
| Endpoint | Method | Description |
|---|---|---|
/[code]/productcount/[broker_id].[format] | GET | Get product count for broker |
Signature Exists
| Endpoint | Method | Description |
|---|---|---|
/[code]/signatureexists/[sig_param].[format] | GET | Check 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
| Parameter | Type | Required | Description |
|---|---|---|---|
user | String (JSON) | Yes | Member information |
payment | String (JSON) | No | Payment method information |
beneficiary | String (JSON) | No | Beneficiary information |
products | String (JSON) | No | Product information |
dependents | String (JSON) | No | Dependent 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
lastnameis requiredcorpidis requiredbrokeridis requireduniqueidis required
Payment
paymenttypeis required and must be one of: "CC", "ACH", "LB", or "OTHER"- If
paymenttypeis "CC":ccnumber,ccexpmonth, andccexpyearare required - If
paymenttypeis "ACH":achroutingandachaccountare required
Response Status Codes
| Code | Name | Description |
|---|---|---|
| 200 | OK | Request successful |
| 401 | Unauthorized | Authentication failed |
| 403 | Forbidden | Authentication successful but access denied |
| 429 | Too Many Requests | Rate 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: 30X-RateLimit-Remaining: [remaining requests]
When the rate limit is exceeded, a 429 Too Many Requests status is returned with an appropriate error message.