To access your association data using the MemberCentral API, contact [email protected]. Note that calls to the API may be rate limited and MemberCentral may disable API Access if calls exceed this limit.
HTTPS connections must be used when accessing the MemberCentral API.
Use https://apibeta.membercentral.com for your beta site.
Use https://api.membercentral.com for your production site.
GET - Returns address types
POST - Creates an address type
PUT - Updates an address type
DELETE - Deletes an address type
Authorization: Bearer YOUR_API_TOKEN
GET /v1/address HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"count": 2,
"address": [
{
"type": "Office Address",
"description": "Office Address",
"useattn": 1,
"useaddress2": 1,
"useaddress3": 0,
"usecounty": 1,
"enabledistrictmatching": 0,
"standardizeaddress": 0,
"standardizecity": 0,
"standardizestate": 0,
"standardizepostalcode": 0,
"standardizecounty": 0,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 ADDRESS TYPE NOT FOUND | invalid address type api_id |
200 OK
{
"data": {
"count": 1,
"address": {
"type": "Office Address",
"description": "Office Address",
"useattn": 1,
"useaddress2": 1,
"useaddress3": 0,
"usecounty": 1,
"enabledistrictmatching": 0,
"standardizeaddress": 0,
"standardizecity": 0,
"standardizestate": 0,
"standardizepostalcode": 0,
"standardizecounty": 0,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
404 ADDRESS TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Address type not found."
]
}
POST /v1/address HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 78
{
"type": "Office Address",
"description": "Office Address",
"useattn": 1
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating address type |
201 CREATED
{
"data": {
"count":1,
"result": "Address type created.",
"address": {
"type": "Office Address",
"description": "Office Address",
"useattn": 1,
"useaddress2": 1,
"useaddress3": 0,
"usecounty": 1,
"enabledistrictmatching": 0,
"standardizeaddress": 0,
"standardizecity": 0,
"standardizestate": 0,
"standardizepostalcode": 0,
"standardizecounty": 0,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create address type.",
...
]
}
PUT /v1/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 79
{
"type": "Office Address",
"description": "Office Address",
"position": 2
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 ADDRESS TYPE NOT FOUND | address type not found |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | unable to update address type |
200 OK
{
"data": {
"count":1,
"result": "Address type updated.",
"address": {
"type": "Office Address",
"description": "Office Address",
"useattn": 1,
"useaddress2": 1,
"useaddress3": 0,
"usecounty": 1,
"enabledistrictmatching": 0,
"standardizeaddress": 0,
"standardizecity": 0,
"standardizestate": 0,
"standardizepostalcode": 0,
"standardizecounty": 0,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update address type.",
...
]
}
DELETE /v1/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 ADDRESS TYPE NOT FOUND | address type not found |
| 500 NOT UPDATED | unable to delete address type |
200 OK
{
"data": {
"result":"Address type deleted."
},
"error":false,
"messages":[]
}
404 ADDRESS TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Address type not found."
]
}
GET - Returns address tag types
POST - Creates an address tag type
PUT - Updates an address tag type
DELETE - Deletes an address tag type
Authorization: Bearer YOUR_API_TOKEN
GET /v1/address/tag HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"count": 2,
"addresstag": [
{
"type": "Billing",
"issystemtype": 1,
"allowmemberupdate": 1,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/address/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/address/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 ADDRESS TAG TYPE NOT FOUND | invalid address tag type api_id |
200 OK
{
"data": {
"count": 1,
"addresstag": {
"type": "Billing",
"issystemtype": 1,
"allowmemberupdate": 1,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/address/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
404 ADDRESS TAG TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Address tag type not found."
]
}
POST /v1/address/tag HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 51
{
"type": "Newsletters",
"allowmemberupdate": 1
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating address tag type |
201 CREATED
{
"data": {
"count":1,
"result": "Address tag type created.",
"addresstag": {
"type": "Newsletters",
"issystemtype": 0,
"allowmemberupdate": 1,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/address/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create address tag type.",
...
]
}
PUT /v1/address/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 69
{
"type": "Newsletters",
"allowmemberupdate": 1,
"position": "3"
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 ADDRESS TAG TYPE NOT FOUND | address tag type not found |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | unable to update address tag type |
200 OK
{
"data": {
"count":1,
"result": "Address tag type updated.",
"addresstag": {
"type": "Newsletters",
"issystemtype": 0,
"allowmemberupdate": 1,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/address/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update address tag type.",
...
]
}
DELETE /v1/address/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 ADDRESS TAG TYPE NOT FOUND | address tag type not found |
| 500 NOT UPDATED | unable to delete address tag type |
200 OK
{
"data": {
"result":"Address tag type deleted."
},
"error":false,
"messages":[]
}
404 ADDRESS TAG TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Address tag type not found."
]
}
POST - Returns an API token from your API credentials. API tokens expire 30 minutes after they are generated.
content-type: application/json
POST /v1/authenticate HTTP/1.1
Content-Type: application/json
Host: api.membercentral.com
Content-Length: 112
{
"MCAPIKeyPublic": "Your API Public Key",
"MCAPIKeySecret": "Your API Secret Key"
}
| 200 OK | success |
| 401 UNAUTHORIZED | invalid keys |
| 417 EXPECTATION FAILED | missing or invalid JSON body |
200 OK
{
"data": {
"token":"YOUR_API_TOKEN",
"tokenexpires":"MMMM, DD YYYY HH:MM:SS -0700",
"tokenname":"Your token name"
},
"error":false,
"messages":[]
}
401 UNAUTHORIZED
{
"data": {},
"error": true,
"messages": [
"Login failed."
]
}
GET - Returns an API token expiration date for your API Token.
Authorization: Bearer YOUR_API_TOKEN
GET /v1/authenticate/me HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"tokenexpires":"MMMM, DD YYYY HH:MM:SS -0700"
},
"error":false,
"messages":[]
}
403 EXPIRED TOKEN
{
"data": {},
"error": true,
"messages": [
"Expired token."
]
}
GET - Returns email types
POST - Creates an email type
PUT - Updates an email type
DELETE - Deletes an email type
Authorization: Bearer YOUR_API_TOKEN
GET /v1/email HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"count": 2,
"email": [
{
"type": "Personal Email",
"description": "Personal Email",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 EMAIL TYPE NOT FOUND | invalid email type api_id |
200 OK
{
"data": {
"count": 1,
"email": {
"type": "Personal Email",
"description": "Personal Email",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
404 EMAIL TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Email type not found."
]
}
POST /v1/email HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 69
{
"type": "Company Email",
"description": "Company email address"
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating email type |
201 CREATED
{
"data": {
"count":1,
"result": "Email type created.",
"email": {
"type": "Company Email",
"description": "Company email address",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create email type.",
...
]
}
PUT /v1/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 87
{
"type": "Company Email",
"description": "Company email address",
"position": "2"
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 EMAIL TYPE NOT FOUND | email type not found |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | unable to update email type |
200 OK
{
"data": {
"count":1,
"result": "Email type updated.",
"email": {
"type": "Company Email",
"description": "Company email address",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update email type.",
...
]
}
DELETE /v1/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 EMAIL TYPE NOT FOUND | email type not found |
| 500 NOT UPDATED | unable to delete email type |
200 OK
{
"data": {
"result":"Email type deleted."
},
"error":false,
"messages":[]
}
404 EMAIL TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Email type not found."
]
}
GET - Returns email tag types
POST - Creates an email tag type
PUT - Updates an email tag type
DELETE - Deletes an email tag type
Authorization: Bearer YOUR_API_TOKEN
GET /v1/email/tag HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"count": 2,
"emailtag": [
{
"type": "Primary",
"issystemtype": 1,
"allowmemberupdate": 1,
"warnwhenempty": 1,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/email/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/email/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 EMAIL TAG TYPE NOT FOUND | invalid email tag type api_id |
200 OK
{
"data": {
"count": 1,
"emailtag": {
"type": "Primary",
"issystemtype": 1,
"allowmemberupdate": 1,
"warnwhenempty": 1,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/email/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
404 EMAIL TAG TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Email tag type not found."
]
}
POST /v1/email/tag HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 51
{
"type": "Newsletters",
"allowmemberupdate": 1,
"warnwhenempty": 0
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating email tag type |
201 CREATED
{
"data": {
"count":1,
"result": "Email tag type created.",
"emailtag": {
"type": "Newsletters",
"issystemtype": 0,
"allowmemberupdate": 1,
"warnwhenempty": 0,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/email/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create email tag type.",
...
]
}
PUT /v1/email/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 69
{
"type": "Newsletters",
"allowmemberupdate": 1,
"warnwhenempty": 0,
"position": "3",
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 EMAIL TAG TYPE NOT FOUND | email tag type not found |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | unable to update email tag type |
200 OK
{
"data": {
"count":1,
"result": "Email tag type updated.",
"emailtag": {
"type": "Newsletters",
"issystemtype": 0,
"allowmemberupdate": 1,
"warnwhenempty": 0,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/email/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update email tag type.",
...
]
}
DELETE /v1/email/tag/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 EMAIL TAG TYPE NOT FOUND | email tag type not found |
| 500 NOT UPDATED | unable to delete email tag type |
200 OK
{
"data": {
"result":"Email tag type deleted."
},
"error":false,
"messages":[]
}
404 EMAIL TAG TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Email tag type not found."
]
}
GET - Returns events
Authorization: Bearer YOUR_API_TOKEN
GET /v1/event HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
GET /v1/event HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 29
{
"count": 5,
"start": 10
}
GET /v1/event HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 97
{
"count": 5,
"start": 10,
"search": {
"datefrom": "6/4/2026",
"dateto": "7/4/2026",
"calendar": "Association Calendar and Events",
"category": "Special Event",
"title": "Fall Regional Conference",
"eventcode": "ABCDEFGH",
"regtype": "Reg"
}
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
200 OK
{
"data": {
"count": 10,
"events": [
{
"title": "Sample Event",
"startdate": "2020-02-01 17:00:00",
"enddate": "2020-02-01 18:30:00",
"timezone": "US/Central",
"eventcode": "ABCDEFGH",
"status": "Active",
"alldayevent": 0,
"hidefromcalendar": 0,
"event_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 EVENT NOT FOUND | invalid event api_id |
200 OK
{
"data": {
"count": 1,
"event": {
"eventcode": "ABCDEFGH",
"title": "Sample Event",
"detail": "This is a sample event. Sign up today!",
"startdate": "2020-02-01 15:00:00",
"enddate": "2020-02-01 17:30:00",
"timezone": "US/Central",
"status": "Active",
"alldayevent": 0,
"hidefromcalendar": 0,
"calendar": "Association Calendar and Events",
"locationtitle": "Conference Center",
"location": "123 Anystreet, Anytown, TX 77777",
"traveltitle": "",
"travel": "",
"contacttitle": "",
"contact": "",
"canceltitle": "",
"cancel": "",
"informationtitle": "",
"information": "",
"event_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"category": [
"Special Events",
"CLE",
...
],
"featuredimages": {
"fullsize": {
"height": "519",
"width": "600",
"filename": "12345.jpg",
"url": "https://www.yourwebsite.org/featuredimages/originals/12345.jpg"
},
"program_listing": {
"height": "185",
"width": "185",
"filename": "12345-1.jpg",
"url": "https://www.yourwebsite.org/featuredimages/thumbnails/12345-1.jpg"
},
"program_detail": {
"height": "380",
"width": "380",
"filename": "12345-2.jpg",
"url": "https://www.yourwebsite.org/featuredimages/thumbnails/12345-2.jpg"
},
...
}
}
},
"error":false,
"messages":[]
}
404 EVENT NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Event not found."
]
}
GET - Returns event registrants
Authorization: Bearer YOUR_API_TOKEN
GET /v1/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/registrant HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
GET /v1/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/registrant HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 146
{
"count": 5,
"registereddatefrom": "1/23/2020",
"registereddateto": "1/25/2020",
"attended": true,
"rates": "EarlyBird|Regular Member",
"roles": "Speaker",
"authorityname": "Credit Authority Name",
"credittype": "Credit Authority Type",
"amountduefrom": "0.00",
"amountdueto": "10.00",
"amountbilledfrom": "10.00",
"amountbilledto": "120.00",
"group_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"search": {
"primary address_city": "Austin",
"language": "Spanish"
},
"result": [
"email"
]
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 EVENT NOT FOUND | invalid event api_id |
200 OK
{
"data": {
"count":5,
"registrants":[
{
"membernumber":"SAMPLE123456",
"prefix":"Mrs.",
"firstname":"Jane",
"middlename":"",
"lastname":"Doe",
"suffix":"",
"professionalsuffix":"",
"company":"Law Office of Jane Doe",
"datecreated":"August, 05 2020 09:57:31 -0700",
"datelastupdated":"August, 09 2020 19:09:36 -0700",
"mcaccountstatus":"Active",
"mcaccounttype":"User",
"mcrecordtype":"Individual",
"email": "[email protected]",
"x-member-api-uri":"/v1/member/SAMPLE123456",
"x-member-photo-uri":"https://www.yourwebsite.org/memberphotos/sample123456.jpg",
"x-api-uri":"/v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/ZZZZZZZ",
"dateregistered":"August, 10 2020 16:31:54 -0700",
"attended": 1,
"amountdue": "0.00",
"totalfee": "100.00",
} ...
]
},
"error":false,
"messages":[]
}
404 EVENT NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Event not found."
]
}
GET - Returns groups
POST - Creates a group
PUT - Updates a group
DELETE - Deletes a group
Authorization: Bearer YOUR_API_TOKEN
GET /v1/group HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
GET /v1/group HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 29
{
"count": 5,
"start": 10
}
GET /v1/group HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 97
{
"count": 5,
"start": 10,
"search": {
"membercountfrom": 1500,
"membercountto": 2000
}
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
200 OK
{
"data": {
"count":10,
"groups":[
{
"group": "Public",
"groupcode": "Public"
"grouppath": "Public",
"description": "Public",
"membercount": 495,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri":"/v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
} ...
]
},
"error":false,
"messages":[]
}
GET /v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 GROUP NOT FOUND | invalid group api_id |
200 OK
{
"data": {
"count":1,
"group": {
"group": "Public"
"groupcode": "Public",
"grouppath": "Public",
"description": "Visitors that are not logged in",
"systemgroup": 1,
"alertifpopulated": 0,
"manualassignments": 0,
"protected": 0,
"membercount": 133,
"badgebackgroundcolor": "#3b3e66",
"badgetextcolor": "#ffffff",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"parentapi_id": "",
"x-parent-api-uri": ""
}
},
"error":false,
"messages":[]
}
404 GROUP NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Group not found."
]
}
POST /v1/group HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 111
{
"group": "My Test Group A",
"groupcode": "TestA",
"parentapi_id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating group |
201 CREATED
{
"data": {
"count":1,
"result": "Group created.",
"group": {
"group": "My Test Group A"
"groupcode": "TestA",
"grouppath": "My Test Groups \\ My Test Group A",
"description": "",
"systemgroup": 0,
"alertifpopulated": 0,
"manualassignments": 0,
"protected": 0,
"membercount": 0,
"badgebackgroundcolor": "#3b3e66",
"badgetextcolor": "#ffffff",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"parentapi_id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"x-parent-api-uri": "/v1/group/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"
}
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create group.",
...
]
}
PUT /v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 33
{
"group": "My Test Group ABC"
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 GROUP NOT FOUND | invalid group api_id |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error updating group |
200 OK
{
"data": {
"count":1,
"result": "Group updated.",
"group": {
"group": "My Test Group ABC"
"groupcode": "TestA",
"grouppath": "My Test Groups \\ My Test Group ABC",
"description": "",
"systemgroup": 0,
"alertifpopulated": 0,
"manualassignments": 0,
"protected": 0,
"membercount": 0,
"badgebackgroundcolor": "#3b3e66",
"badgetextcolor": "#ffffff",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"parentapi_id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"x-parent-api-uri": "/v1/group/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"
}
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update group.",
...
]
}
DELETE /v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 GROUP NOT FOUND | invalid group api_id |
| 500 NOT UPDATED | error deleting group |
200 OK
{
"data": {
"result":"Group deleted."
},
"error":false,
"messages":[]
}
404 GROUP NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Group not found."
]
}
GET - Returns the group's member assignments
PUT - Manually assigns the member to the group
DELETE - Removes a member's manual assignment to the group
Authorization: Bearer YOUR_API_TOKEN
GET /v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/member HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
GET /v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/member HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 146
{
"count": 5,
"datelastupdated": "6/1/2026 16:30",
"search": {
"primary address_city": "Austin",
"language": "Spanish"
},
"result": [
"email",
"primary address_state"
]
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 GROUP NOT FOUND | invalid group api_id |
200 OK
{
"data": {
"count":10,
"members":[
{
"membernumber":"SAMPLE123456",
"prefix":"Mrs.",
"firstname":"Jane",
"middlename":"",
"lastname":"Doe",
"suffix":"",
"professionalsuffix":"",
"company":"Law Office of Jane Doe",
"datecreated":"August, 05 2017 09:57:31 -0700",
"datelastupdated":"August, 09 2017 19:09:36 -0700",
"mcaccountstatus":"Active",
"mcaccounttype":"User",
"mcrecordtype":"Individual",
"username":"JaneDoe",
"x-member-api-uri":"/v1/member/SAMPLE123456",
"x-member-photo-uri":"https://www.yourwebsite.org/memberphotos/sample123456.jpg",
"x-api-uri":"/v1/member/SAMPLE123456/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"indirectmanual": 0,
"directvirtual": 0,
"indirectvirtual": 0,
"directmanual": 1,
} ...
]
},
"error":false,
"messages":[]
}
404 GROUP NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Group not found."
]
}
GET - Returns lists
Authorization: Bearer YOUR_API_TOKEN
GET /v1/list HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
GET /v1/list HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 29
{
"count": 5,
"start": 10
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
200 OK
{
"data": {
"count": 7,
"list": [
{
"listname": "MyDiscussionList",
"listdesc": "Main Members Discussion List",
"automanage": 0,
"x-api-uri": "/v1/list/MyDiscussionList"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/list/MyDiscussionList HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 LIST NOT FOUND | invalid list name |
200 OK
{
"data": {
"count": 1,
"list": {
"listname": "MyDiscussionList",
"listdesc": "Main Members Discussion List",
"automanage": 0,
"x-api-uri": "/v1/list/MyDiscussionList"
}
},
"error":false,
"messages":[]
}
404 LIST NOT FOUND
{
"data": {},
"error": true,
"messages": [
"List not found."
]
}
GET - Returns member records
POST - Creates a member record
PUT - Updates a member record
DELETE - Deletes a member record
Authorization: Bearer YOUR_API_TOKEN
GET /v1/member HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
GET /v1/member HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 61
{
"count": 5,
"start": 10,
"datelastupdated": "6/1/2026 15:30"
}
GET /v1/member HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 146
{
"count": 5,
"search": {
"primary address_city": "Austin",
"language": "Spanish"
},
"result": [
"email",
"primary address_state"
]
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
200 OK
{
"data": {
"count":10,
"members":[
{
"company":"Law Office of Jane Doe",
"datecreated":"August, 05 2017 09:57:31 -0700",
"datelastupdated":"August, 09 2017 19:09:36 -0700",
"firstname":"Jane",
"lastname":"Doe",
"membernumber":"SAMPLE123456",
"mcaccountstatus":"Active",
"mcaccounttype":"User",
"mcrecordtype":"Individual",
"middlename":"",
"prefix":"Mrs.",
"professionalsuffix":"",
"suffix":"",
"username":"JaneDoe",
"x-api-uri":"/v1/member/SAMPLE123456",
"x-photo-uri":"https://www.yourwebsite.org/memberphotos/sample123456.jpg"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/member/SAMPLE123456 HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
200 OK
{
"data": {
"count":1,
"member": {
"company":"Law Office of Jane Doe",
"datecreated":"August, 05 2017 09:57:31 -0700",
"datelastupdated":"August, 09 2017 19:09:36 -0700",
"firstname":"Jane",
"lastname":"Doe",
"membernumber":"SAMPLE123456",
"mcaccountstatus":"Active",
"mcaccounttype":"User",
"mcrecordtype":"Individual",
"middlename":"",
"prefix":"Mrs.",
"professionalsuffix":"",
"suffix":"",
"username":"JaneDoe",
"x-photo-uri":"https://www.yourwebsite.org/memberphotos/sample123456.jpg"
...
}
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
POST /v1/member HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 77
{
"firstname": "Jane",
"lastname": "Doe",
"membernumber": "SAMPLE123456"
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating member |
201 CREATED
{
"data": {
"membernumber": "SAMPLE123456",
"result": "Member created.",
"report": [
"summary": [
"1 new member will be created.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [],
"newmembers": [
"Doe, Jane (SAMPLE123456)"
],
"guestmembers": [],
"existingmembers": []
]
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create member.",
...
]
}
PUT /v1/member/SAMPLE123456 HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 32
{
"firstname": "NewFirstName"
}
| 200 OK | success |
| 202 NOT UPDATED | no changes to process |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error updating member |
200 OK
{
"data": {
"result": "Member updated.",
"report": [
"summary": [
"1 existing member will be updated.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [],
"newmembers": [],
"guestmembers": [],
"existingmembers": [
"LastName, NewFirstName (SAMPLE123456) - First name changed from Pat to NewFirstName",
...
]
]
},
"error": false,
"messages": []
}
202 NOT UPDATED
{
"data": {
"result": "No changes to process.",
"report": [
"summary": [
"1 data change was rejected and ignored.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [
"LastName, NewFirstName (SAMPLE123456) - website is not valid: http://mysite"
],
"newmembers": [],
"guestmembers": [],
"existingmembers": []
]
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update member.",
...
]
}
DELETE /v1/member/SAMPLE123456 HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 500 NOT UPDATED | error deleting member |
200 OK
{
"data": {
"result":"Member deleted."
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
GET - Returns the member's addresses
PUT - Updates a member's address
DELETE - Removes a member's address
Authorization: Bearer YOUR_API_TOKEN
GET /v1/member/SAMPLE123456/address HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
200 OK
{
"data": {
"count":2,
"address": [
{
"api_id":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri":"/v1/member/SAMPLE123456/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"type":"Business Address",
"attn":"",
"address1":"123 AnyStreet",
"address2":"",
"address3":"",
"city":"Anytown",
"stateprov":"TX",
"postalcode":"77777",
"country":"United States",
"county":"",
"addresslastupdated":"1/1/2019"
},
{
"api_id":"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"x-api-uri":"/v1/member/SAMPLE123456/address/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"type":"Home Address",
"attn":"",
"address1":"678 OtherStreet",
"address2":"",
"address3":"",
"city":"Othertown",
"stateprov":"TX",
"postalcode":"77777",
"country":"United States",
"county":"",
"addresslastupdated":"1/1/2019"
}
]
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
GET /v1/member/SAMPLE123456/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 ADDRESS TYPE NOT FOUND | invalid address api_id |
| 404 MEMBER ADDRESS NOT FOUND | member does not have an address for this address type |
200 OK
{
"data": {
"count":1,
"address": {
"api_id":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri":"/v1/member/SAMPLE123456/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"type":"Business Address",
"attn":"",
"address1":"123 AnyStreet",
"address2":"",
"address3":"",
"city":"Anytown",
"stateprov":"TX",
"postalcode":"77777",
"country":"United States",
"county":"",
"addresslastupdated":"1/1/2019"
}
},
"error":false,
"messages":[]
}
404 MEMBER ADDRESS NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member Address not found."
]
}
PUT /v1/member/SAMPLE123456/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 96
{
"address1": "123 AnyStreet",
"city": "Anytown",
"stateprov": "TX",
"postalCode": "77777"
}
| 200 OK | success |
| 202 NOT UPDATED | no changes to process |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 ADDRESS TYPE NOT FOUND | invalid address api_id |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error updating address |
200 OK
{
"data": {
"result": "Member updated.",
"report": [
"summary": [
"1 existing member will be updated.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [],
"newmembers": [],
"guestmembers": [],
"existingmembers": [
"LastName, NewFirstName (SAMPLE123456) - Business Address City changed from Othertown to Anytown",
...
]
]
},
"error": false,
"messages": []
}
202 NOT UPDATED
{
"data": {
"result": "No changes to process.",
"report": [
"summary": [
"1 data change was rejected and ignored.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [
"LastName, NewFirstName (SAMPLE123456) - Business Address Country was not provided"
],
"newmembers": [],
"guestmembers": [],
"existingmembers": []
]
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update member.",
...
]
}
DELETE /v1/member/SAMPLE123456/address/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Content-Type: application/json Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 202 NOT UPDATED | member did not have an address for this address type |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 ADDRESS TYPE NOT FOUND | invalid address api_id |
| 500 NOT UPDATED | error deleting address |
200 OK
{
"data": {
"result": "Member updated.",
"report": [
"summary": [
"1 existing member will be updated.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [],
"newmembers": [],
"guestmembers": [],
"existingmembers": [
"LastName, NewFirstName (SAMPLE123456) - Business Address Address1 changed from 123 AnyStreet to [blank]",
...
]
]
},
"error": false,
"messages": []
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
GET - Returns the credits earned by the member
Authorization: Bearer YOUR_API_TOKEN
GET /v1/member/SAMPLE123456/credit HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
GET /v1/member/SAMPLE123456/credit HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 157
{
"count": 5,
"start": 10,
"search": {
"programdatefrom": "1/1/2026",
"programdateto": "1/31/2026",
"authority": "Credit Authority Name"
}
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 417 EXPECTATION FAILED | invalid JSON body |
200 OK
{
"data": {
"count":5,
"credit": [
{
"programdate": "2019-01-15 08:00:00",
"program": "Sample Event",
"programtype": "Event",
"authorities": [
{
"authority": "Authority Name",
"credittypes": [
{
"type": "Ethics",
"amount": 2
}
]
}
]
}
...
]
},
"error":false,
"messages":[]
}
GET - Returns the member's email addresses
PUT - Updates a member's email address
DELETE - Removes a member's email address
Authorization: Bearer YOUR_API_TOKEN
GET /v1/member/SAMPLE123456/email HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
200 OK
{
"data": {
"count": 2,
"email": [
{
"api_id":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri":"/v1/member/SAMPLE123456/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"type":"Email",
"email":"[email protected]"
},
{
"api_id":"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"x-api-uri":"/v1/member/SAMPLE123456/email/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"type":"Alternate Email",
"email":"[email protected]"
}
]
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
GET /v1/member/SAMPLE123456/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 EMAIL TYPE NOT FOUND | invalid email api_id |
| 404 MEMBER EMAIL NOT FOUND | member does not have an email for this email type |
200 OK
{
"data": {
"count": 1,
"email": {
"api_id":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri":"/v1/member/SAMPLE123456/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"type":"Email",
"email":"[email protected]"
}
},
"error":false,
"messages":[]
}
404 MEMBER EMAIL NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member Email not found."
]
}
PUT /v1/member/SAMPLE123456/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 56
{
"email": "[email protected]"
}
| 200 OK | success |
| 202 NOT UPDATED | no changes to process |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 EMAIL TYPE NOT FOUND | invalid email api_id |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error updating email |
200 OK
{
"data": {
"result": "Member updated.",
"report": [
"summary": [
"1 existing member will be updated.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [],
"newmembers": [],
"guestmembers": [],
"existingmembers": [
"LastName, NewFirstName (SAMPLE123456) - Alternate Email changed from [email protected] to [email protected]",
...
]
]
},
"error": false,
"messages": []
}
202 NOT UPDATED
{
"data": {
"result": "No changes to process.",
"report": [
"summary": [
"1 data change was rejected and ignored.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [
"LastName, NewFirstName (SAMPLE123456) - Alternate Email is not valid: samplealternateemail@org"
],
"newmembers": [],
"guestmembers": [],
"existingmembers": []
]
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update member.",
...
]
}
DELETE /v1/member/SAMPLE123456/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Content-Type: application/json Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 202 NOT UPDATED | member did not have an email for this email type |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 EMAIL TYPE NOT FOUND | invalid email api_id |
| 500 NOT UPDATED | error deleting email |
200 OK
{
"data": {
"result": "Member updated.",
"report": [
"summary": [
"1 existing member will be updated.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [],
"newmembers": [],
"guestmembers": [],
"existingmembers": [
"LastName, NewFirstName (SAMPLE123456) - Alternate Email changed from [email protected] to [blank]",
...
]
]
},
"error": false,
"messages": []
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
GET - Returns the member's event registrations
PUT - Sets the registrant's attendance and credits
Authorization: Bearer YOUR_API_TOKEN
GET /v1/member/SAMPLE123456/event HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
GET /v1/member/SAMPLE123456/event HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 157
{
"count": 5,
"start": 10,
"search": {
"registereddatefrom": "1/1/2026",
"registereddateto": "1/31/2026"
}
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 417 EXPECTATION FAILED | invalid JSON body |
200 OK
{
"data": {
"count":11,
"event":[
{
"eventcode": "ABCDEFGH",
"title": "Fall Regional Conference",
"subtitle": "Network and Collaborate",
"startdate": "2019-03-01 17:00:00",
"enddate": "2019-03-01 19:00:00",
"alldayevent": 0,
"event_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"registrant": [
{
"x-api-uri": "/v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/YYYYYYY",
"attended": 1,
"notes": "",
"isflagged": 0,
"dateregistered": "2019-01-15 08:48:32",
"rate_api_id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"rate": "Sample Rate",
"ratereportcode": "LMNOPQ"
}
...
]
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 EVENT NOT FOUND | invalid event api_id |
| 404 EVENT REGISTRATION NOT FOUND | member is not registered for this event |
200 OK
{
"data": {
"count": 1,
"event": {
"title": "Fall Regional Conference",
"subtitle": "Network and Collaborate",
"startdate": "2019-03-01 17:00:00",
"enddate": "2019-03-01 19:00:00",
"eventcode": "ABCDEFGH",
"alldayevent": 0,
"event_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"registrant": [
{
"x-api-uri": "/v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/YYYYYYY",
"attended": 1,
"notes": "",
"isflagged": 0,
"dateregistered": "2019-01-15 08:48:32",
"rate_api_id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"rate": "Sample Rate",
"ratereportcode": "LMNOPQ"
"amountbilled": "149.00",
"amountdue": "10.00",
"roles": [
{
"role": "Speaker",
"fields": {
"Speaker Type": "Panelist",
"Date Approved": "01/20/2019",
"Audio/Visual": "Handheld Mic|Tabletop Mic"
...
}
}
...
],
"fields": {
"Want to be contacted": "Yes"
...
},
"credit": [
{
"authorityname": "State Bar Of California",
"authoritycode": "CAStateBar",
"credittype": "General",
"credittypecode": "General",
"creditawarded": 3,
"idnumber": "CA123456"
}
...
]
}
...
]
}
},
"error":false,
"messages":[]
}
404 EVENT REGISTRATION NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Event Registration Not Found."
]
}
GET /v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/123456 HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 EVENT NOT FOUND | invalid event api_id |
| 404 EVENT REGISTRATION NOT FOUND | member is not registered for this event |
200 OK
{
"data": {
"count": 1,
"event": {
"title": "Fall Regional Conference",
"subtitle": "Network and Collaborate",
"startdate": "2019-03-01 17:00:00",
"enddate": "2019-03-01 19:00:00",
"eventcode": "ABCDEFGH",
"alldayevent": 0,
"event_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"registrant": [
{
"x-api-uri": "/v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/YYYYYYY",
"attended": 1,
"notes": "",
"isflagged": 0,
"dateregistered": "2019-01-15 08:48:32",
"rate_api_id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"rate": "Sample Rate",
"ratereportcode": "LMNOPQ"
"amountbilled": "149.00",
"amountdue": "10.00",
"roles": [
{
"role": "Speaker",
"fields": {
"Speaker Type": "Panelist",
"Date Approved": "01/20/2019",
"Audio/Visual": "Handheld Mic|Tabletop Mic"
...
}
}
...
],
"fields": {
"Want to be contacted": "Yes"
...
},
"credit": [
{
"authorityname": "State Bar Of California",
"authoritycode": "CAStateBar",
"credittype": "General",
"credittypecode": "General",
"creditawarded": 3,
"idnumber": "CA123456"
}
...
]
}
]
}
},
"error":false,
"messages":[]
}
404 EVENT REGISTRATION NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Event Registration Not Found."
]
}
PUT /v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/123456 HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 111
{
"attended": 1,
"isflagged": 0,
"credit": [
{
"authoritycode": "xxxxx",
"credittypecode": "xxxxx",
"creditawarded": 1.5,
"idnumber": "xxxxx"
}
]
}
| 200 UPDATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 EVENT NOT FOUND | invalid event api_id |
| 404 EVENT REGISTRATION NOT FOUND | member is not registered for this event/td> |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error updating registration |
200 UPDATED
{
"data": {
"count": 1,
"event": {
"title": "Fall Regional Conference",
"subtitle": "Network and Collaborate",
"startdate": "2019-03-01 17:00:00",
"enddate": "2019-03-01 19:00:00",
"eventcode": "ABCDEFGH",
"alldayevent": 0,
"event_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"registrant": [
{
"x-api-uri": "/v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/YYYYYYY",
"attended": 1,
"notes": "",
"isflagged": 0,
"dateregistered": "2019-01-15 08:48:32",
"rate_api_id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"rate": "Sample Rate",
"ratereportcode": "LMNOPQ"
"amountbilled": "149.00",
"amountdue": "10.00",
"roles": [
{
"role": "Speaker",
"fields": {
"Speaker Type": "Panelist",
"Date Approved": "01/20/2019",
"Audio/Visual": "Handheld Mic|Tabletop Mic"
...
}
}
...
],
"fields": {
"Want to be contacted": "Yes"
...
},
"credit": [
{
"authorityname": "State Bar Of California",
"authoritycode": "CAStateBar",
"credittype": "General",
"credittypecode": "General",
"creditawarded": 3,
"idnumber": "CA123456"
}
...
]
}
]
}
},
"error":false,
"messages":[]
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update registration."
]
}
GET - Returns the member's event registration credits
PUT - Sets the member's event registration credits
Authorization: Bearer YOUR_API_TOKEN
GET /v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/123456/credit HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 EVENT NOT FOUND | invalid event api_id |
| 404 EVENT REGISTRATION NOT FOUND | member is not registered for this event |
| 404 EVENT REGISTRATION CREDIT NOT FOUND | member has not been awarded credit for this event |
200 OK
{
"data": {
"count": 3,
"credit": [
{
"authorityname": "State Bar Of California",
"credittype": "General",
"creditawarded": 1,
"credittypecode": "General",
"idnumber": "CA123456",
"authoritycode": "CAStateBar"
},
...
]
},
"error": false,
"messages": []
}
404 EVENT REGISTRATION NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Event Registration Not Found."
]
}
PUT /v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/123456/credit HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 96
[
{
"authoritycode": "xxxxx",
"credittypecode": "xxxxx",
"creditawarded": 1.5,
"idnumber": "xxxxx"
}
]
| 200 UPDATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 EVENT NOT FOUND | invalid event api_id |
| 404 EVENT REGISTRATION NOT FOUND | member is not registered for this event |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error updating registration |
200 UPDATED
{
"data": {
"count": 3,
"credit": [
{
"authorityname": "State Bar Of California",
"credittype": "General",
"creditawarded": 1,
"credittypecode": "General",
"idnumber": "CA123456",
"authoritycode": "CAStateBar"
},
...
]
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update registration credit."
]
}
PUT /v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/123456/credit/CAStateBar_General HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 43
{
"creditawarded": 1.5,
"idnumber": "xxxxx"
}
| 200 UPDATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 EVENT NOT FOUND | invalid event api_id |
| 404 EVENT REGISTRATION NOT FOUND | member is not registered for this event |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error updating registration |
200 UPDATED
{
"data": {
"count": 3,
"credit": [
{
"authorityname": "State Bar Of California",
"credittype": "General",
"creditawarded": 1.5,
"credittypecode": "General",
"idnumber": "CA123456",
"authoritycode": "CAStateBar"
},
...
]
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update registration credit."
]
}
DELETE /v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/123456/credit HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 EVENT NOT FOUND | invalid event api_id |
| 404 EVENT REGISTRATION NOT FOUND | member is not registered for this event |
| 404 EVENT REGISTRATION CREDIT NOT FOUND | member has not been awarded credit for this event |
| 500 NOT UPDATED | error deleting registration credit |
200 OK
{
"data": {
"result":"Credits removed from event registration."
},
"error":false,
"messages":[]
}
404 EVENT REGISTRATION NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Event registration not found."
]
}
DELETE /v1/member/SAMPLE123456/event/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/123456/credit/CAStateBar_General HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 EVENT NOT FOUND | invalid event api_id |
| 404 EVENT REGISTRATION NOT FOUND | member is not registered for this event |
| 404 EVENT REGISTRATION CREDIT NOT FOUND | member has not been awarded credit for this event |
| 500 NOT UPDATED | error deleting registration credit |
200 OK
{
"data": {
"result":"Credits removed from event registration."
},
"error":false,
"messages":[]
}
404 EVENT REGISTRATION NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Event registration not found."
]
}
GET - Returns the member's group assignments
PUT - Manually assigns the member to the group
DELETE - Removes a member's manual assignment to the group
Authorization: Bearer YOUR_API_TOKEN
GET /v1/member/SAMPLE123456/group HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
200 OK
{
"data": {
"count":3,
"group": [
{
"api_id":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri":"/v1/member/SAMPLE123456/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-group-api-uri":"/v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"grouppath":"My Test Groups \\ My Test Group A",
"indirectmanual": 0,
"directvirtual": 0,
"indirectvirtual": 0,
"directmanual": 1,
"groupcode": "TestA",
"description": "",
"group": "My Test Group A"
},
{
"api_id":"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"x-api-uri":"/v1/member/SAMPLE123456/group/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"x-group-api-uri":"/v1/group/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"grouppath":"All Members and Staff",
"indirectmanual": 1,
"directvirtual": 0,
"indirectvirtual": 0,
"directmanual": 0,
"groupcode": "membersstaff",
"description": "Members and Staff",
"group": "All Members and Staff"
},
{
"api_id":"ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"x-api-uri":"/v1/member/SAMPLE123456/group/ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"x-group-api-uri":"/v1/group/ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"grouppath":"Spanish Speakers",
"indirectmanual": 0,
"directvirtual": 0,
"indirectvirtual": 1,
"directmanual": 0,
"groupcode": "",
"description": "Members selecting Spanish as their language",
"group": "Spanish Speakers"
}
]
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
GET /v1/member/SAMPLE123456/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 GROUP ASSIGNMENT NOT FOUND | member does not belong to the group |
| 404 GROUP NOT FOUND | invalid group api_id |
| 404 MEMBER NOT FOUND | invalid membernumber |
200 OK
{
"data": {
"count":1,
"group": {
"api_id":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri":"/v1/member/SAMPLE123456/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-group-api-uri":"/v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"grouppath":"My Test Groups \\ My Test Group A",
"indirectmanual": 0,
"directvirtual": 0,
"indirectvirtual": 0,
"directmanual": 1,
"groupcode": "TestA",
"description": "",
"group": "My Test Group A"
}
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
PUT /v1/member/SAMPLE123456/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 GROUP ASSIGNMENT NOT FOUND | member does not belong to the group |
| 404 GROUP NOT FOUND | invalid group api_id |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 500 NOT UPDATED | error adding group assignment |
200 OK
{
"data": {
"count":1,
"group": {
"api_id":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri":"/v1/member/SAMPLE123456/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-group-api-uri":"/v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"grouppath":"My Test Groups \\ My Test Group A",
"indirectmanual": 0,
"directvirtual": 0,
"indirectvirtual": 0,
"directmanual": 1,
"groupcode": "TestA",
"description": "",
"group": "My Test Group A"
}
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
DELETE /v1/member/SAMPLE123456/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 GROUP ASSIGNMENT NOT FOUND | member does not belong to the group |
| 404 GROUP NOT FOUND | invalid group api_id |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 500 NOT UPDATED | error removing group assignment |
200 OK
{
"data": {
"result":"Member manual group assignment deleted."
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
GET - Returns the member's list memberships
POST - Add a member's list membership
PUT - Update a member's list membership
DELETE - Remove a member's list membership
Authorization: Bearer YOUR_API_TOKEN
GET /v1/member/SAMPLE123456/list HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
GET /v1/member/SAMPLE123456/list HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 157
{
"count": 5,
"start": 10,
"search": {
"membertype": "normal",
"subtype": "mail"
}
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 417 EXPECTATION FAILED | invalid JSON body |
200 OK
{
"data": {
"count":5,
"list": [
{
"listname": "samplelist",
"membertype": "normal",
"subtype": "mail",
"name": "Jane Doe, Esq",
"email": "[email protected]",
"lockname": 1,
"lockaddress": 0,
"keepactive": 0,
"api_id": 0000000,
"x-api-uri": "/v1/member/SAMPLE123456/list/samplelist/0000000"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/member/SAMPLE123456/list/samplelist HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 LIST NOT FOUND | invalid list name |
| 404 LIST MEMBERSHIP NOT FOUND | member has no membership for this list |
200 OK
{
"data": {
"count":2,
"list": [
{
"listname": "samplelist",
"membertype": "normal",
"subtype": "mail",
"name": "Jane Doe, Esq",
"email": "[email protected]",
"lockname": 1,
"lockaddress": 0,
"keepactive": 0,
"api_id": 0000000,
"x-api-uri": "/v1/member/SAMPLE123456/list/samplelist/0000000"
},
{
"listname": "samplelist",
"membertype": "normal",
"subtype": "mail",
"name": "Jane Doe, Esq",
"email": "[email protected]",
"lockname": 1,
"lockaddress": 0,
"keepactive": 0,
"api_id": 0000001,
"x-api-uri": "/v1/member/SAMPLE123456/list/samplelist/0000001"
}
]
},
"error":false,
"messages":[]
}
404 LIST MEMBERSHIP NOT FOUND
{
"data": {},
"error": true,
"messages": [
"List Membership Not Found."
]
}
GET /v1/member/SAMPLE123456/list/samplelist/0000000 HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 LIST NOT FOUND | invalid list name |
| 404 LIST MEMBERSHIP NOT FOUND | member has no membership for this list |
| 417 EXPECTATION FAILED | invalid api_id |
200 OK
{
"data": {
"count":1,
"list": {
"listname": "samplelist",
"membertype": "normal",
"subtype": "mail",
"name": "Jane Doe, Esq",
"email": "[email protected]",
"lockname": 1,
"lockaddress": 0,
"keepactive": 0,
"api_id": 0000000,
"x-api-uri": "/v1/member/SAMPLE123456/list/samplelist/0000000"
}
},
"error":false,
"messages":[]
}
404 LIST MEMBERSHIP NOT FOUND
{
"data": {},
"error": true,
"messages": [
"List Membership Not Found."
]
}
POST /v1/member/SAMPLE123456/list/samplelist HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 111
{
"email": "[email protected]",
"name": "Jane Doe, Esq",
"membertype": "normal",
"subtype": "mail"
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 LIST NOT FOUND | invalid list name |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | unable to add list membership |
201 CREATED
{
"data": {
"count":1,
"list": {
"listname": "samplelist",
"membertype": "normal",
"subtype": "mail",
"name": "Jane Doe, Esq",
"email": "[email protected]",
"lockname": 0,
"lockaddress": 0,
"keepactive": 0,
"api_id": 0000000,
"x-api-uri": "/v1/member/SAMPLE123456/list/samplelist/0000000"
}
},
"error":false,
"messages":[]
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to add list membership."
]
}
PUT /v1/member/SAMPLE123456/list/samplelist/0000000 HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 111
{
"name": "Jane Doe, Esq",
"membertype": "normal",
"subtype": "mail"
}
| 200 UPDATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 LIST NOT FOUND | invalid list name |
| 404 LIST MEMBERSHIP NOT FOUND | member has no membership for this list |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | unable to update list membership |
200 UPDATED
{
"data": {
"count":1,
"list": {
"listname": "samplelist",
"membertype": "normal",
"subtype": "mail",
"name": "Jane Doe, Esq",
"email": "[email protected]",
"lockname": 0,
"lockaddress": 0,
"keepactive": 0,
"api_id": 0000000,
"x-api-uri": "/v1/member/SAMPLE123456/list/samplelist/0000000"
}
},
"error":false,
"messages":[]
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update list membership."
]
}
DELETE /v1/member/SAMPLE123456/list/samplelist/0000000 HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 LIST NOT FOUND | invalid list name |
| 404 LIST MEMBERSHIP NOT FOUND | member has no membership for this list |
| 417 EXPECTATION FAILED | invalid api_id |
| 500 NOT UPDATED | error deleting list membership |
200 OK
{
"data": {
"result":"List membership deleted."
},
"error":false,
"messages":[]
}
404 LIST MEMBERSHIP NOT FOUND
{
"data": {},
"error": true,
"messages": [
"List membership not found."
]
}
POST - Returns an serialized login link for a membernumber. Login links expire 5 minutes after they are generated.
Authorization: Bearer YOUR_API_TOKEN
POST /v1/member/SAMPLE123456/loginurl HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
POST /v1/member/SAMPLE123456/loginurl HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 36
{
"returnurl": "/?pg=listviewer",
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 401 UNAUTHORIZED | invalid member login credentials |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
200 OK
{
"data": {
"loginurl":"LOGIN_LINK"
"loginurlexpires":"MMMM, DD YYYY HH:MM:SS -0700"
"membernumber":"SAMPLE123456"
},
"error":false,
"messages":[]
}
401 UNAUTHORIZED
{
"data": {},
"error": true,
"messages": [
"Login failed."
]
}
POST - Merge member records
Authorization: Bearer YOUR_API_TOKEN
POST /v1/member/SAMPLE123456/merge HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 111
{
"membernumber": [ "SAMPLE123456DUPE1", "SAMPLE123456DUPE2" ],
"memberdata": {
"firstname": "Jane",
"lastname": "Doe",
...
}
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT MERGED | unable to merge members |
200 OK
{
"data": {
"result": "Merged Members",
"membernumber": "SAMPLE123456",
"report": {
"groups": {
"summary": "The new member account will have 2 manual group assignments.",
"assignedgroups": [
"All Members",
"All Practice Area Members"
]
},
"events": {
"summary": "The new member account will have 1 duplicate event registrations.",
"events": [
"12/10/22 - Holiday Seminar"
]
}
},
"ignoredfields": [
"contacttype"
]
},
"error":false,
"messages":[]
}
500 NOT MERGED
{
"data": {},
"error": true,
"messages": [
"Unable to merge members.",
...
]
}
GET - Returns the member's photo URI
PUT - Save a member's photo
Authorization: Bearer YOUR_API_TOKEN
GET /v1/member/SAMPLE123456/photo HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 MEMBER PHOTO NOT FOUND | member does not have a photo |
200 OK
{
"data": {
"x-photo-uri":"https://www.yourwebsite.org/memberphotos/sample123456.jpg",
"x-photothumb-uri":"https://www.yourwebsite.org/memberphotosth/sample123456.jpg"
},
"error":false,
"messages":[]
}
404 MEMBER PHOTO NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member photo not found."
]
}
PUT /v1/member/SAMPLE123456/photo HTTP/1.1
Content-Type: multipart/form-data; boundary=---011000010111000001101001
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 221
-----011000010111000001101001
Content-Disposition: form-data; name="image"
-----011000010111000001101001
Content-Disposition: form-data; name="options"
{
"x":"0",
"y":"0",
"width":"80",
"height":"100"
}
-----011000010111000001101001--
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 406 NOT ACCEPTABLE | unable to process member photo |
| 417 EXPECTATION FAILED | invalid JSON object, missing image, or invalid image |
200 OK
{
"data": {
"x-photo-uri":"https://www.yourwebsite.org/memberphotos/sample123456.jpg",
"x-photothumb-uri":"https://www.yourwebsite.org/memberphotosth/sample123456.jpg"
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
417 EXPECTATION FAILED
{
"data": {},
"error": true,
"messages": [
"Invalid file type.",
"Only JPG images are accepted.",
...
]
}
POST - Returns an JWT for MemberCentral's MCUserToken for a membernumber.
Authorization: Bearer YOUR_API_TOKEN
POST /v1/member/SAMPLE123456/sso/mcusertokenjwt HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 TOKEN NOT FOUND | invalid sso token |
200 OK
{
"data": {
"mcusertokenjwt":"MEMBERCENTRAL_JWT"
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
POST - Returns a JSON Web Token(JWT) for a membernumber. This token will expire 3 minutes after they are generated.
Authorization: Bearer YOUR_API_TOKEN
POST /v1/member/SAMPLE123456/sso/zendesk HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 URL NOT FOUND | invalid sso URL |
200 OK
{
"data": {
"ssourl":"ZENDESK_LINK",
"jwt":"xxxxxxxxxxxxxxx"
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
GET - Returns the member's subscription
POST - Creates a member's subscription
DELETE - Removes a member's subscription
Authorization: Bearer YOUR_API_TOKEN
GET /v1/member/SAMPLE123456/subscription HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
GET /v1/member/SAMPLE123456/subscription HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 157
{
"count": 5,
"start": 10,
"search": {
"type_api_id": [
"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
],
"status": [
"Active",
"Accepted"
]
}
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 417 EXPECTATION FAILED | invalid JSON body |
200 OK
{
"data": {
"count":21,
"subscription":[
{
"type": "Membership",
"type_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"subscription": "Annual Membership",
"subscription_api_id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"rate": "Less than 5 years",
"rate_api_id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"frequency": "Full",
"frequency_api_id": "WWWWWWWW-WWWW-WWWW-WWWW-WWWWWWWWWWWW",
"status": "Expired",
"activationstatus": "Activation Requirement Met",
"startdate": "08/22/2011",
"enddate": "12/31/2011",
"graceenddate": "03/31/2012",
"subscriber_id": "123456",
"parent_subscriber_id": "",
"x-parent-api-uri": "",
"x-api-uri": "/v1/member/SAMPLE123456/subscription/123456",
"x-renew-uri": ""
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/member/SAMPLE123456/subscription/123456 HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 MEMBER SUBSCRIPTION NOT FOUND | member does not have subscription |
| 417 EXPECTATION FAILED | invalid subscriber_id |
200 OK
{
"data": {
"count":1,
"subscription": {
"type": "Membership",
"type_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"subscription": "Annual Membership",
"subscription_api_id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"rate": "Less than 5 years",
"rate_api_id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"frequency": "Full",
"frequency_api_id": "WWWWWWWW-WWWW-WWWW-WWWW-WWWWWWWWWWWW",
"status": "Expired",
"activationstatus": "Activation Requirement Met",
"startdate": "08/22/2011",
"enddate": "12/31/2011",
"graceenddate": "03/31/2012",
"subscriber_id": "123456",
"parent_subscriber_id": "",
"x-parent-api-uri": "",
"x-api-uri": "/v1/member/SAMPLE123456/subscription/123456",
"x-renew-uri": ""
}
},
"error":false,
"messages":[]
}
POST /v1/member/SAMPLE123456/subscription HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 350
{
"status": "Active",
"subscription_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"frequency_api_id": "WWWWWWWW-WWWW-WWWW-WWWW-WWWWWWWWWWWW",
"rate_overrideamt": "195.00",
"startdate": "8/1/2027",
"enddate": "8/31/2027",
"graceenddate": "8/31/2027",
"addons": [
{
"subscription_api_id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY"
}
]
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating member subscription |
201 CREATED
{
"data": {
"result": "Member subscription creation has been scheduled successfully.",
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create member subscription.",
...
]
}
DELETE /v1/member/SAMPLE123456/subscription/123456 HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 MEMBER SUBSCRIPTION NOT FOUND | member does not have subscription |
| 417 EXPECTATION FAILED | invalid subscriber_id |
| 500 NOT UPDATED | error deleting member subscription |
200 OK
{
"data": {
"result":"Member subscription deleted."
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
GET - Returns the member's website addresses
PUT - Updates a member's website address
DELETE - Removes a member's website address
Authorization: Bearer YOUR_API_TOKEN
GET /v1/member/SAMPLE123456/website HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
200 OK
{
"data": {
"count":2,
"website": [
{
"api_id":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri":"/v1/member/SAMPLE123456/website/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"type":"Website",
"website":"http://www.mysite.org"
},
{
"api_id":"YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"x-api-uri":"/v1/member/SAMPLE123456/website/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"type":"Company Website",
"website":"http://www.mysite.org/MyPage"
}
]
},
"error":false,
"messages":[]
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
GET /v1/member/SAMPLE123456/website/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 WEBSITE TYPE NOT FOUND | invalid website api_id |
| 404 MEMBER WEBSITE NOT FOUND | member does not have a website for this website type |
200 OK
{
"data": {
"count":1,
"website":{
"api_id":"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri":"/v1/member/SAMPLE123456/website/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"type":"Website",
"website":"http://www.mysite.org"
}
},
"error":false,
"messages":[]
}
404 MEMBER WEBSITE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member Website not found."
]
}
PUT /v1/member/SAMPLE123456/website/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 46
{
"website": "http://www.mysite.org/MyPage"
}
| 200 OK | success |
| 202 NOT UPDATED | no changes to process |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 WEBSITE TYPE NOT FOUND | invalid website api_id |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error updating website |
200 OK
{
"data": {
"result": "Member updated.",
"report": [
"summary": [
"1 existing member will be updated.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [],
"newmembers": [],
"guestmembers": [],
"existingmembers": [
"LastName, NewFirstName (SAMPLE123456) - Company Website changed from http://www.mysite.org to http://www.mysite.org/MyPage",
...
]
]
},
"error": false,
"messages": []
}
202 NOT UPDATED
{
"data": {
"result": "No changes to process.",
"report": [
"summary": [
"1 data change was rejected and ignored.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [
"LastName, NewFirstName (SAMPLE123456) - Company Website is not valid: http://mysite"
],
"newmembers": [],
"guestmembers": [],
"existingmembers": []
]
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update member.",
...
]
}
DELETE /v1/member/SAMPLE123456/website/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 202 NOT UPDATED | member did not have an website for this website type |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 MEMBER NOT FOUND | invalid membernumber |
| 404 WEBSITE TYPE NOT FOUND | invalid website api_id |
| 500 NOT UPDATED | error deleting website |
200 OK
{
"data": {
"result": "Member updated.",
"report": [
"summary": [
"1 existing member will be updated.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [],
"newmembers": [],
"guestmembers": [],
"existingmembers": [
"LastName, NewFirstName (SAMPLE123456) - Website changed from [email protected] to [blank]",
...
]
]
},
"error": false,
"messages": []
}
404 MEMBER NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Member not found."
]
}
GET - Returns the possible keys/columns to use when adding or updating member records.
POST - Upload a member file to add/update multiple member records.
Authorization: Bearer YOUR_API_TOKEN
GET /v1/memberupdate HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"Demographics": [
"company",
"firstname",
"lastname",
"mcaccountstatus",
"mcaccounttype",
"mcrecordtype",
"membernumber",
"middlename",
"prefix",
"suffix"
],
"Websites": [
"blog",
"facebook",
"website"
],
"Emails": [
"alternate email",
"email"
],
"Addresses": [
"billingaddresstype",
"primary address_address1",
"primary address_address2",
"primary address_address3",
"primary address_attn",
"primary address_city",
"primary address_country",
"primary address_county",
"primary address_fax",
"primary address_phone",
"primary address_postalcode",
"primary address_stateprov"
],
"Professional Licenses": [
"mystate_activedate",
"mystate_licensenumber",
"mystate_status"
],
"Custom Fields": [
"dateofbirth",
"region"
]
},
"error":false,
"messages":[]
}
POST /v1/memberupdate HTTP/1.1
Content-Type: multipart/form-data; boundary=---011000010111000001101001
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 221
-----011000010111000001101001
Content-Disposition: form-data; name="members"
-----011000010111000001101001
Content-Disposition: form-data; name="options"
{
"sync":"partial"
}
-----011000010111000001101001--
| 200 OK | success |
| 202 NOT UPDATED | no changes to process |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 406 NOT ACCEPTABLE | unable to process file |
| 417 EXPECTATION FAILED | invalid JSON object, missing file, or invalid file |
200 OK
{
"data": {
"result": "Upload accepted."
"report": [
"summary": [
"1 existing member will be updated.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [],
"newmembers": [],
"guestmembers": [],
"existingmembers": [
"LastName, NewFirstName (SAMPLE123456) - First name changed from Pat to NewFirstName",
...
]
]
},
"error":false,
"messages":[]
}
202 NOT UPDATED
{
"data": {
"result": "No changes to process.",
"report": [
"summary": [
"1 data change was rejected and ignored.",
...
],
"files": [
"<a href=\"http://www.mysite.org/LINK_TO_FILE\">Submitted Data",
...
],
"rejected": [
"LastName, NewFirstName (SAMPLE123456) - website is not valid: http://mysite"
],
"newmembers": [],
"guestmembers": [],
"existingmembers": []
]
},
"error": false,
"messages": []
}
406 NOT ACCEPTABLE
{
"data": {},
"error": true,
"messages": [
"Unable to process member file.",
...
]
}
417 EXPECTATION FAILED
{
"data": {},
"error": true,
"messages": [
"Invalid file type.",
"Only CSV files are accepted.",
...
]
}
MemberCentral's MCUserToken Secret is used to generate a JSON Web Token (JWT) both in direct calls to /member/{membernumber}/sso/mcusertokenjwt and in post-login redirection when a returnURL is specified.
When linking to a site's login page, there is an option to pass in a returnURL parameter. Upon successful login, we will redirect the user back to that returnURL. If a MCUserToken Secret is defined for the organization, we will pass along a JWT payload, allowing you to parse the JWT using the MCUserToken Secret to obtain the membernumber of the member that just logged in. The structure of the JWT payload is defined in /member/sso/mcusertokenjwt.
Example: If your site directs members to the login page at
http://yourassociation.org/?pg=login&returnURL=https%3A%2F%2Fcle.yourassociation.org%2Fmyaccount
and the MCUserToken Secret is defined, we will redirect the member back to
https://cle.yourassociation.org/myaccount?mcusertoken=XXXX....XXXX
GET - Returns the user token secret key
PUT - Sets the user token secret key
DELETE - Clears the user token secret key
Authorization: Bearer YOUR_API_TOKEN
GET /v1/organization/sso/mcusertokensecret HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SECRET NOT FOUND | secret is not defined |
200 OK
{
"data": {
"mcusertokensecret": "XXXX...XXXX"
},
"error":false,
"messages":[]
}
404 SECRET NOT FOUND
{
"data": {},
"error":true,
"messages":[
"MCUserToken Secret not found."
]
}
PUT /v1/organization/sso/mcusertokensecret HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
{
"mcusertokensecret": "XXXX....XXXX"
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SECRET NOT FOUND | secret is not defined |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error updating secret |
200 OK
{
"data": {
"mcusertokensecret": "XXXX...XXXX"
},
"error":false,
"messages":[]
}
500 NOT UPDATED
{
"data": {},
"error":true,
"messages": [
"MCUserToken Secret must be less than 50 characters."
]
}
DELETE /v1/organization/sso/mcusertokensecret HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SECRET NOT FOUND | secret is not defined |
| 500 NOT UPDATED | error deleting secret |
200 OK
{
"data": {
"result":"MCUserToken Secret deleted."
},
"error":false,
"messages":[]
}
404 SECRET NOT FOUND
{
"data": {},
"error": true,
"messages": [
"MCUserToken Secret not found."
]
}
GET - Returns phone types
POST - Creates a phone type
PUT - Updates a phone type
DELETE - Deletes a phone type
Authorization: Bearer YOUR_API_TOKEN
GET /v1/phone HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"count": 2,
"phone": [
{
"type": "Landline",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/phone/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/phone/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 PHONE TYPE NOT FOUND | invalid phone type api_id |
200 OK
{
"data": {
"count": 1,
"phone": {
"type": "Landline",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/phone/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
404 PHONE TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Phone type not found."
]
}
POST /v1/phone HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 23
{
"type": "Landline"
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating phone type |
201 CREATED
{
"data": {
"count":1,
"result": "Phone type created.",
"phone": {
"type": "Landline",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/phone/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create phone type.",
...
]
}
PUT /v1/phone/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 39
{
"type": "Landline",
"position": 2
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 PHONE TYPE NOT FOUND | phone type not found |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | unable to update phone type |
200 OK
{
"data": {
"count":1,
"result": "Phone type updated.",
"phone": {
"type": "Landline",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/phone/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update phone type.",
...
]
}
DELETE /v1/phone/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 PHONE TYPE NOT FOUND | phone type not found |
| 500 NOT UPDATED | unable to delete phone type |
200 OK
{
"data": {
"result":"Phone type deleted."
},
"error":false,
"messages":[]
}
404 PHONE TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Phone type not found."
]
}
GET - Returns referrals
POST - Creates one or more referrals
PUT - Updates a referral
PATCH - Reopens or activates a referral
DELETE - Deletes a pending referral
Authorization: Bearer YOUR_API_TOKEN
GET /v1/referral HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 29
{
"count": 5,
"start": 0,
"search": {
"refdateto": "7/4/2026"
}
}
GET /v1/referral HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 97
{
"count": 5,
"start": 10,
"search": {
"clientfirstname": "Michael",
"clientlastname": "Smith",
"email": "[email protected]",
"lawyerfirstname": "John",
"lawyerlastname": "Doe",
"repfirstname": "David",
"replastname": "Johnson",
"status": "Open- Retained",
"counselorfirstname": "William",
"counselorlastname": "Davis",
"refdatefrom": "6/4/2026",
"refdateto": "7/4/2026",
"calldatefrom": "6/4/2026",
"calldateto": "7/4/2026",
"notefollowupdatefrom": "6/4/2026",
"notefollowupdateto": "7/4/2026",
"notefollowupstatus": "Pending",
"referralnum": "4010752",
"calluid": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"phonenumber": "123-321-3535",
"feediscrepancystatus": "Confirmed Discrepancy",
"istransferred": "1",
"transferdatefrom": "6/4/2026",
"transferdateto": "7/4/2026",
"hasdocuments": "1"
}
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
200 OK
{
"data": {
"count": 5,
"referrals": [
{
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-referraladmin-uri": "https://yourassociation.org/[path-to-referral]",
"status": "Open - Retained",
"clientfirstname": "Michael",
"clientlastname": "Smith",
"clientreferraldate": "6/3/2026",
"lawyername": "John Doe",
"membernumber": "SAMPLE123456",
"islawyerreferral": 1,
"isdeleted": 0
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 REFERRAL NOT FOUND | invalid referral api_id |
200 OK
{
"data": {
"count": 1,
"referral": {
"calldate": "1/1/2024 11:04 AM",
"lastupdateddate": "3/1/2024 4:16 PM",
"referraldate": "1/4/2024 11:08 AM",
"caseopendate": "2/1/2024 2:00 PM",
"casecloseddate": "3/1/2024 4:16 PM",
"source": "Web / Internet",
"language": "English",
"legalissue": "Family Law: Divorce With Children involved",
"agreesurvey": 1,
"agreenewsletter": 0,
"isreferred": 0,
"caseexists": 0,
"client": {
"clientfirstname": "Sally",
"clientmiddlename": "",
"clientlastname": "Smith",
"clientcompany": "",
"clientemail": "[email protected]",
"clientaddress1": "123 AnyStreet",
"clientaddress2": "",
"clientcity": "Anytown",
"clientstateprov": "Texas",
"clientpostalcode": "78735",
"clientphonehome": "",
"clientphonecell": "555-555-5555",
"clientphonealternate": ""
},
"representative": {
"repfirstname": "",
"replastname": "",
"repaddress1": "",
"repaddress2": "",
"repcity": "",
"repstateprov": "",
"reppostalcode": "",
"repemail": "",
"repphonehome": "",
"repphonecell": "",
"repphonealternate": "",
"relationtoclient": ""
},
"counselor": {
"counselorfirstname": "Tammy",
"counselorlastname": "Thompson",
"counselormembernumber": "ABC123456"
},
"call": {
"calltype": "Lawyer Referral",
"callid": "XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXX"
},
"clientfeesinfo": {
"clientfees": [
{
"date": "9/11/2024",
"fee": "8.00",
"amounttobepaid": "0.00",
"paidtodate": "8.00"
}
],
"clientfeestotals": {
"fee": "8.00",
"amounttobepaid": "0.00",
"paidtodate": "8.00"
}
},
"counselornotes": [
{
"enteredby": "John Doe",
"createddate": "09/26/2024 12:00 AM",
"followupstatus": "Completed",
"followupdate": "10/26/2024",
"description": "This is a test counselor note."
},
...
],
"agencyname": "Legal Shield",
"referralstatus": "Pending - Referral NOT sent",
"filters": {
"primarypanel": "Criminal Law",
"primarysubpanel": "Bank Robbery|Tax Evasion",
"secondarypanel": "",
"secondarysubpanel": "N/A",
"tertiarypanel": "",
"tertiarysubpanel": "N/A",
"customfields": [
{
"value": "John",
"label": "First Name"
},
{
"value": "01/01/1988",
"label": "Date Of Birth"
},
{
"value": "English|German|French",
"label": "Languages"
},
...
],
"classifications": [
{
"value": "Board Members",
"label": "Classification"
},
{
"value": "Less than 5 Years in Practice|Over 10 Years in Practice",
"label": "Membership Level"
},
...
]
},
"questionanswerpath": "Select a Panel / Administrative / Yes or No / Yes /",
"clientcustomfields": {
"fieldgroupings": [
{
"ungrouped": 1,
"fields": [
{
"field_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"value": "Attorney referred me",
"label": "How did you hear about us?"
},
...
],
"groupname": ""
},
{
"ungrouped": 0,
"fields": [
{
"field_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"value": "No",
"label": "Do you need special accommodations?"
},
...
],
"groupname": "Optional Information"
},
...
]
},
"x-activate-api-uri": "/v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-reopen-api-uri": "/v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-delete-api-uri": "/v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
200 OK
{
"data": {
"count": 1,
"referral": {
"calldate": "1/1/2024 11:04 AM",
"lastupdateddate": "3/1/2024 4:16 PM",
"referraldate": "1/4/2024 11:08 AM",
"caseopendate": "2/1/2024 2:00 PM",
"casecloseddate": "3/1/2024 4:16 PM",
"source": "Web / Internet",
"language": "English",
"legalissue": "Family Law: Divorce With Children involved",
"agreesurvey": 1,
"agreenewsletter": 0,
"isreferred": 1,
"caseexists": 1,
"client": {
"clientfirstname": "Sally",
"clientmiddlename": "",
"clientlastname": "Smith",
"clientcompany": "",
"clientemail": "[email protected]",
"clientaddress1": "123 AnyStreet",
"clientaddress2": "",
"clientcity": "Anytown",
"clientstateprov": "Texas",
"clientpostalcode": "78735",
"clientphonehome": "",
"clientphonecell": "555-555-5555",
"clientphonealternate": ""
},
"representative": {
"repfirstname": "",
"replastname": "",
"repaddress1": "",
"repaddress2": "",
"repcity": "",
"repstateprov": "",
"reppostalcode": "",
"repemail": "",
"repphonehome": "",
"repphonecell": "",
"repphonealternate": "",
"relationtoclient": ""
},
"counselor": {
"counselorfirstname": "Tammy",
"counselorlastname": "Thompson",
"counselormembernumber": "ABC123456"
},
"call": {
"calltype": "Lawyer Referral",
"callid": "XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXX"
},
"lawyer": {
"lawyerfirstname": "J",
"lawyerlastname": "Williams",
"lawyermembernumber": "DEF987654"
},
"lawyernotes": [
{
"enteredby": "John Doe",
"createddate": "09/26/2024 12:00 AM",
"followupstatus": "Completed",
"followupdate": "10/26/2024",
"description": "This is a test lawyer note."
},
...
],
"feetype": "Consultation",
"case": {
"feediscrepanciesstatuslogs": [
{
"date": "10/01/2024",
"notes": "Not Resolved",
"enteredby": "John Doe",
"status": "No Resolution Reached"
},
...
],
"feesreportedbyclient": "0.00"
"attorney": {
"attorneymembernumber": "ZZ20110628170200",
"attorneyfirstname": "J",
"attorneylastname": "Williams"
},
"casefeesinfo": {
"casefeestotals": {
"filingfee": "0.00",
"collectedfee": "11,500.00",
"referraldues": "30.00",
"amounttobepaid": "0.00"
},
"casefees": [
{
"filingfee": "0.00",
"collectedfee": "1,000.00",
"referraldues": "10.00",
"amounttobepaid": "0.00",
"collectedfeedate": "9/23/2024"
},
...
]
},
"status": "Closed - Final Payment"
}
"clientfeesinfo": {
"clientfees": [
{
"date": "9/11/2024",
"fee": "8.00",
"amounttobepaid": "0.00",
"paidtodate": "8.00"
}
],
"clientfeestotals": {
"fee": "8.00",
"amounttobepaid": "0.00",
"paidtodate": "8.00"
}
},
"consultationfeesinfo": {
"consultationfeestotals": {
"fee": "25.00",
"amounttobepaid": "0.00",
"paidtodate": "25.00"
},
"consultationfees": [
{
"date": "9/12/2024",
"fee": "25.00",
"amounttobepaid": "0.00",
"paidtodate": "25.00"
}
]
},
"counselornotes": [
{
"enteredby": "John Doe",
"createddate": "09/26/2024 12:00 AM",
"followupstatus": "Completed",
"followupdate": "10/26/2024",
"description": "This is a test counselor note."
},
...
],
"agencyname": "Legal Shield",
"filters": {
"primarypanel": "Criminal Law",
"primarysubpanel": "Bank Robbery|Tax Evasion",
"secondarypanel": "",
"secondarysubpanel": "N/A",
"tertiarypanel": "",
"tertiarysubpanel": "N/A",
"customfields": [
{
"value": "John",
"label": "First Name"
},
{
"value": "01/01/1988",
"label": "Date Of Birth"
},
{
"value": "English|German|French",
"label": "Languages"
},
{
"value": "Within 5 miles of Postal Code 12345",
"label": "Postal Code"
}
],
"classifications": [
{
"value": "Board Members",
"label": "Classification"
},
{
"value": "Less than 5 Years in Practice|Over 10 Years in Practice",
"label": "Membership Level"
}
]
},
"attorneycustomfields": {
"fieldgroupings": [
{
"ungrouped": 0,
"fields": [
{
"field_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"value": "What is the best way to reach you?",
"label": "Email"
},
...
],
"groupname": "Contact Information"
},
...
]
},
"questionanswerpath": "Select a Panel / Administrative / Yes or No / Yes /",
"clientcustomfields": {
"fieldgroupings": [
{
"ungrouped": 1,
"fields": [
{
"field_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"value": "Attorney referred me",
"label": "How did you hear about us?"
},
...
],
"groupname": ""
},
{
"ungrouped": 0,
"fields": [
{
"field_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"value": "No",
"label": "Do you need special accommodations?"
},
...
],
"groupname": "Optional Information"
},
...
]
}
}
},
"error":false,
"messages":[]
}
404 REFERRAL NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Referral not found."
]
}
POST /v1/referral HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 427
{
"referrals":[
{
"clientfirstname": "John",
"clientlastname": "Doe",
"referralcreated":"6/4/2026",
"referralSourceCode":"attorney",
"clientemail": "[email protected]",
"language":"english",
"primarypanel": "admin",
"membernumberattorney": "SAMPLE456789",
"createdby":"SAMPLE123456",
"referralstatuscode": "PendNotSend",
"legalissue":"Wrongful employment dismissal "
}
...
]
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 500 NOT CREATED | Unable to create referrals. |
201 CREATED
{
"data": {
"count": 2,
"result": "Referrals created."
},
"error":false,
"messages":[]
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create referral.",
"Row 1: Attorney Member Number does not match an existing member.",
"Row 2: Legal Issue is required. [legalissue]"
]
}
PUT /v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 1511
{
"source":"Website",
"language": "English",
"legalissue": "Family Law: Divorce with Children and Custody Matters",
"agreenewsletter": 1,
"client": {
"clientmiddlename": "Elizabeth",
"clientphonealternate": "666-666-666"
},
"representative": {
"repfirstname": "Michael",
"replastname": "Smith",
"relationtoclient": "Brother",
"repemail": "[email protected]",
"repcity": "Anytown",
"repstateprov": "Texas",
"reppostalcode": "78735",
"repphonecell": "777-777-7777"
},
"call": {
"calltype": "Lawyer Referral"
},
"filters": {
"primarypanel": "Family Law",
"primarysubpanel": "Custody and Modification|Child Support",
"secondarypanel": "Guardianship",
"customfields": [
{
"value": "Texas",
"label": "Primary Address State"
},
{
"value": "English|German|French",
"label": "Languages"
},
{
"value": "7/4/2026",
"label": "Earliest Bar Date"
}
],
"classifications": [
{
"value": "Guardianship|Administrative Law|Civil Litigation",
"label": "Areas of Practice"
},
{
"value": "5-10 Years in Practice",
"label": "Membership Level"
}
]
},
"attorneycustomfields": [
{
"field_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"value": "10/01/2024"
},
{
"field_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"value": "Law School|Courthouse"
}
],
"clientcustomfields": [
{
"field_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"value": "No"
},
{
"field_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"value": "Telephone|Email|Website"
}
]
}
PUT /v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 203
{
"source":"Other",
"othersource":"Former Clients",
"legalissue": "Criminal Defense - Assault Charges",
"agreenewsletter":1,
"feetype":"Hourly Fee",
"case": {
"status": "Closed - Retained",
"feesreportedbyclient": "1500.00"
}
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 REFERRAL NOT FOUND | invalid referral api_id |
| 406 NOT ACCEPTABLE | invalid input data |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error updating referral |
200 OK
{
"data": {
"count": 1,
"ignoredfields": [],
"referral": {
"calldate": "1/1/2024 11:04 AM",
"lastupdateddate": "3/1/2024 4:16 PM",
"referraldate": "1/4/2024 11:08 AM",
"caseopendate": "2/1/2024 2:00 PM",
"casecloseddate": "3/1/2024 4:16 PM",
"source":"Website",
"language": "English",
"legalissue": "Family Law: Divorce with Children and Custody Matters",
"agreesurvey": 1,
"agreenewsletter": 1,
"isreferred": 0,
"caseexists": 0,
"client": {
"clientfirstname": "Sally",
"clientmiddlename": "Elizabeth",
"clientlastname": "Smith",
"clientcompany": "",
"clientemail": "[email protected]",
"clientaddress1": "123 AnyStreet",
"clientaddress2": "",
"clientcity": "Anytown",
"clientstateprov": "Texas",
"clientpostalcode": "78735",
"clientphonehome": "",
"clientphonecell": "555-555-5555",
"clientphonealternate": "666-666-666"
},
"representative": {
"repfirstname": "Michael",
"replastname": "Smith",
"repaddress1": "",
"repaddress2": "",
"repcity": "Anytown",
"repstateprov": "Texas",
"reppostalcode": "78735",
"repemail": "[email protected]",
"repphonehome": "",
"repphonecell": "777-777-7777",
"repphonealternate": "",
"relationtoclient": "Brother"
},
"counselor": {
"counselorfirstname": "Tammy",
"counselorlastname": "Thompson",
"counselormembernumber": "ABC123456"
},
"call": {
"calltype": "Lawyer Referral",
"callid": "XXXXXXXX-XXXX-XXXX-XXXXXXXXXXXXXXXX"
},
"clientfeesinfo": {
"clientfees": [
{
"date": "9/11/2024",
"fee": " $8.00",
"amounttobepaid": " $0.00",
"paidtodate": " $8.00"
}
],
"clientfeestotals": {
"fee": " $8.00",
"amounttobepaid": " $0.00",
"paidtodate": " $8.00"
}
},
"counselornotes": [
{
"enteredby": "John Doe",
"createddate": "09/26/2024 12:00 AM",
"followupstatus": "Completed",
"followupdate": "10/26/2024",
"description": "This is a test counselor note."
},
...
],
"agencyname": "Legal Shield",
"referralstatus": "Pending - Referral NOT sent",
"filters": {
"primarypanel": "Criminal Law",
"primarysubpanel": "Bank Robbery|Tax Evasion",
"secondarypanel": "",
"secondarysubpanel": "N/A",
"tertiarypanel": "",
"tertiarysubpanel": "N/A",
"customfields": [
{
"value": "John",
"label": "First Name"
},
{
"value": "01/01/1988",
"label": "Date Of Birth"
},
{
"value": "English|German|French",
"label": "Languages"
},
...
],
"classifications": [
{
"value": "Board Members",
"label": "Classification"
},
{
"value": "Less than 5 Years in Practice|Over 10 Years in Practice",
"label": "Membership Level"
},
...
]
},
"questionanswerpath": "Select a Panel / Administrative / Yes or No / Yes /",
"clientcustomfields": {
"fieldgroupings": [
{
"ungrouped": 1,
"fields": [
{
"field_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"value": "Attorney referred me",
"label": "How did you hear about us?"
},
...
],
"groupname": ""
},
{
"ungrouped": 0,
"fields": [
{
"field_api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"value": "No",
"label": "Do you need special accommodations?"
},
...
],
"groupname": "Optional Information"
},
...
]
}
}
"result": "Referral updated."
},
"error": false,
"messages": []
}
406 NOT ACCEPTABLE
{
"data": {},
"error": true,
"messages": [
"Unable to update referral.",
"Invalid source.",
"Invalid representative state.",
"Invalid call type."
]
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update referral."
]
}
PATCH /v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 17
{
"op":"activate"
}
PATCH /v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 15
{
"op":"reopen"
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 REFERRAL NOT FOUND | invalid referral api_id |
| 406 NOT ACCEPTABLE | invalid patch request |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error updating referral |
200 OK
{
"data": {
"count": 1,
"referral": {
"calldate": "1/1/2024 11:04 AM",
"lastupdateddate": "3/1/2024 4:16 PM",
"referraldate": "1/4/2024 11:08 AM",
"caseopendate": "2/1/2024 2:00 PM",
"casecloseddate": "3/1/2024 4:16 PM",
"source":"Website",
"language": "English",
"legalissue": "Family Law: Divorce with Children and Custody Matters",
"agreesurvey": 1,
"agreenewsletter": 1,
"isreferred": 0,
"caseexists": 0,
"referralstatus": "Pending - Referral NOT sent",
...
}
"result": "Referral activated."
},
"error": false,
"messages": []
}
406 NOT ACCEPTABLE
{
"data": {},
"error": true,
"messages": [
"Invalid patch request."
]
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to apply patch to the referral."
]
}
DELETE /v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 REFERRAL NOT FOUND | referral not found |
| 406 NOT ACCEPTABLE | referral cannot be deleted |
| 500 NOT UPDATED | unable to delete referral |
200 OK
{
"data": {
"result":"Referral deleted."
},
"error":false,
"messages":[]
}
404 REFERRAL NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Referral not found."
]
}
GET - Returns the referral's counselor notes
POST - Created a referral's counselor note
Authorization: Bearer YOUR_API_TOKEN
GET /v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/counselornote HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 REFERRAL NOT FOUND | invalid referral api_id |
200 OK
{
"data": {
"count": 2,
"counselornotes": [
{
"enteredby": "John Doe",
"createddate": "6/4/2026 5:06 AM",
"followupstatus": "Pending",
"followupdate": "6/7/2026",
"description": "Discuss case with Bob."
}
...
]
},
"error":false,
"messages":[]
}
POST /v1/referral/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/counselornote HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 111
{
"note": "Discuss case with Bob.",
"createddate": "6/4/2026 5:06 AM",
"followupdate": "6/7/2026",
"followupstatus": "Pending"
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 REFERRAL NOT FOUND | invalid referral api_id |
| 500 NOT CREATED | Unable to add counselor note. |
201 CREATED
{
"data": {
"count": 2,
"counselornotes": [
{
"enteredby": "John Doe",
"createddate": "6/4/2026 5:06 AM",
"followupstatus": "Pending",
"followupdate": "6/7/2026",
"description": "Discuss case with Bob."
}
...
]
},
"error":false,
"messages":[]
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to add counselor note.",
"Invalid or missing note"
]
}
GET - Returns referral statuses
Authorization: Bearer YOUR_API_TOKEN
GET /v1/referral/status HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"count": 2,
"referralstatus": [
{
"statusname": "Open - Retained",
"primarystatusname": "Open",
"statusstatus": "Active",
"isagency": "No",
"ispending": "No",
"isclosedbylawyer": "No",
"isconsultation": "No",
"retainedcase": "Yes",
"displayinreferralcenter": "Yes",
"referralsent": "Yes",
"deleted": "No"
}
...
]
},
"error":false,
"messages":[]
}
GET - Returns subscription frequencies
POST - Create subscription frequency
PUT - Update subscription frequency
DELETE - Delete subscription frequency
Authorization: Bearer YOUR_API_TOKEN
GET /v1/subscription/frequency HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"count": 2,
"subscriptionfrequency": [
{
"frequencyname": "Full",
"frequencyshortname": "F",
"numberinstallments": 1,
"neededbyallrates": 1,
"monthsbetweenpayments": 1,
"issystemrate": 1,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/frequency/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/subscription/frequency/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SUBSCRIPTION FREQUENCY NOT FOUND | invalid subscription frequency api_id |
200 OK
{
"data": {
"count": 1,
"subscriptionfrequency": {
"frequencyname": "Full",
"frequencyshortname": "F",
"numberinstallments": 1,
"neededbyallrates": 1,
"monthsbetweenpayments": 1,
"issystemrate": 1,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/frequency/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
404 SUBSCRIPTION FREQUENCY NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Subscription frequency not found."
]
}
POST /v1/subscription/frequency HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
{
"frequencyname": "Monthly",
"frequencyshortname": "M",
"numberinstallments": 12,
"neededbyallrates": 0,
"monthsbetweenpayments": 1
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating subscription frequency |
201 CREATED
{
"data": {
"result": "Subscription frequency created.",
"count": 1,
"subscriptionfrequency": {
"frequencyname": "Monthly",
"frequencyshortname": "M",
"numberinstallments": 12,
"neededbyallrates": 0,
"monthsbetweenpayments": 1,
"issystemrate": 0,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/frequency/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create subscription frequency.",
...
]
}
PUT /v1/subscription/frequency/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
{
"frequencyname": "Monthly",
"frequencyshortname": "M",
"numberinstallments": 12,
"neededbyallrates": 0,
"monthsbetweenpayments": 1
}
| 200 UPDATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error saving subscription frequency |
200 UPDATED
{
"data": {
"count":1,
"result": "Subscription frequency updated.",
"subscriptionfrequency": {
"frequencyname": "Monthly",
"frequencyshortname": "M",
"numberinstallments": 12,
"neededbyallrates": 0,
"monthsbetweenpayments": 1,
"issystemrate": 0,
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/frequency/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to update subscription frequency.",
...
]
}
DELETE /v1/subscription/frequency/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SUBSCRIPTION FREQUENCY NOT FOUND | subscription frequency not found |
| 500 NOT DELETED | Unable to delete subscription frequency |
200 OK
{
"data": {
"result":"Subscription frequency deleted."
},
"error":false,
"messages":[]
}
404 SUBSCRIPTION FREQUENCY NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Subscription frequency not found."
]
}
GET - Returns subscription rate schedules
POST - Create subscription rate schedule
PUT - Update subscription rate schedule
DELETE - Delete subscription rate schedule
Authorization: Bearer YOUR_API_TOKEN
GET /v1/subscription/rateschedule HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"count": 2,
"subscriptionrateschedule": [
{
"schedulename": "Membership Rates",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/rateschedule/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/subscription/rateschedule/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SUBSCRIPTION RATE SCHEDULE NOT FOUND | invalid subscription rate schedule api_id |
200 OK
{
"data": {
"count": 1,
"subscriptionrateschedule": {
"schedulename": "Membership Rates",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/rateschedule/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
404 SUBSCRIPTION RATE SCHEDULE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Subscription rate schedule not found."
]
}
POST /v1/subscription/rateschedule HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
{
"schedulename": "Membership Rates"
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating subscription rate schedule |
201 CREATED
{
"data": {
"result": "Subscription rate schedule created.",
"count": 1,
"subscriptionrateschedule": {
"schedulename": "Membership Rates",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/rateschedule/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create subscription rate schedule.",
...
]
}
PUT /v1/subscription/rateschedule/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
{
"schedulename": "Membership Rates"
}
| 200 UPDATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error saving subscription rate schedule |
200 UPDATED
{
"data": {
"count": 1,
"result": "Subscription rate schedule updated.",
"subscriptionrateschedule": {
"schedulename": "Membership Rates",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/rateschedule/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to update subscription rate schedule.",
...
]
}
DELETE /v1/subscription/rateschedule/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SUBSCRIPTION RATE SCHEDULE NOT FOUND | subscription rate schedule not found |
| 500 NOT DELETED | Unable to delete subscription rate schedule |
200 OK
{
"data": {
"result":"Subscription rate schedule deleted."
},
"error":false,
"messages":[]
}
404 SUBSCRIPTION RATE SCHEDULE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Subscription rate schedule not found."
]
}
GET - Returns subscription types
POST - Create subscription type
PUT - Update subscription type
DELETE - Delete subscription type
Authorization: Bearer YOUR_API_TOKEN
GET /v1/subscription/type HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"count": 2,
"subscriptiontype": [
{
"type": "Membership",
"typecode": "MEMBER",
"frontendcontent": "",
"frontendcompletedcontent": "",
"notificationemail": "[email protected]",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SUBSCRIPTION TYPE NOT FOUND | invalid subscription type api_id |
200 OK
{
"data": {
"count": 1,
"subscriptiontype": {
"type": "Membership",
"typecode": "MEMBER",
"frontendcontent": "",
"frontendcompletedcontent": "",
"notificationemail": "[email protected]",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
404 SUBSCRIPTION TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Subscription type not found."
]
}
POST /v1/subscription/type HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
{
"type": "Membership",
"notificationemail": "[email protected]"
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating subscription type |
201 CREATED
{
"data": {
"result": "Subscription type created.",
"count": 1,
"subscriptiontype": {
"type": "Membership",
"typecode": "",
"frontendcontent": "",
"frontendcompletedcontent": "",
"notificationemail": "[email protected]",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create subscription type.",
...
]
}
PUT /v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
{
"type": "Membership",
"typecode":"MEMBERSHIP",
"feemailnotification": "[email protected];[email protected]"
}
| 200 UPDATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | error saving subscription type |
200 UPDATED
{
"data": {
"count":1,
"result": "Subscription type updated.",
"subscriptiontype": {
"type": "Membership",
"typecode": "MEMBERSHIP",
"frontendcontent": "",
"frontendcompletedcontent": "",
"notificationemail": "[email protected];[email protected]",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to update subscription type.",
...
]
}
DELETE /v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SUBSCRIPTION TYPE NOT FOUND | subscription type not found |
| 500 NOT DELETED | Unable to delete subscription type |
200 OK
{
"data": {
"result":"Subscription type deleted."
},
"error":false,
"messages":[]
}
404 SUBSCRIPTION TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Subscription type not found."
]
}
GET - Returns subscriptions by subscription type
GET - Returns subscription
POST - Create subscription
PUT - Update subscription
DELETE - Delete subscription
Authorization: Bearer YOUR_API_TOKEN
GET /v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/subscription HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SUBSCRIPTION TYPE NOT FOUND | invalid subscription type api_id |
200 OK
{
"data": {
"count": 2,
"subscriptions": [
{
"subscription": "Basic Membership",
"api_id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"x-api-uri": "/v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/subscription/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"schedulename": "Membership Rates",
"schedule_api_id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"x-schedule-api-uri": "/v1/subscription/rateschedule/ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"autoexpire": 0,
"soldseparate": 0,
"ratetermdatecode": "A",
"ratetermdatedesc": "Adhere to term dates in rate",
"paymentorder": 1,
"reportcode": "BASICMEMBERS",
"activationcode": "F",
"activationdesc": "Follow Parent",
"altactivationcode": "I",
"altactivationdesc": "First Invoice For Subscription Paid",
"allowrateglaccountoverride": 1,
"glaccount_api_id": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
"glaccountname": "Membership Revenue",
"frontendcontent": "",
"frontendcompletedcontent": "",
"frontendparentsubcontent": ""
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/subscription/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SUBSCRIPTION TYPE NOT FOUND | invalid subscription type api_id |
| 404 SUBSCRIPTION NOT FOUND | invalid subscription api_id |
200 OK
{
"data": {
"count": 1,
"subscription": {
"subscription": "Basic Membership",
"api_id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"x-api-uri": "/v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/subscription/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"schedulename": "Membership Rates",
"schedule_api_id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"x-schedule-api-uri": "/v1/subscription/rateschedule/ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"autoexpire": 0,
"soldseparate": 0,
"ratetermdatecode": "A",
"ratetermdatedesc": "Adhere to term dates in rate",
"paymentorder": 1,
"reportcode": "BASICMEMBERS",
"activationcode": "F",
"activationdesc": "Follow Parent",
"altactivationcode": "I",
"altactivationdesc": "First Invoice For Subscription Paid",
"allowrateglaccountoverride": 1,
"glaccount_api_id": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
"glaccountname": "Membership Revenue",
"frontendcontent": "",
"frontendcompletedcontent": "",
"frontendparentsubcontent": ""
}
},
"error":false,
"messages":[]
}
POST /v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/subscription HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
{
"subscription": "Basic Membership",
"schedule_api_id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"ratetermdatecode": "A",
"autoexpire": 0,
"soldseparate": 0,
"status": "A",
"glaccount_api_id": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
"paymentorder": 1,
"activationcode": "I",
"altactivationcode": "I",
"reportcode": "BASICMEMBERS"
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SUBSCRIPTION TYPE NOT FOUND | invalid subscription type api_id |
| 417 EXPECTATION FAILED | missing or invalid JSON body |
| 500 NOT CREATED | error creating subscription |
201 CREATED
{
"data": {
"result": "Subscription created.",
"count": 1,
"subscription": {
"subscription": "Basic Membership",
"api_id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"x-api-uri": "/v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/subscription/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"schedulename": "Membership Rates",
"schedule_api_id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"x-schedule-api-uri": "/v1/subscription/rateschedule/ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"autoexpire": 0,
"soldseparate": 0,
"ratetermdatecode": "A",
"ratetermdatedesc": "Adhere to term dates in rate",
"paymentorder": 1,
"reportcode": "BASICMEMBERS",
"activationcode": "I",
"activationdesc": "First Invoice For Subscription Paid",
"altactivationcode": "I",
"altactivationdesc": "First Invoice For Subscription Paid",
"allowrateglaccountoverride": 0,
"glaccount_api_id": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
"glaccountname": "Membership Revenue",
"frontendcontent": "",
"frontendcompletedcontent": "",
"frontendparentsubcontent": ""
}
},
"error":false,
"messages":[]
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create subscription.",
...
]
}
PUT /v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/subscription/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
{
"subscription": "Updated Membership",
"status": "A"
}
| 200 UPDATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SUBSCRIPTION TYPE NOT FOUND | invalid subscription type api_id |
| 404 SUBSCRIPTION NOT FOUND | invalid subscription api_id |
| 417 EXPECTATION FAILED | missing or invalid JSON body |
| 500 NOT UPDATED | error updating subscription |
200 UPDATED
{
"data": {
"result": "Subscription updated.",
"count": 1,
"subscription": {
"subscription": "Updated Membership",
"api_id": "YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"x-api-uri": "/v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/subscription/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY",
"schedulename": "Membership Rates",
"schedule_api_id": "ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"x-schedule-api-uri": "/v1/subscription/rateschedule/ZZZZZZZZ-ZZZZ-ZZZZ-ZZZZ-ZZZZZZZZZZZZ",
"autoexpire": 0,
"soldseparate": 0,
"ratetermdatecode": "A",
"ratetermdatedesc": "Adhere to term dates in rate",
"paymentorder": 1,
"reportcode": "BASICMEMBERS",
"activationcode": "I",
"activationdesc": "First Invoice For Subscription Paid",
"altactivationcode": "I",
"altactivationdesc": "First Invoice For Subscription Paid",
"allowrateglaccountoverride": 0,
"glaccount_api_id": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
"glaccountname": "Membership Revenue",
"frontendcontent": "",
"frontendcompletedcontent": "",
"frontendparentsubcontent": ""
}
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update subscription.",
...
]
}
DELETE /v1/subscription/type/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/subscription/YYYYYYYY-YYYY-YYYY-YYYY-YYYYYYYYYYYY HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 SUBSCRIPTION TYPE NOT FOUND | invalid subscription type api_id |
| 404 SUBSCRIPTION NOT FOUND | invalid subscription api_id |
| 500 NOT DELETED | error deleting subscription (e.g. subscription has active subscribers) |
200 OK
{
"data": {
"result": "Subscription deleted."
},
"error": false,
"messages": []
}
404 SUBSCRIPTION NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Subscription not found."
]
}
GET - Returns webhooks
POST - Creates a webhook
PUT - Updates a webhook
DELETE - Deletes a webhook
Authorization: Bearer YOUR_API_TOKEN
GET /v1/webhook HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"count": 2,
"webhook": [
{
"payload-uri": "http://www.mywebhookreceiver.com",
"sqsqueue": "ABC123",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/webhook/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"event": [
"membercreate": {
"enabled": true
},
"memberupdate": {
"enabled": true
},
"membermerge": {
"enabled": false
},
"memberdelete": {
"enabled": false
},
"membergroupchange": {
"enabled": true,
"group": [
{
"group": "Public"
"groupcode": "Public",
"grouppath": "Public",
"description": "Visitors that are not logged in",
"systemgroup": 1,
"alertifpopulated": 0,
"manualassignments": 0,
"protected": 0,
"membercount": 133,
"badgebackgroundcolor": "#3b3e66",
"badgetextcolor": "#ffffff",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"parentapi_id": "",
"x-parent-api-uri": ""
},
...
]
},
"subscriptionstatuschange": {
"enabled": false,
"status": [
{
"status": "Active, Billed",
"subscription": "Type: Membership;"
},
...
]
}
]
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/webhook/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 WEBHOOK NOT FOUND | invalid webhook api_id |
200 OK
{
"data": {
"count": 1,
"webhook": {
"payload-uri": "http://www.mywebhookreceiver.com",
"sqsqueue": "ABC123",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/webhook/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"event": [
"membercreate": {
"enabled": true
},
"memberupdate": {
"enabled": true
},
"membermerge": {
"enabled": false
},
"memberdelete": {
"enabled": false
},
"membergroupchange": {
"enabled": true,
"group": [
{
"group": "Public"
"groupcode": "Public",
"grouppath": "Public",
"description": "Visitors that are not logged in",
"systemgroup": 1,
"alertifpopulated": 0,
"manualassignments": 0,
"protected": 0,
"membercount": 133,
"badgebackgroundcolor": "#3b3e66",
"badgetextcolor": "#ffffff",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/group/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"parentapi_id": "",
"x-parent-api-uri": ""
},
...
]
},
"subscriptionstatuschange": {
"enabled": false,
"status": [
{
"status": "Active, Billed",
"subscription": "Type: Membership;"
},
...
]
}
]
}
},
"error":false,
"messages":[]
}
404 WEBHOOK NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Webhook not found."
]
}
POST /v1/webhook HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 69
{
"payload-uri": "https://www.mywebhookreceiver.com",
"event": {
"membercreate": {
"enabled": true
},
"memberupdate": {
"enabled": true
},
"membermerge": {
"enabled": true
},
"memberdelete": {
"enabled": false
},
"membergroupchange": {
"enabled": true,
"group_api_id": ["AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA","BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB"]
},
"subscriptionstatuschange": {
"enabled": true,
"status": [
{
"status": ["Expired","Deleted"]
},
{
"type_api_id": ["CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC","DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"],
"status": ["Renewal Not Sent"]
},
{
"type_api_id": ["EEEEEEEE-EEEE-EEEE-EEEE-EEEEEEEEEEEE"],
"subscription_api_id": ["FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"],
"rate_api_id": ["GGGGGGGG-GGGG-GGGG-GGGG-GGGGGGGGGGGG","HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH","JJJJJJJJ-JJJJ-JJJJ-JJJJ-JJJJJJJJJJJJ"],
"activationstatus": "Activation Requirement Met",
"status": ["Accepted","Active","Billed"]
}
]
}
}
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating webhook |
201 CREATED
{
"data": {
"count": 1,
"webhook": {
"payload-uri": "https://www.mywebhookreceiver.com",
"api_id": "WWWWWWWW-WWWW-WWWW-WWWW-WWWWWWWWWWWW",
"x-api-uri": "/v1/webhook/WWWWWWWW-WWWW-WWWW-WWWW-WWWWWWWWWWWW",
"event": {
"membercreate": {
"enabled": true
},
"memberupdate": {
"enabled": true
},
"membermerge": {
"enabled": true
},
"memberdelete": {
"enabled": false
},
"membergroupchange": {
"enabled": true,
"group": [
{
"api_id": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
"grouppath": "All Members",
"x-api-uri": "/v1/group/AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
"systemgroup": 0,
"badgetextcolor": "#ffffff",
"x-parent-api-uri": "",
"badgebackgroundcolor": "#3b3e66",
"alertifpopulated": 0,
"membercount": 239,
"manualassignments": 1,
"protected": 0,
"parentapi_id": "",
"groupcode": "",
"description": "",
"group": "All Members"
},
{
"api_id": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
"grouppath": "Former Members",
"x-api-uri": "/v1/group/BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
"systemgroup": 0,
"badgetextcolor": "#ffffff",
"x-parent-api-uri": "",
"badgebackgroundcolor": "#3b3e66",
"alertifpopulated": 0,
"membercount": 173,
"manualassignments": 0,
"protected": 0,
"parentapi_id": "",
"groupcode": "",
"description": "",
"group": "Former Members"
}
]
},
"subscriptionstatuschange": {
"enabled": true,
"status": [
{
"status": "Deleted, Expired",
"subscription": "Type: All Subscription Types; Activation Status: All Activation Options;"
},
{
"status": "Renewal Not Sent",
"subscription": "Type: Sections, Membership; Subscription: All Subscriptions; Activation Status: All Activation Options;"
},
{
"status": "Accepted, Active, Billed",
"subscription": "Type: Membership; Subscription: Annual Membership; Rate: Associate, Less than 5 years, Student; Activation Status: Activation Requirement Met;"
},
]
}
},
"sqsqueue": ""
},
"result": "Webhook created."
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create webhook.",
...
]
}
PUT /v1/webhook/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 91
{
"payload-uri": "https://www.mywebhookreceiver.com",
"event": {
"membercreate": {
"enabled": true
},
"memberupdate": {
"enabled": true
},
"membermerge": {
"enabled": true
},
"memberdelete": {
"enabled": false
},
"membergroupchange": {
"enabled": true,
"group_api_id": ["AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA","BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB"]
},
"subscriptionstatuschange": {
"enabled": true,
"status": [
{
"status": ["Expired","Deleted"]
},
{
"type_api_id": ["CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC","DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"],
"status": ["Renewal Not Sent"]
},
{
"type_api_id": ["EEEEEEEE-EEEE-EEEE-EEEE-EEEEEEEEEEEE"],
"subscription_api_id": ["FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF"],
"rate_api_id": ["GGGGGGGG-GGGG-GGGG-GGGG-GGGGGGGGGGGG","HHHHHHHH-HHHH-HHHH-HHHH-HHHHHHHHHHHH","JJJJJJJJ-JJJJ-JJJJ-JJJJ-JJJJJJJJJJJJ"],
"activationstatus": "Activation Requirement Met",
"status": ["Accepted","Active","Billed"]
}
]
}
}
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 WEBHOOK NOT FOUND | webhook not found |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | unable to update webhook |
200 OK
{
"data": {
"count": 1,
"webhook": {
"payload-uri": "https://www.mywebhookreceiver.com",
"api_id": "WWWWWWWW-WWWW-WWWW-WWWW-WWWWWWWWWWWW",
"x-api-uri": "/v1/webhook/WWWWWWWW-WWWW-WWWW-WWWW-WWWWWWWWWWWW",
"event": {
"membercreate": {
"enabled": true
},
"memberupdate": {
"enabled": true
},
"membermerge": {
"enabled": true
},
"memberdelete": {
"enabled": false
},
"membergroupchange": {
"enabled": true,
"group": [
{
"api_id": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
"grouppath": "All Members",
"x-api-uri": "/v1/group/AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
"systemgroup": 0,
"badgetextcolor": "#ffffff",
"x-parent-api-uri": "",
"badgebackgroundcolor": "#3b3e66",
"alertifpopulated": 0,
"membercount": 239,
"manualassignments": 1,
"protected": 0,
"parentapi_id": "",
"groupcode": "",
"description": "",
"group": "All Members"
},
{
"api_id": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
"grouppath": "Former Members",
"x-api-uri": "/v1/group/BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
"systemgroup": 0,
"badgetextcolor": "#ffffff",
"x-parent-api-uri": "",
"badgebackgroundcolor": "#3b3e66",
"alertifpopulated": 0,
"membercount": 173,
"manualassignments": 0,
"protected": 0,
"parentapi_id": "",
"groupcode": "",
"description": "",
"group": "Former Members"
}
]
},
"subscriptionstatuschange": {
"enabled": true,
"status": [
{
"status": "Deleted, Expired",
"subscription": "Type: All Subscription Types; Activation Status: All Activation Options;"
},
{
"status": "Renewal Not Sent",
"subscription": "Type: Sections, Membership; Subscription: All Subscriptions; Activation Status: All Activation Options;"
},
{
"status": "Accepted, Active, Billed",
"subscription": "Type: Membership; Subscription: Annual Membership; Rate: Associate, Less than 5 years, Student; Activation Status: Activation Requirement Met;"
},
]
}
},
"sqsqueue": ""
},
"result": "Webhook updated."
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update webhook.",
...
]
}
DELETE /v1/webhook/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 WEBHOOK NOT FOUND | webhook not found |
| 500 NOT UPDATED | unable to delete webhook |
200 OK
{
"data": {
"result":"Webhook deleted."
},
"error":false,
"messages":[]
}
404 WEBHOOK NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Webhook not found."
]
}
GET - Returns website types
POST - Creates a website type
PUT - Updates a website type
DELETE - Deletes a website type
Authorization: Bearer YOUR_API_TOKEN
GET /v1/website HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
200 OK
{
"data": {
"count": 2,
"website": [
{
"type": "Company Homepage",
"description": "Company Homepage",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/email/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
...
]
},
"error":false,
"messages":[]
}
GET /v1/website/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 WEBSITE TYPE NOT FOUND | invalid website type api_id |
200 OK
{
"data": {
"count": 1,
"website": {
"type": "Company Homepage",
"description": "Company Homepage",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/website/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error":false,
"messages":[]
}
404 WEBSITE TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Website type not found."
]
}
POST /v1/website HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 69
{
"type": "Company Website",
"description": "Company Website address"
}
| 201 CREATED | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT CREATED | error creating website type |
201 CREATED
{
"data": {
"count":1,
"result": "Website type created.",
"website": {
"type": "Company Website",
"description": "Company Website address",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/website/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT CREATED
{
"data": {},
"error": true,
"messages": [
"Unable to create website type.",
...
]
}
PUT /v1/website/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1
Content-Type: application/json
Authorization: Bearer YOUR_API_TOKEN
Host: api.membercentral.com
Content-Length: 91
{
"type": "Company Website",
"description": "Company Website address",
"position": "2"
}
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 WEBSITE TYPE NOT FOUND | website type not found |
| 417 EXPECTATION FAILED | invalid JSON body |
| 500 NOT UPDATED | unable to update website type |
200 OK
{
"data": {
"count":1,
"result": "Website type updated.",
"website": {
"type": "Company Website",
"description": "Company Website address",
"api_id": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
"x-api-uri": "/v1/website/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
}
},
"error": false,
"messages": []
}
500 NOT UPDATED
{
"data": {},
"error": true,
"messages": [
"Unable to update website type.",
...
]
}
DELETE /v1/website/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX HTTP/1.1 Authorization: Bearer YOUR_API_TOKEN Host: api.membercentral.com
| 200 OK | success |
| 401 INVALID TOKEN | invalid authorization token |
| 403 EXPIRED TOKEN | authorization token expired |
| 404 WEBSITE TYPE NOT FOUND | website type not found |
| 500 NOT UPDATED | unable to delete website type |
200 OK
{
"data": {
"result":"Website type deleted."
},
"error":false,
"messages":[]
}
404 WEBSITE TYPE NOT FOUND
{
"data": {},
"error": true,
"messages": [
"Website type not found."
]
}