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.