The Nexudus Public API lets you implement applications that connect with the public and members areas of a Nexudus account.
As opposed to the REST API, the PUBLIC API assumes you will be making non-authenticated requests or authenticated as the end-user. I.e., you will be asking the end-user for their username and password in your application and the API will return data in the context of that user or you will be using the private API to get a token to make requests on behalf of a customer.
This works in the same exact way as the actual space website. Some pages in that website are publicly available whilst others are only available if there is a user logged in.
Important
Most methods in the Public API require your user to have, at least, one customer profile associated with it. If you are getting a 401 status error, the user you are authenticating as may not have a customer profile associated it it.
How does it work?
The Nexudus Platform PUBLIC API is implemented as JSON over HTTP/HTTPS using GET AND POST verbs. Unlike the REST API, no other verbs are allowed.
The API endpoints reflect the same exact URL as the space website. For example, if the home page of your Nexudus space website is xyz.spaces.nexudus.com, the API will have the same exact url. The way we decide whether to expect and return JSON instead of HTML is by using the Content-Type or Accept HTTP headers set to “application/json”.
For example, you can get the JSON representation of the home page by making a request as follows:
GET https://xyz.spaces.nexudus.com/en?_depth=1
{
"Gallery": [
{},
{},
{}
],
"HomeEvents": [
{}
],
"MembersSignUp": true,
"Members": [
{},
{},
{},
{},
{},
{}
],
"AllMembersByName": [
{},
{},
{},
{},
{},
{}
],
"AllMembersRandom": [
{},
{},
{},
{},
{},
{}
],
"AllMembersByDate": [],
"ChepeastPlan": {},
"ShowCheckInMembers": false,
"Services": [],
"PricePlans": [
{},
{},
{},
{}
],
"PricePlanGroups": [
"Desks",
"Offices"
],
"Products": [
{},
{},
{},
{},
{}
],
"ProductGroups": [
"Food And Drinks",
"Products",
"Stationary"
],
"ProductTags": [
[
{},
{}
],
[
{}
]
],
"HomeBlogPosts": [
{},
{},
{},
{}
],
"BannerBlogPosts": [
{},
{},
{},
{}
],
"BannerEvents": []
}