REST
aMember Pro Web API (REST)
Section titled “aMember Pro Web API (REST)”aMember Pro provides web api based on REST principles. It allows to fetch and submit information about users, products and payments. It is easy to extend and use, and we expect that list of interfaces will be extended soon.
Enabling of REST API
Section titled “Enabling of REST API”Go to aMember CP -> Configuration -> Add-ons, and enable api module. If your aMember installation has no "api" module available, you can get it for free in the members area
Once the module is enabled, scroll down and find an admin menu item Remote Api Permissions. Click New Record.
You will see a form to fill - there will be a field for your comment, a generated access key itself, and list of checkboxes describing what system calls is available for given access key. Check necessary calls and Save.
Authorization
Section titled “Authorization”You can use either request parameter _key or header X-API-Key to authorize api request
Samples
Section titled “Samples”Fetching list of users via Web API
Section titled “Fetching list of users via Web API”To try it out, open in your browser http://example.com/amember/api/users?_key=APIKEY
(of course replace example.com to your domain name where you have aMember installed).
You will see first 20 user records in JSON format and total number of users in _total variable
You can pass additional parameters to control output:
| Parameter | Description |
|---|---|
| _format | Either: json (default), xml or serialize |
| _count | Number of records per page (default: 20, max: 1000) |
| _page | Page of output (default: 0 - the first page) |
| _sort | Sort records based on a specified field |
| _order | Sort direction. Either asc (default) or desc |
| _filter[FIELDNAME] | Adds a WHERE condition for FIELDNAME. If search value contains % - it is considered as pattern for SQL LIKE expression, else SQL scondition is used. If multiple filters are provided, it will be concatenated into an SQL AND expression. |
| _nested[] | Requests to include nested records into dataset. For example, if you are accessing users database via REST, you can do it like this: http://example.com/amember/api/users?_key=APIKEY&format=xml&_nested[]=invoices&_nested[]=access It will add user's invoices and access records into output. List of available nested tables is unique to each record type. |
Adding users via Web API
Section titled “Adding users via Web API”To add a customer via Web API, you have to use HTTP POST method. There is a sample call to add a user to database:
POST /amember/api/users_key=APIKEY&login=apiadded&pass=0000&email=test@example.com&name_f=John&name_l=Smith&_format=xmlin case of success it will return added user record.
Updating users via Web API
Section titled “Updating users via Web API”To update a customer via Web API, you have to either use HTTP PUT method, or make POST and pass _method=PUT parameter with your request. There is a sample call to update a user to database:
PUT /amember/api/users/22_key=APIKEY&name_f=NewName&pass=1111in case of success it will return updated user record with first name set to "NewName" and the password set to 1111. Other user fields will be kept untouched. The following call gives the same result:
POST /amember/api/users/22_method=PUT&_key=APIKEY&name_f=NewName&pass=1111Deleting users via Web API
Section titled “Deleting users via Web API”To remove a customer via Web API, you have to either use HTTP DELETE method, or make POST and pass _method=DELETE parameter with your request. There is a sample call to add a user to database:
DELETE /amember/api/users/22_key=APIKEYin case of success it will return deleted user record as look like before deletion.
Complete examples in PHP
Section titled “Complete examples in PHP”Available REST Controllers
Section titled “Available REST Controllers”http://example.com/amember/api/users?_key=APIKEYNested Controllers:
- invoices
- access
- user-consent
User Consent
Section titled “User Consent”http://example.com/amember/api/user-consent?_key=APIKEYUser Notes
Section titled “User Notes”http://example.com/amember/api/user-notes?_key=APIKEYUser Groups
Section titled “User Groups”http://example.com/amember/api/user-groups?_key=APIKEYInvoices
Section titled “Invoices”http://example.com/amember/api/invoices?_key=APIKEYNested Controllers (all are enabled by default):
- invoice-items
- invoice-payments
- invoice-refunds
- access
Payments
Section titled “Payments”http://example.com/amember/api/invoice-payments?_key=APIKEYRefunds
Section titled “Refunds”http://example.com/amember/api/invoice-refunds?_key=APIKEYProducts
Section titled “Products”http://example.com/amember/api/products?_key=APIKEYNested Controllers:
- billing-plans
- product-product-category
Saved Forms
Section titled “Saved Forms”http://example.com/amember/api/saved-forms?_key=APIKEYAccess
Section titled “Access”http://example.com/amember/api/access?_key=APIKEYAccess Log
Section titled “Access Log”http://example.com/amember/api/access-log?_key=APIKEYAffiliate Payouts
Section titled “Affiliate Payouts”http://example.com/amember/api/aff-payouts?_key=APIKEYNested Controllers:
- aff-payout-details
Affiliate Payout Details
Section titled “Affiliate Payout Details”http://example.com/amember/api/aff-payout-details?_key=APIKEYProduct Categories
Section titled “Product Categories”http://example.com/amember/api/product-category?_key=APIKEYProduct to Category Relations
Section titled “Product to Category Relations”http://example.com/amember/api/product-product-category?_key=APIKEYCheck Access
Section titled “Check Access”That is a special controller that allows to check user access by username, e-mail address or username-password pair. It ignores described above additional parameters and accepts only parameters described here. This controller always return results in JSON format.
Check access by username, password and ip:
http://example.com/amember/api/check-access/by-login-pass-ip?_key=APIKEY&login=john&pass=1234&ip=127.0.0.1Check access by username and password:
http://example.com/amember/api/check-access/by-login-pass?_key=APIKEY&login=john&pass=1234Check access by username:
http://example.com/amember/api/check-access/by-login?_key=APIKEY&login=testCheck access by e-mail address:
http://example.com/amember/api/check-access/by-email?_key=APIKEY&email=test@example.comIn case of valid request (username/password is correct and user is found) it returns the following response:
{ "ok" : true, "name" : "Bob Smith", "subscriptions" : { 12 : "2012-04-03", 33: "2050-01-01"} // subscription expirations for products #12 and #33}In case of request failure, it returns the following response:
{ "ok" : false, "code" : 1, // from Am_Auth_Result "msg" : "Username or password is incorrect" // from Am_Auth_Result class}Send Email with restore password link:
http://example.com/amember/api/check-access/send-pass?_key=APIKEY&login=testCopyright © 2002–2026 www.amember.com. All Rights Reserved.