ReactorCX API

The ReactorCX REST API can be leveraged to integrate the functionality of ReactorCX into your applicaiton. The API serves two main purposes:

Each API describes the structure of the resource and the operations on it.

Authentication

Login

LogIn Request Example

POST /api/v1/login HTTP/1.1
Host: dev:3000
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache

username=sev%2Fadmin&password=wint00l%24s
curl -X POST \
  http://dev:3000/api/v1/login \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/x-www-form-urlencoded' \
  -d 'username=sev%2Fadmin&password=wint00l%24s'
var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/login',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/x-www-form-urlencoded' },
  form: { username: 'sev/admin', password: 'wint00l$s' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, "username=sev%2Fadmin&password=wint00l%24s");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/login")
  .post(body)
  .addHeader("content-type", "application/x-www-form-urlencoded")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/login");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "username=sev%2Fadmin&password=wint00l%24s", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
#import <Foundation/Foundation.h>

NSDictionary *headers = @{ @"content-type": @"application/x-www-form-urlencoded",
                           @"cache-control": @"no-cache" };

NSMutableData *postData = [[NSMutableData alloc] initWithData:[@"username=sev/admin" dataUsingEncoding:NSUTF8StringEncoding]];
[postData appendData:[@"&password=wint00l$s" dataUsingEncoding:NSUTF8StringEncoding]];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"http://dev:3000/api/v1/login"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/login")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/x-www-form-urlencoded'
request["cache-control"] = 'no-cache'
request.body = "username=sev%2Fadmin&password=wint00l%24s"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/login');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/x-www-form-urlencoded'
));

$request->setContentType('application/x-www-form-urlencoded');
$request->setPostFields(array(
  'username' => 'sev/admin',
  'password' => 'wint00l$s'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>

Success

{
    "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwK1hCNnZoQ240YnpCWFhIKzFsbHgyZnhmYmpTNHgxckJFRWVuTW9DcHlUKzdwbXloYWNxSzNFaHJhOFI1WTd5RFpENmFBakgrYk95a2ViTk56bzdXK2FlL2NZSXlWbGoxRU50L2pyMW5mM1Z0OEFyaTBaSEdpYmpyYXgvai9UbnZJQWFXclNJMXFvQVdVc1ZJbmY0YnArVHNvOVJTSjc1K1pRMVY1WHBxSWJWNXpIUGQ5ZzBNQndTU2I2QURsN2giLCJleHAiOjE1MDgzOTIyNzI3MTQsImlhdCI6MTUwODM2MzQ3Mn0.gjfcR6VDVQkxFJsB6dCBxY4rDETpaWlKrpPjhM4Dyr8",
    "version": "1.11.0",
    "build": "3319"
}

Fail

{
    "message": "Your login credentials were not correct. Please try again.",
    "status": 401,
    "code": 1110
}

HTTP Request

GET /api/v1/login

The ReactorCX API provides authentication through issuing security tokens which are compliant with the JWT standard.

These tokens are issued upon a login request supplied with valid credentials.

Here is the typical sequence of requests:

Content-Type: application/x-www-form-urlencoded

username=admin&password=1234562

or

Content-Type: application/json

{"username": "john_doe", "password": "MyS3cret$"}

Authorization: Bearer <valid token returned from RCX API>

Logout

Logout Example

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/myaccount/logout',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/myaccount/logout")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/myaccount/logout");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/myaccount/logout")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/myaccount/logout');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/myaccount/logout HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/myaccount/logout \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJkdFF6VHNER1cwaDR1TzE2SFlvL2JqcGo0b0dGUUs3SHRNWEFsQ2R0NVoyUWhJTFMyUzJnZ2dQKzBGTC9KeFR0M0lwQmozandSTm5wNFZQUW96R0hUSDJIZmhPK1IzdXEyU0NXdjk0SXljTTdVSytvRXZxN3pOVmwzYkh3QWhRMG9lZzBTem1TK0pKTFhETEl0aDZTbHR1V01QK0tBVGhkamNJR3FCa2FlQTh0Zlh1cncwcC9nZjhIanpxZ1pnZzciLCJleHAiOjE1MDgzOTU4Mjc1ODEsImlhdCI6MTUwODM2NzAyN30.BerLT7AtSlDYwt-Cv2JOVHBlSft0LlyzxVheROwhjj4",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/myaccount/logout")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

Success

{
    "message": "User Logged out successuflly."
}

HTTP Request

GET /api/v1/myaccount/logout

Logs out the currently logged in user for the token supplied.

Common Fields

Time Stamp

{ 
  "createAt": "2016-08-10T12:56:29.153Z",
  "updatedAt": "2016-08-10T12:56:29.153Z"
}

Each object carries standard fields that are automtaically saved with each access.

Field Type Description
createdAt Date Creation timestamp
updatedAt Date Last update timestamp

User Access

Sample User Access

{ 
  "createBy": "5512a108b7565a201ff99feb",
  "updatedBy": "5512a108b7565a201ff99feb"
}

Every object has information about the user, who created or changed the data.

Field Type Description
createdBy ObjectId ObjectId of the user who created the record.
updatedBy ObjectId ObjectId of the user who last updated the record.

Record Ownership

Sample Org Ownership

{ 
  "org": "5512a108b7565a201ff99feb"
}

Every object carries the organization to which it belongs.

Field Type Description
org ObjectId ObjectId of the organization which owns the record.

Accepted Date Formats

Date format Description
YYYY-MM-DDTHH:mm:ss.SSS+HH:MM Local date with positive UTC offset. Example: IST locale date 2018-07-08T09:30:45.654+05:30
YYYY-MM-DDTHH:mm:ss.SSS-HH:MM Local date with negative UTC offset. Example: EST locale date 2018-07-08T09:30:45.654-05:00
YYYY-MM-DDTHH:mm:ss.SSS+HHMM Local date with positive UTC offset. Example: IST locale date 2018-07-08T09:30:45.654+0530
YYYY-MM-DDTHH:mm:ss.SSS-HHMM Local date with negative UTC offset. Example: EST locale date 2018-07-08T09:30:45.654-0500
YYYY-MM-DDTHH:mm:ss.SSS Local date with out UTC offset. Example: EST locale date 2018-07-08T09:30:45.654
YYYY-MM-DD HH:mm:ss.SSS Local date with out UTC offset. Example: EST locale date 2018-07-08 09:30:45.654
YYYY-MM-DDTHH:mm:ss.SSSZ UTC date Example: 2018-07-08T09:30:45.654Z

Cache

Cache is a reserved data storage location that stores data temporarily, so that future requests for that data can be served faster.

Clear Cache

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/refreshcache?entity=Enum',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/refreshcache?entity=Enum")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/refreshcache?entity=Enum");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/refreshcache?entity=Enum")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/refreshcache?entity=Enum');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));



try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/refreshcache?entity=Enum HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X POST \
  http://dev:3000/api/v1/refreshcache?entity=Enum \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/refreshcache?entity=Enum")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

This method clears the Cache sucessfully.

HTTP Request

POST /api/v1/refreshcache

Input Arguments

Name Type Description
token string Authentication token.
entity string Entity represents the particular model.(Ex:Enum,ExtSchema)

Output Arguments

Name Type Description
status Number Status Codes.

Filters and Inclusion Params

Inclusion Params

Inclusion params is an object used to search any entity based on specified field parameters

InclusionParams Structure

Sample InclusionParams Object

{
    internalCode:{
        isIncluded:true,
        type:string,
        searchStr: "241141,241172",
        ids:null
    }
}
Field Type/Format Description
IsIncluded Boolean Boolean value which says whether the value provided in search to be included or excluded
type String Data type of the feild being searched
SearchStr String value which is searched
ids Array Object ids of the sub document references (ex: for searching mandatory rewarding segments)
isSubDoc Boolean Returned true when ids has some length

Location and Product Filters

The structure of products and Locations selection criteria within the reward policy or rule.

Field Type/Format Description
isDisabled Boolean Whether this product group has been configured.
isIncluded Boolean Whether the selection criteria is for eligible or ineligible products.
count Number Number of products satisfying the selection criteria.
inclusionParams String Selection criteria.
isORQuery Boolean Flag that determines if the specified query search would perform logical 'and' or logical 'or' operation
isWildCardSearch Boolean Performs wildcard search
query String mongodb query generated using
inclusionparamsnamedList ObjectId unique The id of the NamedList

Extension Fields

For all the data entities in this API, it is possible to define extension fields to add more information depending on the needs of the program. These fields are generally stored under a sub-document called ext within the main entity. See example on the right-hand side of a Location having an extended field.

This shows how a Location object can have an extended field managerName which lives in the ext sub-document:

{
    "number": "123",
    "name": "Store 123",
    "desc": "A sample store",
    // ...
    // other standard Location fields
    // ...

    "ext": {
        "managerName": "John Doe"
    }
}

The extensions themsevles are added via the Extension Schemas and Extension Defs routes.

Advanced Queries

QueryString arguments

Advanced query:

var token = 'eyJ0eXAiOiJKV1QiL';
var request = require('superagent');
request
    .GET('https://app.reactorcx.com/api/members?limit=20&query={"firstName":"Sid"}&skip=0')
    .set('Content-Type', 'application/json')
    .set('Authorization', 'Bearer ' + token)
    .end(function(res) {
        if (res.statusCode === 200){
            var result = JSON.parse(res.text);
        }
    });

The above command returns an array of Member objects.

Argument Example Description
/count Returns list count
/?query={query} /?query={"name":"~test"} Search by complex query
/?{field}={value} /?name=~test Search by field value
/?select={fields} /?select=name, desc Returns only desired field/s
/?distinct={fields} /?distinct=program Distinct values by field/s
/?populate={field} /?populate=program Populate referenced program
/?skip={value} /?skip=10 How many records to skip
/?sort={value} /?sort=name Sorting by field
/?sort={query} /?sort={"name":1} Sorting by complex query
/?limit={value} /?limit=10 How many records to list

Queries

Supports all operators ($regex, $gt, $gte, $lt, $lte, $ne etc.) as well as shorthands: ~, >, >=, <, <=, !=

Example Description
?query={"name":"Bob"} "name" equals "Bob"
?query={"name":{"$regex":"^(Bob)"}} "name" starts with "Bob"
?query={"name":"~^(Bob)"} "name" starts with "Bob"
?query={"balance":{"$gt":12}} "balance" is greater than 12
?query={"balance":">12"} "balance" is greater than 12
?query={"balance":{"$gte":12}} "balance" is greater than or equals 12
?query={"balance":">=12"} "balance" is greater than or equals 12
?query={"balance":{"$lt":12}} "balance" is less than 12
?query={"balance":"<12"} "balance" is less than 12
?query={"balance":{"$lte":12}} "balance" is less than or equals 12
?query={"balance":"<=12"} "balance" is less than or equals 12
?query={"balance":{"$ne":12}} "balance" is not equals 12
?query={"balance":"!=12"} "balance" is not equals 12

Select

Example Description
?select=name Will return "name"
?select=-name Will not return "name"
?select={"name":1} Will return "name"
?select={"name":0} Will not return "name"

Distinct

Example Description
?distinct=name Select distinct values for "name" field

Pre-processing

Request body can be preprocessed to evalute if any dynamic lookups or autoincrement defintions are present

The pre-processing can be done only for the following request methods

[POST, PATCH, PUT]

Also, to run pre-processing a query param is required

?preprocess=true

Lookups

Dynamic lookups are used to get the required data from DB and then use the returned result as value of the corresponding field.

Below definition will return a the value of field "_id" from model "Org" using the provided keys and the returned value will be used as the value of "org".

"org": {
    "lookup": {
        "model": "Org",
        "keys": {"name": "sev"},
        "select": ["_id"]
    }
}

// After processing, the above object will be modified to
"org": "5c04aed2cc79aa00633a2f7b"

Similarly if there are multiple "select" fields it will return an object.

"org": {
    "lookup": {
        "model": "Org",
        "keys": {"name": "sev"},
        "select": ["_id", "name"]
    }
}

// This will be converted to a object
"org": {
    "_id": "5c04aed2cc79aa00633a2f7b",
    "name": "sev"
}

If lookup does not return any data, default value will be used.

"org": {
    "lookup": {
        "model": "Org",
        "keys": {"name": "invalid org"},
        "select": ["_id", "name"],
        "default": "5c04aed2cc79aa00633a2f7b"
    }
}

// value of org is default value
"org": "5c04aed2cc79aa00633a2f7b"
Key Description Mandatory
lookup Lookup definition root Yes
lookup.model Model name to query Yes
lookup.keys same as mongodb "AND" query Yes
lookup.select fields to select, if more than one field is given then the returned value will be object. Yes
lookup.default if lookup does not returns any data, this default value will be used. No

AutoIncrement

AutoIncrement gets the next sequence value

Below definition will modify the given object to the next sequence value of member-customer-key.

"CUSTOMER_KEY": {
    "autoIncrement": {
        "seqName": "member-customer-key",
        "type": "string"
    }
}

// This will modify above object to its next sequence value.
// Assuming its the begining of sequence, it will return 2
"CUSTOMER_KEY": 2
Key description Mandatory
autoIncrement AutoIncrement definition root Yes
autoIncrement.seqName Sequence name to get next value (Has to be a valid value from enum) Yes
autoIncrement.type Data type of the field to which the sequence value is being set. Required only when the data type is string No

Error Handling

The RCX API is REST based and will return the standard HTTP codes as they apply to the processing.

Success Status Codes

HTTP Status codes, used from RCX API on success, along with any relevant JSON output (e.g. newly created object, etc.):

Code Description
200 Success -- The request succeeded.
201 Created -- A new resource was successfully created (e.g. using POST)
202 Accepted -- A new request is accepted for processing on the server (but is not complete).
204 No Content -- The request succeeded and no response was necessary. (e.g. using DELETE)

Error Structure and Status Codes

Sample Error Object

{ 
  "code": 1500,
  "message": "Resource not found.",
  "status": 404
}

When an error object is returned, it is represented by a JSON object as follows:

Field Description
code An RCX applicaiton error code (e.g. 1500) indicating the type of error (e.g. Insufficient points).
message A description of the error and why it occurred.
status A copy of the HTTP status code

HTTP Status codes, used from RCX API on error:

Code Description
400 Bad Request -- The request could not be understood by the server due to malformed syntax, missing or invalid parameters.
401 Unauthorized -- The request requires user authentication. Please ensure you have included Authorization heather with a JWT Bearer token returned from authentication.
403 Forbidden -- You are not granted to access the requested data. This is usually due to permissions not being available to the user identified in Authorization token. Please check with your RCX admin to ensure you have enough permissions to perform the action you are attempting.
404 Not Found -- The resource URI you are trying to access is not found. Please ensure you have specified the correct _id for the object you are trying to access, and ensure your URL is correct.
405 Method Not Allowed -- You tried to send a HTTP request with an invalid method for the resource you are trying to access.
406 Not Acceptable -- You requested a content type that isn’t application/json. The RCX API only produces applicaiton/json responses.
410 Gone -- The requested data has been removed from our servers.
422 Unprocessable Entity - the JSON sent over in a request is not valid and can not be processed.
500 Internal Server Error -- The server was unable to process the request due to an unexpected internal condition.
503 Service Unavailable -- The server is unavailable and the request should be retried later.

Common Error Types

There are certain kinds of errors, such as validation errors, and database errors that can be returned by many APIs. We will describe these common errors here and refer to them from each API that can return these errors. There is an Error Reference at the end of this API document that lists all the different categories of errors in the system and their messages.

Validation Errors

Sample Validation Error

{
    "message": "Validation Error",
    "status": 422,
    "errors": [
            {
                "message": "Path `type` is required.",
                "path": "type",
                "kind": "required",
            }
        ]
    },
    "code": 1200
}

Submitting JSON objects to the API within a request body will result in validation of the inputs, and can produce errors when the inputs are invalid or missing.

A validation error has the following fields:

Field Description
code 1200
message Validation Error
status 422
errors An array consisting of all fields that were in error
errors.[].message The error for the specific field that was not valid.
errors.[].kind The kind of error that occured on a specific field (e.g. required)
errors.[].path The path of the field inside the JSON document

System Errors

System errors are related to unrecoverable conditions that are beyond applicaiton problems. These errors have the following fields:

Field Description
code 1300
status 500
message Database Error #
error An underlying infrastructure-specific error object giving more details about the nature of the problem.

Accrual Items

This API is compliant with the query interface described in Advanced Queries.

Accrual items are the smallest blocks of points that are awarded for a given activity. Each action awarding points to a purse will result in a separate accrual item. The accrual items also tracks expiration, escrow and how points are used during point redemptions.

Note: While technically possible, you should never change/create/delete accrual items directly, as this will affect system integrity. Special permissions are required for any operations other than reading.

Accrual Item Structure

{
    "rule": "59deecd6584b770052ac2b9a",
    "member": "59df84e2bc4f61095c84add2",
    "activity": "59df8524900914005c86c458",
    "purse": "59df84e2bc4f61095c84add4",
    "purseName": "Free Drink Points",
    "program": "59de86b7584b770052aaacaf",
    "accruedPoints": 2,
    "burnedPoints": 0,
    "availablePoints": 2,
    "dtEarned": "2017-06-18T18:56:41.615Z",
    "dtExpiresOn": "2017-06-18T18:56:41.615Z",
    "dtEscrowsOn": "2017-06-18T18:56:41.615Z",
    "hasExpired": false,
    "hasEscrowed": true,
    "hasBurned": false,
    "_id": "59df8524900914005c86c45f",
    "createdAt": "2017-10-12T15:07:16.343Z",
    "updatedAt": "2017-10-12T15:07:16.343Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df"
}
Field Type/Format Description
_id hexadecimal DB record’s ID.
accruedPoints integer accured points
activity hexadecimal parent activity
availablePoints integer avalible points for redemption
burnedPoints integer burned points
dtEarned String Date when earned
dtEscrowsOn String Date when escrows
dtExpiresOn String Date when expires
hasBurned bool is the accrual burned
hasEscrowed bool is the accrual escrowed in
hasExpired bool is the accrual expired
purse hexadecimal _id of the Purse which has the accrual item.
purseName hexadecimal _id of the Purse which has the accrual item.
program hexadecimal _id of the Program that this accrual item was generated from.
member hexadecimal required _id of the Member for which the accrual was generated.
rule hexadecimal the _id of the Rule which awarded the accrual item.

The object contains common fields

Read all Accrual Items

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/accrualitems',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/accrualitems")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/accrualitems");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/accrualitems")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/accrualitems');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/accrualitems HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/accrualitems \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/accrualitems")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Accrual Item objects.

This methods returns all accrualitems in the system.

HTTP Request

GET /api/v1/accrualitems

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
accrualitems Array set of Accrual Item objects
status Number Status Codes.

Read Accrual Item by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/accrualitems/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/accrualitems/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/accrualitems/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/accrualitems/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/accrualitems/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/accrualitems/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/accrualitems/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/accrualitems/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Accrual Item object.

This method returns the specified accrual item.

HTTP Request

GET /api/v1/accrualitems/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Accrual Item structure.
token string Authentication token.

Output Arguments

Name Type Description
accrual item JSON Accrual Item object
status Number Status Codes.

Activity

An Activity is an object which represents a customer action on any channel. This includes, but is not limited to:

An Activity is the vehicle for driving all RCX engagement. In order to feed RCX with any new information about engagement interactions with customers, you need to post Activities that reflect these interactions and trigger various rules and mechanisms within the system in response.

Activity Structure

Sampe Activity Object

{
    "type":           "Accrual",
    "date":           "06/20/2015 18:56:09",
    "srcChannelType": "web",
    "srcChannelID":   "String",
    "value":          10,
    "currencyCode":   "USD",
    "loyaltyID":      "8504858682",
    "lineItems": [
        {
            "lineNo": 1,
            "itemPrice": "10",
            "itemSKU": "9856325896523",
            "quantity": 1,
            "itemAmount": 3,
            "itemUOM": "each"
        }
    ],
    "tenderItems": [
        {
            "itemNo": "3695258962",
            "lineNo": 1,
            "type": "VISA",
            "value": "10"
        }
    ]
}
Field Type Description
_id hexadecimal The unique id of the Activity.
type String Indicates what is being done on the customer-facing channel - e.g. Accrual, Redemption, Cancellation, etc. The valid values can be extended through Enums with type=ActivityType.
date String The date when the activity occured in GMT timezone. This is not necessarily the same as the current date/time, as we can retroactively post activities as well. Date Formats
status String Activity Status. Could be one of Processed, Error, or Cancelled.
srcChannelType String Source channel type. Indicates on which channel activity originated - e.g. POS, Web, Mobile, etc. The valid values can be extended through Enums with type=ChannelType.
srcChannelID String Location name. This is the Location name that could be a store number, for example.
value Integer The total transaction value of the activity. This could be dollars or points, depending on how the program is setup. The default is a sum of the itemPrice*itemQuantity for all Line Items present in the activity.
currencyCode String Currency Code. ex: 'USD', 'JPY'
loyaltyID String A valid loyalty id which can be looked up to find out which Member is submitting the Activity.
referralCode String Referral Code. This should correspond to the code field in the Refferal for a Member
lineItems Array A set of Line Items indicating what was purchased.
tenderItems Array A set of Tender Items indicating how the customer paid.
couponCode String Coupon code. A coupon code to be applied to the activity. (Deprecated)
partnerCode String Partner code. If this Activity is being posted through a coalition partner, this should correspond to the code field of Partner.
referredMember Boolean Referred Member. Whether this activity is posted for a referred member. (e.g. referral bonus)
memberID ObjectId The _id field from Member. Activities can be submitted directly without a Loyalty ID if we know this value.
originalMemberID ObjectId Member id by whom activity was originally inititated. This is needed for pooling - it is possible that a Loyalty ID is designated to accrue points to a pooled member (e.g. a Charity), in which case originalMemberID will contain the original member who performed the activity, even though the memberID will refect the pooled member.
originalTxnId ObjectId original Transaction Id. In case of a Cancellation, this is the _id field of the Activity which was cancelled by the current Activity.
externalTxnId String external Transaction Id. This is used to allow submitting transactions with external ids, possibly asynchronously, and then using that external ID to query processing status.
result JSON Result object with data, errors and log sub-objects. An Acivity is processed and any results from this processing are returned to the REST caller and also stored in the result section. This includes an execution Log, any Errors, and any Data returned by actions in the Activity.
result.log Array The log is an array of objects, containing internal logs that are useful for debugging.
result.errors Array The errors that were found during processing of the activity will be logged in this array. Please see Error Handling to see the structure of errors.
result.data JSON These are the results of processing the activity. The mandatory fields are activityId and status which mirror the _id and status. This data section also contains any dynamic properties added via rule engine rules that were configured for a program.
program ObjectId Program ObjectId
location Mixed Record from the location collection
locationId ObjectId Location ObjectId
coupon Object Record selected by using coupon code given in activity from the Offers or Rewards collection .
currentRule Object Record from rules collection
utcOffset Number Difference in minutes from Universal Time (UTC) for a particular place
oplogTS Number opLog time stamp on the mongoDB
bestOffers Mixed An array of reward policies applied while processing the activity. Populates limited data related to the applied reward policies from offers and rewards collection. Refer to Offer Structure/Reward Structure for more details.
partner Mixed Populates partner information. Refer to Partner Structure for more details
ruleMatch Array An array of rules applied while processing the activity. Refer to Rule Match Structure

Line Item Structure

LineItems represent products and quantities purchased within a specific activity. Normally only an itemSKU is represented in line items, however, within Activity processing rules, we can execute a Lookup Product action to load the associated Product details from the product catalog for htis line item.

Sample Line Item

{
    "lineNo": 1,
    "quantity": 10,
    "itemSKU": "3421313123213",
    "itemPrice": 12,
    "itemAmount": 3,
    "itemUOM": "each"
}
Field Type/Format Description
_id String id of the item
itemPrice integer The price of a single item
itemSKU String Stock Keeping Unit number. This will match the sku field of Product.
quantity integer The quantity of the item
type String Line Item Type
lineNo Number Line Order Number
product JSON Associated Product. This field is populated if we have performed a Lookup Products action within the rules of the program.
couponCode String Optional coupon to be applied directly to the item.
offerId hexadecimal Reward/Offer id.
itemAmount Number The total value of an item. The default is itemPrice*itemQuantity.
itemUOM String Item units of measurement. This is validated against Enums (Type = SalesUOM)
discountAmount Number Pre-applied line item discount.
coupon Object Populates applied reward policy from offers or rewards collection with limited data. Refer to Offer Structure/Reward Structure for more details.
productId ObjectId Unique code of the product.

The object contains common fields

Tender Item Structure

TenderItem represents a payment made with a specific tender. It is possible that multiple tender items are associated with the same parent Activity to reflect a split-payment for the ticket.

Sample Tender Item

{
    "lineNo": 1,
    "type": "VISA",
    "subType": "Gift Card",
    "itemNo": "123",
    "value": 123,
    "createdAt": "2015-06-08T17:39:53.749Z",
    "updatedAt": "2015-06-08T17:39:53.749Z",
}
Field Type/Format Description
type String Type of tender item.
subType String Sub type of tender item.
value Integer Amount of currency for paying
_id String Id of the item
itemNo String Item number - this can be used to store a credit card hash, or an SVC number.
lineNo String Line number

The object contains common fields

Post Activity

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/activity',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ' },
  body: 
   { date: '2017-10-27T22:38:00.000Z',
     externalTxnId: '123',
     loyaltyID: '12345678',
     srcChannelID: 'Corporate',
     srcChannelType: 'Web',
     type: 'Accrual',
     value: '2',
     currencyCode: 'USD',
     lineItems: [ { itemPrice: 2, itemSKU: 'Sku-13', quantity: 1, itemAmount: 3, itemUOM: 'each' } ],
     tenderItems: [ { lineNo: 1, type: 'VISA', subType: 'Gift Card', value: '2' } ] },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"date\": \"2017-10-27T22:38:00.000Z\",\n  \"externalTxnId\": \"123\",\n  \"loyaltyID\": \"12345678\",\n  \"srcChannelID\": \"Corporate\",\n  \"srcChannelType\": \"Web\",\n  \"type\": \"Accrual\",\n  \"value\": \"2\",\n \"currencyCode\": \"USD\",\n \"lineItems\": [\n    {\n      \"itemPrice\": 2,\n      \"itemSKU\": \"Sku-13\",\n      \"quantity\": 1,\n \"itemAmount\": 2,\n \"itemUOM\":\"each\" \n    }\n  ],\n  \"tenderItems\": [\n    {\n      \"lineNo\": 1,\n      \"type\": \"VISA\",\n  \"subType\": \"Gift Card\",\n    \"value\": \"2\"\n    }\n  ]\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/activity")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/activity");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ");
request.AddParameter("application/json", "{\n  \"date\": \"2017-10-27T22:38:00.000Z\",\n  \"externalTxnId\": \"123\",\n  \"loyaltyID\": \"12345678\",\n  \"srcChannelID\": \"Corporate\",\n  \"srcChannelType\": \"Web\",\n  \"type\": \"Accrual\",\n  \"value\": \"2\",\n \"currencyCode\": \"USD\", \n  \"lineItems\": [\n    {\n      \"itemPrice\": 2,\n      \"itemSKU\": \"Sku-13\",\n      \"quantity\": 1,\n \"itemAmount\": 2,\n \"itemUOM\":\"each\"\n    }\n  ],\n  \"tenderItems\": [\n    {\n      \"lineNo\": 1,\n      \"type\": \"VISA\",\n  \"subType\": \"Gift Card\",\n    \"value\": \"2\"\n    }\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/activity")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n  \"date\": \"2017-10-27T22:38:00.000Z\",\n  \"externalTxnId\": \"123\",\n  \"loyaltyID\": \"12345678\",\n  \"srcChannelID\": \"Corporate\",\n  \"srcChannelType\": \"Web\",\n  \"type\": \"Accrual\",\n  \"value\": \"2\",\n  \"currencyCode\": \"USD\", \n \"lineItems\": [\n    {\n      \"itemPrice\": 2,\n      \"itemSKU\": \"Sku-13\",\n      \"quantity\": 1,\n \"itemAmount\": 2,\n \"itemUOM\":\"each\"\n    }\n  ],\n  \"tenderItems\": [\n    {\n      \"lineNo\": 1,\n      \"type\": \"VISA\",\n  \"subType\": \"Gift Card\",\n    \"value\": \"2\"\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
POST /api/v1/activity HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ
Content-Type: application/json
Cache-Control: no-cache

{
  "date": "2017-10-27T22:38:00.000Z",
  "externalTxnId": "123",
  "loyaltyID": "12345678",
  "srcChannelID": "Corporate",
  "srcChannelType": "Web",
  "type": "Accrual",
  "value": "2",
  "currencyCode": "USD",
  "lineItems": [
    {
      "itemPrice": 2,
      "itemSKU": "Sku-13",
      "quantity": 1,
      "itemAmount": 2,
      "itemUOM": "each"
    }
  ],
  "tenderItems": [
    {
      "lineNo": 1,
      "type": "VISA",
      "subType": "Gift Card",
      "value": "2"
    }
  ]
}
curl -X POST \
  http://dev:3000/api/v1/activity \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
  "date": "2017-10-27T22:38:00.000Z",
  "externalTxnId": "123",
  "loyaltyID": "12345678",
  "srcChannelID": "Corporate",
  "srcChannelType": "Web",
  "type": "Accrual",
  "value": "2",
  "currencyCode": "USD",
  "lineItems": [
    {
      "itemPrice": 2,
      "itemSKU": "Sku-13",
      "quantity": 1,
      "itemAmount": 2,
      "itemUOM": "each"
    }
  ],
  "tenderItems": [
    {
      "lineNo": 1,
      "type": "VISA",
      "subType": "Gift Card",
      "value": "2"
    }
  ]
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
  "date": "2017-10-27T22:38:00.000Z",
  "externalTxnId": "123",
  "loyaltyID": "12345678",
  "srcChannelID": "Corporate",
  "srcChannelType": "Web",
  "type": "Accrual",
  "value": "2",
  "currencyCode": "USD",
  "lineItems": [
    [
      "itemPrice": 2,
      "itemSKU": "Sku-13",
      "quantity": 1,
      "itemAmount": 2,
      "itemUOM": "each"
    ]
  ],
  "tenderItems": [
    [
      "lineNo": 1,
      "type": "VISA",
      "subType": "Gift Card"
      "value": "2"
    ]
  ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/activity")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns JSON structured like this:

{
    "result": {
        "log": [
          {
              "action": "addPoints",
              "results": {
                  "_id": "56c1db8a499223daf6733c51",
                  "accruals": [
                      {
                          "_id": "56cdb039521b11e11eea8d9b",
                          "accruedPoints": 100,
                          "activity": "56cdb039521b11e11eea8d9a",
                          "availablePoints": 100,
                          "burnedPoints": 0,
                          "dtEarned": "2016-02-24T13:29:29.893Z",
                          "dtEscrowsOn": "2016-02-24T13:29:29.893Z",
                          "dtExpiresOn": "2016-09-11T13:29:29.893Z",
                          "hasBurned": false,
                          "hasEscrowed": true,
                          "hasExpired": false,
                          "purse": "56c1db8a499223daf6733c51",
                          "rule": "555888246efe787017692369"
                      }
                  ],
                  "availBalance": 41009,
                  "balance": 41009,
                  "escrowsIn": 0,
                  "expiredPoints": 0,
                  "expiresIn": 200,
                  "name": "Retail Points Purse",
                  "overdraftLimit": 0,
                  "primary": true,
                  "program": "555884a16efe787017692315",
                  "updatedAt": "2016-02-24T13:29:15.113Z"
              }
              "rule": "555888246efe787017692369",
              "time": "2016-02-24T13:29:29.898Z",
              "type": "addPoints"
          }
       ],
       "errors": [],
       "data": {}
    }
}

This method posts an Activity to the RCX API to be processed. The result is composed of 3 items:

HTTP Request

POST /api/v1/activity/?filter=all

Input Arguments

Name Type Description
token string Authentication token.
activity JSON Activity object
filter string Allows control over how much data to return - by default RCX will return three sections - execution log, errors and data. Use log, errors, data to filter out only the sections of interest.
persist Boolean Provided as a query parameter to avoid storing activities in history which we do not wish to track. (default: true)

Output Arguments

Name Type Description
member JSON Member object
result JSON Result with Data, Errors and Log (details about the rule that has been executed and objects that it involves) sub-objects.
status Number Status Codes.

Cancel Activity

To cancel an activity, post a cancellation activity using this request.

Example Cancelling Activity

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/activity/59de93dd584b770052aab5e7/cancel',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ' },
  body: 
   { 
    type: 'Redemption',
    value: 29,
    couponCode: 'cancelling activity'
   };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"type\": \"Redemption\",\n \"couponCode\": \"cancelling activity\",\n \"value\": \"29\"\n    }\n  ]\n}");

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/activity/59de93dd584b770052aab5e7/cancel")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/activity/59de93dd584b770052aab5e7/cancel");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ");
request.AddParameter("application/json", "{\n  \"type\": \"Redemption\",\n \"couponCode\": \"cancelling activity\",\n \"value\": \"29\"\n    }\n  ]\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/activity/59de93dd584b770052aab5e7/cancel")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n  \"type\": \"Redemption\",\n \"couponCode\": \"cancelling activity\",\n \"value\": \"29\"\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/activity/59de93dd584b770052aab5e7/cancel');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ'
));

$request->setBody('{ 
  "type": "Redemption",
  "value": 29,
  "couponCode": "cancelling activity"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/activity/59de93dd584b770052aab5e7/cancel HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ
Content-Type: application/json
Cache-Control: no-cache

{ 
  "type": "Redemption",
  "value": 29,
  "couponCode": "cancelling activity"
}
curl -X POST \
  http://dev:3000/api/v1/activity/59de93dd584b770052aab5e7/cancel \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
  -d '{ 
    "type": "Redemption",
    "value": 29,
    "couponCode": "cancelling activity"
  }'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBdHZxSzlYcSsvUDVHSkFkSXJBSW5ENXN2VVZtM3kzL3dzSXAyZEdFWG14ZmJweWdUTmZiTG9LWHlLZkV6OGlhV1gwQnVzYWsrWnFybklyVFk3eDVBZzk0dmRDSmVLVVByczJwbzZSWWdOUHJrZkF6MnRqcU9wcGxlcmMvMkkwLzBLemZQUitlWG5VRmtJVng0V0FsSlo2WTA5anpoNkQ5QlphYjFoOEF5MkNNdVlia1VqRGhISlJPbkFHSm41bHEiLCJleHAiOjE1MDk2Njg0MjM4MjcsImlhdCI6MTUwOTYzOTYyM30.-mgc8FqjiXpLPV5mnKvdukEiZAMKsldgECd7HFBAaHQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let parameters = [
  "type": "Redemption",
  "value": 29,
  "couponCode": "cancelling activity"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/activity/59de93dd584b770052aab5e7/cancel")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Member object which also contains a set of Activity objects.

{
   "log": {},
   "data": {
     "activityId": "... the _id of the cancellation activity created...",
     "status": "Processed"
   },
   "errors": []
}

HTTP Request

POST /activity/:id/cancel

Input Arguments

Name Type Description
token String Authentication token.
id ObjectId Activity _id field
query JSON Object Query to select activityHistories to be cancelled.
activity JSON Object These key value pairs are used while creating cancel activity.
memberId ObjectId Used to identify unique record from API.
validate JSON Object validate object is passed as query parameter to validate the activity before cancellation.

Output Arguments

Name Type Description
results JSON An object which contains an execution log, errors and data. The data section includes activityId and status which indicate the newly created cancellation activity and its processing status.
status Number Status Codes.

Activity Histories

This API is compliant with the query interface described in Advanced Queries.

ActicityHistory is a record of all Activities posted for a member, whether they triggered rules or not.

Activity History Structure

{
    // the json for this is the same as [Activity](#activity-structure)
}

The format for ActivityHistory is based on Activity format.

The object contains common fields

Read all Activity Histories

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/activityhistories',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/activityhistories")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/activityhistories");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/activityhistories")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/activityhistories');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/activityhistories HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/activityhistories \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/activityhistories")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Activity History objects.

This methods returns all activityhistories in the system.

HTTP Request

GET /api/v1/activityhistories

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
activityhistories Array set of Activity History objects
status Number Status Codes.

Read Activity History by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/activityhistories/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/activityhistories/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/activityhistories/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/activityhistories/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/activityhistories/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/activityhistories/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/activityhistories/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/activityhistories/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Activity History object.

This method returns the specified activity history.

HTTP Request

GET /api/v1/activityhistories/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Activity History structure.
token string Authentication token.

Output Arguments

Name Type Description
activity history JSON Activity History object
status Number Status Codes.

Accounts

Accounts represent the multi-program membership of a member.

Account Structure

Sample Account object

{
    "_id" : "6087ba67afc91c0040e18dde",
    "members" : [ 
        {
            "member" : "60839af3e3b54d0040b0daec",
            "program" : "60828b1be76d4100402cd503"
        }, 
        {
            "member" : "6087ba67afc91c0040e18ddf",
            "program" : "602467f37823d3015cd8cfef"
        }
    ],
    "org" : "60245bec85c63e012653b3fd",
    "activeMember" : "6087ba67afc91c0040e18ddf",
    "createdAt" : "2021-04-27T07:16:55.436Z",
    "updatedAt" : "2021-04-27T07:16:55.436Z",
    "createdBy" : "60245bec85c63e012653b3fc",
    "updatedBy" : "60245bec85c63e012653b3fc"
}
Field Type/Format Defaults Description
_id ObjectId readonly Unique value for every record
members Array Set of array objects contains the ids of member and the program associated with it
activeMember ObjectId the _id of the active member

The object contains common fields

Read all Accounts

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/accounts',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/accounts")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/accounts");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/accounts")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/accounts');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/accounts HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/accounts \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/accounts")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Accounts objects.

HTTP Request

GET /api/v1/accounts/

This method retrieves all accounts from the API. The result is always an array.

If there are no accounts, the result will be an empty array

A search can be performed by using Advanced Queries, based on account's structure.

Input Arguments

Name type Description
token String Used to identify the user to the API.

Output Arguments

Name Type Description
accounts Array a set of accounts.
status Number Status Codes.

Read Account by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/accounts/59de93dd584b770052aab5e7 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a single Account object.

HTTP Request

GET /api/v1/accounts/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId Used to identify unique record from API, referenced to "_id" field from account`s structure.

Output Arguments

Name Type Description
account JSON Account object retrieved based on the id passed with account's structure.
status Number Status Codes.

Read Account by Member ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/accounts/member/59de93dd584b770052aab5e9',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/accounts/member/59de93dd584b770052aab5e9")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/accounts/member/59de93dd584b770052aab5e9");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/accounts/member/59de93dd584b770052aab5e9")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/accounts/member/59de93dd584b770052aab5e9');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/accounts/member/59de93dd584b770052aab5e9 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/accounts/member/59de93dd584b770052aab5e9 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/accounts/member/59de93dd584b770052aab5e9")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a single Account object.

HTTP Request

GET /api/v1/accounts/member/:memberid

Input Arguments

Name Type Description
token string Authentication token.
memberid ObjectId Used to identify unique record from API, referenced to "members.member" field from account`s structure.

Output Arguments

Name Type Description
account JSON Account object retrieved based on the memberid passed with account's structure.
status Number Status Codes.

Read Total Purse Points of Members in an Account

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/accounts/totalpoints/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the total points of all the members of an account for a particular purse policy

HTTP Request

GET /api/v1/accounts/totalpoints/:accountid/:purseid

Input Arguments

Name Type Description
token string Authentication token.
accountid ObjectId Used to identify unique record from API, referenced to "_id" field from account`s structure.
purseid ObjectId Used to identify unique record from API, referenced to "policyId" field from purse policies`s structure.

Output Arguments

Name Type Description
points Number Returns the total points of all the members of an account for a particular purse policy
status Number Status Codes.

Read Maximum Tier Level of Members in an Account

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/accounts/maxtier/59de93dd584b770052aab5e7/59de93dd584b770052aab5e2")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the member with maximum tier level of all the members in the account

HTTP Request

GET /api/v1/accounts/maxtier/:accountid/:tierid

Input Arguments

Name Type Description
token string Authentication token.
accountid ObjectId Used to identify unique record from API, referenced to "_id" field from account`s structure.
tierid ObjectId Used to identify unique record from API, referenced to "policyId" field from tier policies`s structure.

Output Arguments

Name Type Description
tier Object Tier object from member
status Number Status Codes.

Create Account

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/accounts',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' },
  body: 
    {
        members: [
            {
                member: "60829bd5f9244c003f3ea0cd",
                program: "60828b1be76d4100402cd503"
            },
            {
                member: "6087bfcfafc91c0040e18df9",
                program: "602467f37823d3015cd8cfef"
            }
        ],
        activeMember: "6087bfcfafc91c0040e18df9"
    },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\"members\":[{\"member\":\"60829bd5f9244c003f3ea0cd\",\"program\":\"60828b1be76d4100402cd503\"},{\"member\":\"6087bfcfafc91c0040e18df9\",\"program\":\"602467f37823d3015cd8cfef\"}],\"activeMember\":\"6087bfcfafc91c0040e18df9\"}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/accounts")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/accounts");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.AddParameter("application/json", "{\"members\":[{\"member\":\"60829bd5f9244c003f3ea0cd\",\"program\":\"60828b1be76d4100402cd503\"},{\"member\":\"6087bfcfafc91c0040e18df9\",\"program\":\"602467f37823d3015cd8cfef\"}],\"activeMember\":\"6087bfcfafc91c0040e18df9\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/accounts")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\"members\":[{\"member\":\"60829bd5f9244c003f3ea0cd\",\"program\":\"60828b1be76d4100402cd503\"},{\"member\":\"6087bfcfafc91c0040e18df9\",\"program\":\"602467f37823d3015cd8cfef\"}],\"activeMember\":\"6087bfcfafc91c0040e18df9\"}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/accounts');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

$request->setBody('{
        members: [
            {
                member: "60829bd5f9244c003f3ea0cd",
                program: "60828b1be76d4100402cd503"
            },
            {
                member: "6087bfcfafc91c0040e18df9",
                program: "602467f37823d3015cd8cfef"
            }
        ],
        activeMember: "6087bfcfafc91c0040e18df9"
    }');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/accounts HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
    members: [
        {
            member: "60829bd5f9244c003f3ea0cd",
            program: "60828b1be76d4100402cd503"
        },
        {
            member: "6087bfcfafc91c0040e18df9",
            program: "602467f37823d3015cd8cfef"
        }
    ],
    activeMember: "6087bfcfafc91c0040e18df9"
}
curl -X POST \
  http://dev:3000/api/v1/accounts \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
        members: [
            {
                member: "60829bd5f9244c003f3ea0cd",
                program: "60828b1be76d4100402cd503"
            },
            {
                member: "6087bfcfafc91c0040e18df9",
                program: "602467f37823d3015cd8cfef"
            }
        ],
        activeMember: "6087bfcfafc91c0040e18df9"
    }'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [

    members: [
        {
            member: "60829bd5f9244c003f3ea0cd",
            program: "60828b1be76d4100402cd503"
        },
        {
            member: "6087bfcfafc91c0040e18df9",
            program: "602467f37823d3015cd8cfef"
        }
    ],
    activeMember: "6087bfcfafc91c0040e18df9"

] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/accounts")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the newly created Account object.

HTTP Request

POST /api/v1/accounts

This method will create a new Account object.

Input Arguments

Name Type Description
newAccount JSON New record to add to RCX API with account's structure.
token string Authentication token.

Output Arguments

Name Type Description
account JSON New data to save in RCX API with account's structure.
status Number Status Codes.
var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/accounts/unlink?query={"members.memberId":"60829bd5f9244c003f3ea0cd"}',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' }
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/accounts/unlink/query={'members.memberId':'60829bd5f9244c003f3ea0cd'}")
  .post()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/accounts/unlink/query={'members.memberId':'60829bd5f9244c003f3ea0cd'}");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/accounts/unlink/query={'members.memberId':'60829bd5f9244c003f3ea0cd'}")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/accounts/unlink/query={"members.memberId":"60829bd5f9244c003f3ea0cd"}');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/accounts/unlink/query={"members.memberId":"60829bd5f9244c003f3ea0cd"} HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
    members: [
        {
            member: "60829bd5f9244c003f3ea0cd",
            program: "60828b1be76d4100402cd503"
        },
        {
            member: "6087bfcfafc91c0040e18df9",
            program: "602467f37823d3015cd8cfef"
        }
    ],
    activeMember: "6087bfcfafc91c0040e18df9"
}
curl -X POST \
  http://dev:3000/api/v1/accounts/unlink/query={"members.memberId":"60829bd5f9244c003f3ea0cd"} \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
        members: [
            {
                member: "60829bd5f9244c003f3ea0cd",
                program: "60828b1be76d4100402cd503"
            },
            {
                member: "6087bfcfafc91c0040e18df9",
                program: "602467f37823d3015cd8cfef"
            }
        ],
        activeMember: "6087bfcfafc91c0040e18df9"
    }'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [

    members: [
        {
            member: "60829bd5f9244c003f3ea0cd",
            program: "60828b1be76d4100402cd503"
        },
        {
            member: "6087bfcfafc91c0040e18df9",
            program: "602467f37823d3015cd8cfef"
        }
    ],
    activeMember: "6087bfcfafc91c0040e18df9"

] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/accounts/unlink/query={'members.memberId':'60829bd5f9244c003f3ea0cd'}")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
{
    "status": "success"
}

The above command returns the status of member unlink.

This method will remove account based on the memberId passed in query only if the account has 2 members associated with it. In case of more than 2 members we are removing the memberId object from account. If the removed memberId is activeMember we are changing it to first member in members array.

HTTP Request

POST /api/v1/accounts/unlink

Input Arguments

Name Type Description
token string Authentication token.
query JSON Object The query is used to search account for given member Ex: query = {'members.memberId': '60829bd5f9244c003f3ea0cd'

Output Arguments

Name Type Description
res JSON {"status": "success"}.
status Number Status Codes

Update Account by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' },
  body: { activeMember: '59de93dd584b770052aab5e9' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"activeMember\": \"59de93dd584b770052aab5e9\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.AddParameter("application/json", "{\n\t\"activeMember\": \"59de93dd584b770052aab5e9\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n\t\"activeMember\": \"59de93dd584b770052aab5e9\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

$request->setBody('{
    "activeMember": "59de93dd584b770052aab5e9"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/accounts/59de93dd584b770052aab5e7 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
    "activeMember": "59de93dd584b770052aab5e9"
}
curl -X PUT \
  http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "activeMember": "59de93dd584b770052aab5e9"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = ["activeMember": "59de93dd584b770052aab5e9"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/accounts/59de93dd584b770052aab5e7")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the updated Account object.

This method will update sent fields with the new values.

HTTP Request

PUT /api/v1/accounts/:id

Input Arguments

Name Type Description
token string Authentication token.
account JSON Fields within the account that need to be updated
id ObjectId The _id field of the Account that needs to be updated

Output Arguments

Name Type Description
account JSON The newly updated Account
status Number Status Codes

Delete Account by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/accounts/59df84e2bc4f61095c84ada5',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/59df84e2bc4f61095c84ada5")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/accounts/59df84e2bc4f61095c84ada5");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/accounts/59df84e2bc4f61095c84ada5")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/accounts/59df84e2bc4f61095c84ada5');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/accounts/59df84e2bc4f61095c84ada5 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/accounts/59df84e2bc4f61095c84ada5 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/accounts/59df84e2bc4f61095c84ada5")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

HTTP Request

DELETE /api/v1/accounts/:id

This method deletes one account identified by _id.

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId The _id field of the Account that needs to be deleted

Output Arguments

Name Type Description
status Number Status Codes.

Aggregates

Aggregates are summarizations or accumulations of data points, typically related to member activities such as points earned or rewards redeemed. These aggregates help in tracking and managing metrics over time.

Aggregates Structure

{
    "metricName" : "Reward Points",
    "metricAggValue" : 30000,
    "day" : "2023-10-03 00:00:00.000Z",
    "memberId" : "651b975e04e5f00026088881",
    "lastAggDate" : "2023-10-03T04:24:06.928Z",
    "org": "5c58d8570bf24c075fb5886c",
    "_id": "611babe5ef60979eb694942e",
    "createdAt" : "2023-10-03T04:24:00.914Z",
    "updatedAt" : "2023-10-03T04:24:00.914Z",
    "createdBy": "5c58d8570bf24c075fb5886b",
    "updatedBy": "5c58d8570bf24c075fb5886b"
}
Field Type/Format Description
_id ObjectId readonly Unique value for every record.
metricName String required Name of the metric.
day Number The date for which the aggregate belong to.
week Number min:1, max:54 Week for which the aggregate is being performed. The value of the year field defines which week of the year the aggregate belong to.
month Number min:1, max:12 Month for which the aggregate is being performed. The value of the year field defines which month of the year the aggregate belong to.
quarter Number min:1, max:4 Quarter for which the aggregate is being performed. The value of the year field defines which quarter of the year the aggregate belong to.
halfYear Number min:1, max:2 Part of the halfyear for which the aggregate is being performed. The value of the year field defines which half of the year the aggregate belong to.
year Number min:1900, max: 3999 The year for which the aggregate is being performed.
lastAggDate Date The date when last aggregate was performed.
memberId ObjectId _id field of the Member that is associated with this id.
metricAggValue Number default: 0 Accumulated value of the aggregate.
expirationDate Date Expiration Date is use to offload the lifetime aggregates from member transient array to its own collection when this expiration date is reached. It is only applicable for lifetime aggregates.
mergeIds Array An array of _id values of members that were merged with the memberId.

The object contains common fields

Read Daily Aggregates for a member

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/dailyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url('http://dev:3000/api/v1/dailyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/dailyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI('http://dev:3000/api/v1/dailyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/dailyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/dailyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/dailyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/dailyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of the objects containing the daily aggregates for member with given memberId.

This method will find all daily aggregates from respective collection based on the memberId in query provided by the user.

HTTP Request

GET /api/v1/dailyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}

Input Arguments

Name Type Description
token String Authentication token.
query JSON Object required Mongodb query generated using query parameters to get daily aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"}

Output Arguments

Name Type Description
Array JSON An array of objects containing the daily aggregates for member.
status Number Status Codes

Read Weekly Aggregates for a member

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/weeklyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url('http://dev:3000/api/v1/weeklyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/weeklyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI('http://dev:3000/api/v1/weeklyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/weeklyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/weeklyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/weeklyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/weeklyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of the objects containing the weekly aggregates for member with given memberId.

This method will find all weekly aggregates from respective collection based on the memberId in query provided by the user.

HTTP Request

GET /api/v1/weeklyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}

Input Arguments

Name Type Description
token String Authentication token.
query JSON Object required Mongodb query generated using query parameters to get weekly aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"}

Output Arguments

Name Type Description
Array JSON An array of objects containing the weekly aggregates for member.
status Number Status Codes

Read Monthly Aggregates for a member

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/monthlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url('http://dev:3000/api/v1/monthlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/monthlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI('http://dev:3000/api/v1/monthlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/monthlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/monthlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/monthlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/monthlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of the objects containing the monthly aggregates for member with given memberId.

This method will find all monthly aggregates from respective collection based on the memberId in query provided by the user.

HTTP Request

GET /api/v1/monthlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}

Input Arguments

Name Type Description
token String Authentication token.
query JSON Object required Mongodb query generated using query parameters to get monthly aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"}

Output Arguments

Name Type Description
Array JSON An array of objects containing the monthly aggregates for member.
status Number Status Codes

Read Quarterly Aggregates for a member

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/quarterlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url('http://dev:3000/api/v1/quarterlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/quarterlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI('http://dev:3000/api/v1/quarterlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/quarterlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/quarterlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/quarterlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/quarterlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of the objects containing the quarterly aggregates for member with given memberId.

This method will find all quarterly aggregates from respective collection based on the memberId in query provided by the user.

HTTP Request

GET /api/v1/quarterlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}

Input Arguments

Name Type Description
token String Authentication token.
query JSON Object required Mongodb query generated using query parameters to get quarterly aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"}

Output Arguments

Name Type Description
Array JSON An array of objects containing the quarterly aggregates for member.
status Number Status Codes

Read HalfYearly Aggregates for a member

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/halfyearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url('http://dev:3000/api/v1/halfyearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/halfyearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI('http://dev:3000/api/v1/halfyearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/halfyearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/halfyearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/halfyearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/halfyearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of the objects containing the halfyearly aggregates for member with given memberId.

This method will find all halfyearly aggregates from respective collection based on the memberId in query provided by the user.

HTTP Request

GET /api/v1/halfyearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}

Input Arguments

Name Type Description
token String Authentication token.
query JSON Object required Mongodb query generated using query parameters to get halfyearly aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"}

Output Arguments

Name Type Description
Array JSON An array of objects containing the halfyearly aggregates for member.
status Number Status Codes

Read Yearly Aggregates for a member

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/yearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url('http://dev:3000/api/v1/yearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/yearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI('http://dev:3000/api/v1/yearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/yearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/yearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/yearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/yearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of the objects containing the yearly aggregates for member with given memberId.

This method will find all yearly aggregates from respective collection based on the memberId in query provided by the user.

HTTP Request

GET /api/v1/yearlyaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}

Input Arguments

Name Type Description
token String Authentication token.
query JSON Object required Mongodb query generated using query parameters to get yearly aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"}

Output Arguments

Name Type Description
Array JSON An array of objects containing the yearly aggregates for member.
status Number Status Codes

Read Lifetime Aggregates for a member

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/lifetimeaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url('http://dev:3000/api/v1/lifetimeaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/lifetimeaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI('http://dev:3000/api/v1/lifetimeaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}')

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/lifetimeaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/lifetimeaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/lifetimeaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"} \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/lifetimeaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of the objects containing the lifetime aggregates for member with given memberId.

This method will find all lifetime aggregates from respective collection based on the memberId in query provided by the user.

HTTP Request

GET /api/v1/lifetimeaggregates?query={"memberId":"6618e0cc51ad3b0035ddb041"}

Input Arguments

Name Type Description
token String Authentication token.
query JSON Object required Mongodb query generated using query parameters to get lifetime aggregates Ex: query = {"memberId":"6618e0cc51ad3b0035ddb041"}

Output Arguments

Name Type Description
Array JSON An array of objects containing the lifetime aggregates for member.
status Number Status Codes

Aggregate Policies

An aggregate policy defines rules and configurations governing the management and usage of data summarizations Aggregates related to member activities within a system or application.

Aggregate Policy Structure

{
    "_id": "5575cc7ebee6c00300164e39",
    "createdAt": "2015-06-08T17:10:22.234Z",
    "updatedAt": "2015-06-08T17:10:22.234Z",
    "updatedBy": "57347730e2aefeeba10a935b",
    "createdBy": "57347730e2aefeeba10a935b",
    "program": "66434e10522c390038eb36b9",
    "name": "Aggregate Policy Name",
    "desc": "Aggregate Policy Description",
    "aggregateTypes": ["HalfYearly", "Lifetime", "Monthly", "Quarterly", "Weekly", "Yearly"],
    "effectiveDate": "2024-07-09T00:00:00.000Z",
    "expirationDate": "2024-12-31T23:59:59.999Z",
    "divisions": ["ObjectId1", "ObjectId2"],
    "program": "Program ObjectId",
    "org": "Org ObjectId"
}
Field Type/Format Description
program ObjectId required Reference to Program
name String required Name of the aggregate policy.
desc String Description of the aggregate policy. This is optional field.
aggregateTypes Array Enum of types of aggregates covered by the policy.(Example: Day, Week, Month, Quarter, Halfyear, Year)
effectiveDate JS Date Effective date of the policy.
expirationDate JS Date Expiration date of the policy.
divisions Array Array of ObjectId references to divisions. This is optional field.
org ObjectId Reference to Org associated with the policy.

Read all Aggregate Policies

var request = require("request");

var options = { method: 'GET',
url : 'http://dev:3000/api/v1/aggregatepolicies?locale=en&offset=330&query={"program":"66434e10522c390038eb36b9"}'
headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url('http://dev:3000/api/v1/aggregatepolicies?locale=en&offset=330&query={"program":"66434e10522c390038eb36b9"}')
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient('http://dev:3000/api/v1/aggregatepolicies?locale=en&offset=330&query={"program":"66434e10522c390038eb36b9"}');
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI('http://dev:3000/api/v1/aggregatepolicies?locale=en&offset=330&query={"program":"66434e10522c390038eb36b9"}');

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/aggregatepolicies?locale=en&offset=330&query={"program":"66434e10522c390038eb36b9"}');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/aggregatepolicies?locale=en&offset=330&query={"program":"66434e10522c390038eb36b9"} HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/ggregatepolicies?locale=en&offset=330&query={"program":"66434e10522c390038eb36b9"} \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer your_access_token",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/aggregatepolicies?locale=en&offset=330&query={\"program\":\"66434e10522c390038eb36b9\"}")! as URL,
                                  cachePolicy: .useProtocolCachePolicy,
                                  timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error!)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse!)
  }
})

dataTask.resume()

The above command return all aggregate policy objects for the specified program.

HTTP Request

GET /api/v1/aggregatepolicies

Input Arguments

Name Type Description
token string Authentication token.
query JSON Object The query is used to filter the aggregate policies. Ex: { program: program_id }
populate String It accepts comma separated string and populates data inside the reference. Ex:populate=program,memberId

Output Arguments

Name Type Description
res JSON Return all aggregate policy objects for the specified program .
status Number Status Codes.

Read Aggregate Policy by ID

var request = require("request");

var options = { method: 'GET',
url : 'http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a'
headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url('http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a')
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient('http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a');
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI('http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a');

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer your_access_token",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")! as URL,
                                  cachePolicy: .useProtocolCachePolicy,
                                  timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error!)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse!)
  }
})

dataTask.resume()

The above command return the specified aggregate policy object.

HTTP Request

GET /api/v1/aggregatepolicies/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId The _id field of the Aggregate Policy that needs to be read

Output Arguments

Name Type Description
res JSON Return the specified aggregate policy object.
status Number Status Codes.

Create Aggregate Policy

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/aggregatepolicies',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' },
  body: 
   { expirationSnapTo: "now",
     org: "66430674884bff002d115a5f",
     divisions: [],
     effectiveDate: "2024-07-09T00:00:00.000",
     program: "66434e10522c390038eb36b9",
     expirationDate: "2039-04-01T23:59:59.999",
     name: "weeklyAggregates",
     desc: "this is weekly aggregate",
     aggregateTypes: [ "Weekly" ],
     ext: {} },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"expirationSnapTo\": \"now\",\n  \"org\": \"66430674884bff002d115a5f\",\n  \"divisions\": [],\n  \"effectiveDate\": \"2024-07-09T00:00:00.000\",\n  \"program\": \"66434e10522c390038eb36b9\",\n  \"expirationDate\": \"2039-04-01T23:59:59.999\",\n  \"name\": \"weeklyAggregates\",\n  \"desc\": \"this is weekly aggregate\",\n  \"aggregateTypes\": [\n    \"Weekly\"\n  ],\n  \"ext\": {}\n}");

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/aggregatepolicies")
  .post(body)
 .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/aggregatepolicies");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.AddParameter("application/json", "{\n  \"expirationSnapTo\": \"now\",\n  \"org\": \"66430674884bff002d115a5f\",\n  \"divisions\": [],\n  \"effectiveDate\": \"2024-07-09T00:00:00.000\",\n  \"program\": \"66434e10522c390038eb36b9\",\n  \"expirationDate\": \"2039-04-01T23:59:59.999\",\n  \"name\": \"weeklyAggregates\",\n  \"desc\": \"this is weekly aggregate\",\n  \"aggregateTypes\": [\n    \"Weekly\"\n  ],\n  \"ext\": {}\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/aggregatepolicies")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n  \"expirationSnapTo\": \"now\",\n  \"org\": \"66430674884bff002d115a5f\",\n  \"divisions\": [],\n  \"effectiveDate\": \"2024-07-09T00:00:00.000\",\n  \"program\": \"66434e10522c390038eb36b9\",\n  \"expirationDate\": \"2039-04-01T23:59:59.999\",\n  \"name\": \"weeklyAggregates\",\n  \"desc\": \"this is weekly aggregate\",\n  \"aggregateTypes\": [\n    \"Weekly\"\n  ],\n  \"ext\": {}\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/aggregatepolicies');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

$request->setBody('{
    "expirationSnapTo": "now",
    "org": "66430674884bff002d115a5f",
    "divisions": [],
    "effectiveDate": "2024-07-09T00:00:00.000",
    "program": "66434e10522c390038eb36b9",
    "expirationDate": "2039-04-01T23:59:59.999",
    "name": "weeklyAggregates",
    "desc": "this is weekly aggregate",
    "aggregateTypes": [
        "Weekly"
    ],
    "ext": {}
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/aggregatepolicies HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
  "expirationSnapTo": "now",
  "org": "66430674884bff002d115a5f",
  "divisions": [],
  "effectiveDate": "2024-07-09T00:00:00.000",
  "program": "66434e10522c390038eb36b9",
  "expirationDate": "2039-04-01T23:59:59.999",
  "name": "weeklyAggregates",
  "desc": "this is weekly aggregate",
  "aggregateTypes": [
    "Weekly"
  ],
  "ext": {}
}
curl -X POST \
  http://dev:3000/api/v1/aggregatepolicies \
 -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "expirationSnapTo": "now",
    "org": "66430674884bff002d115a5f",
    "divisions": [],
    "effectiveDate": "2024-07-09T00:00:00.000",
    "program": "66434e10522c390038eb36b9",
    "expirationDate": "2039-04-01T23:59:59.999",
    "name": "weeklyAggregates",
    "desc": "this is weekly aggregate",
    "aggregateTypes": [
        "Weekly"
    ],
    "ext": {}
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
  "expirationSnapTo": "now",
  "org": "66430674884bff002d115a5f",
  "divisions": [],
  "effectiveDate": "2024-07-09T00:00:00.000",
  "program": "66434e10522c390038eb36b9",
  "expirationDate": "2039-04-01T23:59:59.999",
  "name": "weeklyAggregates",
  "desc": "this is weekly aggregate",
  "aggregateTypes": [
    "Weekly"
  ],
  "ext": [:]
] as [String : Any]

let postData = try? JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/aggregatepolicies")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the newly created Aggregate Policy object.

HTTP Request

POST /api/v1/aggregatepolicies

This method will create a new Aggregate Policy object.

Input Arguments

Name Type Description
newAggregatePolicy JSON New record to add to RCX API with Aggregate Policy.
token string Authentication token.

Output Arguments

Name Type Description
aggregatePolicy JSON New data to save in RCX API with Aggregate Policy.
status Number Status Codes.

Update Aggregate Policy by ID

var request = require("request");

var options = { method: 'PATCH',
  url: 'http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' },
  body: { 
    effectiveDate: "2024-07-09T00:00:00.000Z",
    expirationDate: "2039-04-01T23:59:59.999Z",
    updatedBy: "newUpdatedById"
  },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"effectiveDate\": \"2024-07-09T00:00:00.000Z\",\n\t\"expirationDate\": \"2039-04-01T23:59:59.999Z\",\n\t\"updatedBy\": \"newUpdatedById\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")
  .patch(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a");
var request = new RestRequest(Method.PATCH);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.AddParameter("application/json", "{\n\t\"effectiveDate\": \"2024-07-09T00:00:00.000Z\",\n\t\"expirationDate\": \"2039-04-01T23:59:59.999Z\",\n\t\"updatedBy\": \"newUpdatedById\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Patch.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n\t\"effectiveDate\": \"2024-07-09T00:00:00.000Z\",\n\t\"expirationDate\": \"2039-04-01T23:59:59.999Z\",\n\t\"updatedBy\": \"newUpdatedById\"\n}"

response = http.request(request)
puts response.read_body
<?php
$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a');
$request->setMethod(HTTP_METH_PATCH);
$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));
$request->setBody('{
    "effectiveDate": "2024-07-09T00:00:00.000Z",
    "expirationDate": "2039-04-01T23:59:59.999Z",
    "description": "Updated monthly aggregate policy",
    "aggregates": [],
    "divisions": [],
}');
try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>
PATCH /api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
    "effectiveDate": "2024-07-09T00:00:00.000Z",
    "expirationDate": "2039-04-01T23:59:59.999Z",
    "description": "Updated monthly aggregate policy",
    "aggregates": [],
    "divisions": []
}
curl -X PATCH \
  http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "effectiveDate": "2024-07-09T00:00:00.000Z",
    "expirationDate": "2039-04-01T23:59:59.999Z",
    "description": "Updated monthly aggregate policy",
    "aggregates": [],
    "divisions": []
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let parameters = [
  "effectiveDate": "2024-07-09T00:00:00.000Z",
  "expirationDate": "2039-04-01T23:59:59.999Z",
  "description": "Updated monthly aggregate policy",
  "aggregates": [],
  "divisions": []
] as [String : Any]

let postData = try? JSONSerialization.data(withJSONObject: parameters, options: [])

var request = URLRequest(url: URL(string: "http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")!,
    cachePolicy: .useProtocolCachePolicy,
    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error!)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse!)
  }
})

dataTask.resume()

The above command returns the updated Aggregate Policy object.

HTTP Request

PATCH /api/v1/aggregatepolicies/:id

This method updates an existing Aggregate Policy object identified by {aggregatePolicyId}.

Input Arguments

Name Type Description
aggregatePolicyId string ID of the aggregate policy to update.
updatedAggregatePolicy JSON Fields within the Aggregate Policy that need to be updated.
token string Authentication token.

Output Arguments

Name Type Description
updatedAggregatePolicy JSON The newly updated Aggregate Policy.
status Number Status Codes.

Delete Aggregate Policy by ID

var request = require("request");

var options = { 
  method: 'DELETE',
  url: 'http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a',
  headers: { 
    'cache-control': 'no-cache',
    'content-type': 'application/json',
    authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' 
  }
};
request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")
  .delete()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .addHeader("content-type", "application/json")
  .build();

try {
  Response response = client.newCall(request).execute();
  System.out.println(response.body().string());
} catch (IOException e) {
  e.printStackTrace();
}
var client = new RestClient("http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");

IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<<?php
$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a');
$request->setMethod(HTTP_METH_DELETE);
$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();
  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
?>
DELETE /api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'content-type: application/json' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

var request = URLRequest(url: URL(string: "http://dev:3000/api/v1/aggregatepolicies/668e2564c8e7cd00361c6a0a")!, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error!)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse!)
  }
})

dataTask.resume()

The above command deletes the specified Aggregate Policy object.

HTTP Request

DELETE /api/v1/aggegatepolicies/:id

This method deletes one account identified by _id.

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId The _id field of the Aggregate Policy that needs to be deleted

Output Arguments

Name Type Description
status Number Status Codes.

Badges

Badges are objects contained inside Member objects, under the badges array.

Badge Structure

Sample Badge Object

 {
    "name": "Road Warrior",
    "achievedOn": "2015-10-14T07:00:00.000Z",
    "_id": "59e840b131a6b90052ed4ba0",
    "createdAt": "2017-10-19T06:05:37.057Z",
    "updatedAt": "2017-10-19T06:05:47.010Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df"
}
Field Type Default Description
name String required The name of the badge
achivedOn Date Date.now() required Date when the badge was achieved

The object contains common fields

Badge Methods

Badge Manipulation Examples

There is no special API to change badges inside a Member. Instead, you can Read Member by ID, use your preferred lanugage to manipulate the Member.badges array inside the Member object, and then use the Update Member by ID API to commit the changes.

Add Badge

Adding a new Badge is usually initiated through the rules engine in response to processing an activity.

Adding a new Badge is also possible by adding to the Member.badges array and using the Update Member by Id API to update the member.

DMAs

This API is compliant with the query interface described in Advanced Queries.

A designated market area (DMA) is a list of Zip Codes which is conveninet for reporting and grouping locations.

DMA Structure

    {
        "name": "North East",
        "desc": "North East of US",
        "zipCodes": [
            "98119",
            "60604"
        ],
        "_id": "59df8519f2764809adaccdff",
        "createdAt": "2017-04-01T08:02:39.617Z",
        "updatedAt": "2017-10-12T15:10:42.070Z",
        "createdBy": "59de84708d69b9006b8295df",
        "updatedBy": "59de84708d69b9006b8295df"
    }
Field Type Description
_id ObjectId unique The id of the record
zipCodes Array List of DMA Zip Codes
name String required DMA Name
desc String DMA description

The object contains common fields

Read all DMAs

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/dmas',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/dmas")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/dmas");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/dmas")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/dmas');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/dmas HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/dmas \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/dmas")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of DMA objects.

This methods returns all dmas in the system.

HTTP Request

GET /api/v1/dmas

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
dmas Array set of DMA objects
status Number Status Codes.

Read DMA by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/dmas/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/dmas/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/dmas/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/dmas/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/dmas/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/dmas/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/dmas/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/dmas/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a DMA object.

This method returns the specified DMA.

HTTP Request

GET /api/v1/dmas/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from DMA structure.
token string Authentication token.

Output Arguments

Name Type Description
DMA JSON DMA object
status Number Status Codes.

Create DMA

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/dmas',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    name: 'North West',
    desc: 'Evening shopper who is a mother and works.'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"Evening shopper who is a mother and works.\",\n    \"name\": \"North West\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/dmas")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/dmas");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"Evening shopper who is a mother and works.\",\n    \"name\": \"North West\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/dmas")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"Evening shopper who is a mother and works.\",\n    \"name\": \"North West\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/dmas');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "desc": "Evening shopper who is a mother and works.",
    "name": "North West"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/dmas HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "desc": "Evening shopper who is a mother and works.",
    "name": "North West"
}
curl -X POST \
  http://dev:3000/api/v1/dmas \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "desc": "Evening shopper who is a mother and works.",
    "name": "North West"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "desc": "Evening shopper who is a mother and works.",
    "name": "North West"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/dmas")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a DMA object.

This method creates a new DMA.

HTTP Request

POST /api/v1/dmas/

Input Arguments

Name Type Description
token string Authentication token.
DMA JSON DMA object

Output Arguments

Name Type Description
DMA JSON DMA object
status Number Status Codes.

Update DMA by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/dmas/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    desc: 'South West'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"South West\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/dmas/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/dmas/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"South West\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/dmas/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"South West\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/dmas/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "desc": "South West"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/dmas/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "desc": "South West"
}
curl -X PUT \
  http://dev:3000/api/v1/dmas/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "desc": "South West"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "desc": "South West"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/dmas/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a DMA object.

This method updates the specified DMA.

HTTP Request

PUT /api/v1/dmas/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from DMA structure.
DMA JSON DMA object

Output Arguments

Name Type Description
DMA JSON DMA object
status Number Status Codes.

Delete DMA by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/dmas/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/dmas/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/dmas/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/dmas/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/dmas/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/dmas/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/dmas/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/dmas/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified DMA.

HTTP Request

DELETE /api/v1/dmas/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from DMA`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Data Privacy Compliance

This API is to handlle dpc related fields in our system.

DPC Request Structure

Array of loyaltyIds in the request body

[   
    "1773927370295180200",
    "1773927370052584578",
    "1773927370203878747"
]

DPC Response Structure

Object where loyaltyId as key and value as one of these "Completed" / "Not Found" / "Error"

{
    "1773927370295180200": "Completed",
    "1773927370052584578": "Not Found",
    "1773927370203878747": "Error"
}

Post DPC

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/dpc',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  ["1773927370295180200", "1773927370052584578", "1773927370203878747"],
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "[\"1773927370295180200\",\"1773927370052584578\",\"1773927370203878747\"]");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/dpc")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/dpc");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "[\"1773927370295180200\",\"1773927370052584578\",\"1773927370203878747\"]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/dpc")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "[\"1773927370295180200\",\"1773927370052584578\",\"1773927370203878747\"]"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/dpc');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody("[\"1773927370295180200\",\"1773927370052584578\",\"1773927370203878747\"]");

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/dpc HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

["1773927370295180200","1773927370052584578","1773927370203878747"]
curl -X POST \
  http://dev:3000/api/v1/dpc \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '["1773927370295180200","1773927370052584578","1773927370203878747"]'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = ["1773927370295180200","1773927370052584578","1773927370203878747"] as [String]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/dpc")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a DPC Response object.

This method updates the dpc fields in our system for the given loyaltyIds

HTTP Request

POST /api/v1/dpc/

Input Arguments

Name Type Description
token string Authentication token.
loyaltyIds array loyaltyIds array

Output Arguments

Name Type Description
loyaltyIds JSON DPC Response
status Number Status Codes.

Divisions

Division is a security mechanism intended to ensure data integrity. It ensures the access privileges are restricted to user groups that are accountable to maintain the data.

Division Structure

{
    "name": "Admin",
    "isActive": true,
    "org": "5c58d8570bf24c075fb5886c",
    "_id": "611babe5ef60979eb694942e",
    "createdAt": "2021-08-17T12:30:29.030Z",
    "updatedAt": "2021-08-23T10:11:07.585Z",
    "createdBy": "5c58d8570bf24c075fb5886b",
    "updatedBy": "5c58d8570bf24c075fb5886b"
}
Field Type/Format Description
_id ObjectId readonly Unique value for every record
name String required Name of division
isActive Boolean default: false Divisions are active when it set to true

The object contains common fields

Read all Divisions

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/divisions',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/divisions")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/divisions");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/divisions")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/divisions');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/divsions HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/divisions \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/divisions")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Division objects.

This methods returns all Division in the system.

HTTP Request

GET /api/v1/divisions

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
divisions Array set of Division objects
status Number Status Codes.

Create Division

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/divisions',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    name:"finance",
    isActive:true
  },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"admin\",\n    \"isActive\": \"true\"}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/divisions")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/divisions");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"isActive\": \"true\",\n    \"name\": \"finance\",\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/divisions")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"isActive\": \"true\",\n    \"name\": \"finance\",\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/divisions');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "isActive": "true",
    "name": "finance"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/divisions HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "isActive": "true",
    "name": "finance"
}
curl -X POST \
  http://dev:3000/api/v1/divisions \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "isActive": "true",
    "name": "finance"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "isActive": "true",
    "name": "finance"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/divisions")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Division object.

This method creates a new Division.

HTTP Request

POST /api/v1/divisions/

Input Arguments

Name Type Description
token string Authentication token.
division JSON Division object

Output Arguments

Name Type Description
division JSON Division object
status Number Status Codes.

Update Divisions by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/divisions/612d07ee92639800b1e6de7c',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    isActive: true,
    name: "finance"
    },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"isActive\": \"true\"\n,   \"name\":\"finance\"}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/divisions/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/divisions/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"isActive\": \"true\",\n   \"name\": \"finance\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/divisions/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"isActive\": \"true\",\n   \"name\": \"finance\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/divisions/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "name":"finance",
    "isActive": true
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/divisions/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "name":"finance",
    "isActive": true
}
curl -X PUT \
  http://dev:3000/api/v1/divisions/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "name":"finance",
    "isActive": true
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "name":"finance",
    "isActive": true
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/divisions/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Division object.

This method updates the specified Division.

HTTP Request

PUT /api/v1/divisions/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Division object.
division JSON Division object

Output Arguments

Name Type Description
division JSON Division object
status Number Status Codes.

Enums

This API is compliant with the query interface described in Advanced Queries.

Enums (short for enumerations) are basically lists of values used in various places such as ActivityType (Accrual, Redemption, etc.) and other types.

Enum Structure

{
    "type": "Language",
    "lang": "en",
    "value": "en",
    "valueType": "String"
    "label": "English",
    "displayType": "user",
    "_id": "59de84728d69b9006b82963a",
    "createdAt": "2017-10-11T20:52:02.868Z",
    "updatedAt": "2017-10-11T20:52:02.868Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df"
}
Field Type Description
_id ObjectId unique The id of the record
type String required Type of the Enum - for example ActivityType
value String required Enum value represnting the possible values of that type - e.g. Accrual, Redemption, etc. for ActivityType type.
displayType String Whether or not to display this in the UI - some Enums can be internal and not shown in the UI for direct access by end users. Use system or user here.
label String required The label of the Enum which is specific to the lang code and will be displayed on UI.
lang String required The language code of the Enum (e.g. en, fr, etc.)
valueType String required type of the value(String/Number/Boolean/Date)
desc String Description about the enum

The object contains common fields

Read all Enums

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/enums',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/enums")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/enums");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/enums")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/enums');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/enums HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/enums \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/enums")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Enum objects.

This methods returns all enums in the system.

HTTP Request

GET /api/v1/enums

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
enums Array set of Enum objects
status Number Status Codes.

Read Enum by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/enums/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/enums/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/enums/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/enums/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/enums/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/enums/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/enums/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/enums/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Enum object.

This method returns the specified enum.

HTTP Request

GET /api/v1/enums/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Enum structure.
token string Authentication token.

Output Arguments

Name Type Description
enum JSON Enum object
status Number Status Codes.

Create Enum

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/enums',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    value: 'Validate Reward',
    displayType: 'user',
    label: 'Validate Reward',
    type: 'ActivityType',
    lang: 'en',
    valueType: 'String'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"label\": \"Validate Reward\",\n    \"type\": \"ActivityType\",\n    \"value\": \"Validate Reward\",\n    \"displayType\": \"user\",\n    \"valueType\": \"String\",\n    \"lang\": \"en\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/enums")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/enums");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"label\": \"Validate Reward\",\n    \"type\": \"ActivityType\",\n    \"value\": \"Validate Reward\",\n    \"displayType\": \"user\",\n    \"valueType\": \"String\",\n    \"lang\": \"en\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/enums")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"label\": \"Validate Reward\",\n    \"type\": \"ActivityType\",\n    \"value\": \"Validate Reward\",\n    \"displayType\": \"user\",\n    \"valueType\": \"String\",\n    \"lang\": \"en\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/enums');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "value": "Validate Reward",
    "displayType": "user",
    "label": "Validate Reward",
    "type": "ActivityType",
    "lang": "en",
    "valueType": "String"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/enums HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "value": "Validate Reward",
    "displayType": "user",
    "label": "Validate Reward",
    "type": "ActivityType",
    "lang": "en",
    "valueType": "String"
}
curl -X POST \
  http://dev:3000/api/v1/enums \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "value": "Validate Reward",
    "displayType": "user",
    "label": "Validate Reward",
    "type": "ActivityType",
    "lang": "en",
    "valueType": "String"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "value": "Validate Reward",
    "displayType": "user",
    "label": "Validate Reward",
    "type": "ActivityType",
    "lang": "en",
    "valueType": "String"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/enums")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Enum object.

This method creates a new enum.

HTTP Request

POST /api/v1/enums/

Input Arguments

Name Type Description
token string Authentication token.
enum JSON Enum object

Output Arguments

Name Type Description
enum JSON Enum object
status Number Status Codes.

Update Enum by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/enums/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    label: 'Use Reward'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"label\": \"Use Reward\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/enums/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/enums/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"label\": \"Use Reward\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/enums/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"label\": \"Use Reward\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/enums/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "label": "Use Reward"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/enums/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "label": "Use Reward"
}
curl -X PUT \
  http://dev:3000/api/v1/enums/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "label": "Use Reward"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "label": "Use Reward"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/enums/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Enum object.

This method updates the specified enum.

HTTP Request

PUT /api/v1/enums/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Enum structure.
enum JSON Enum object

Output Arguments

Name Type Description
enum JSON Enum object
status Number Status Codes.

Delete Enum by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/enums/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/enums/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/enums/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/enums/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/enums/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/enums/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/enums/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/enums/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified enum.

HTTP Request

DELETE /api/v1/enums/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Enum`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Extensiondefs

This API is compliant with the query interface described in Advanced Queries.

Extension Defs are to define the visibility of schema extension definitions in UI.

Extensiondef Structure

{
  "model": "Activity",
  "org": "5c58d8570bf24c075fb5886c",
  "display": true,
  "_id": "5c58d8570bf24c075fb588be",
  "createdAt": "2019-02-05T00:27:03.533Z",
  "updatedAt": "2019-02-05T00:27:03.533Z",
  "createdBy": "5c58d8570bf24c075fb5886b",
  "updatedBy": "5c58d8570bf24c075fb5886b"
}
Field Type Description
model String required Name of the model to which extensions has to be applied
display Boolean default: false Defines the visibility of extension schema definition of a specific model in UI
_id ObjectId unique The id of the record

The object contains common fields

Read all Extensiondefs

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/extensiondefs',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/extensiondefs")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/extensiondefs");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/extensiondefs")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/extensiondefs');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/extensiondefs HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/extensiondefs \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/extensiondefs")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Extensiondef objects.

This methods returns all extensiondefs in the system.

HTTP Request

GET /api/v1/extensiondefs

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
extensiondefs Array set of Extensiondef objects
status Number Status Codes.

Read Extensiondef by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/extensiondefs/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/extensiondefs/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/extensiondefs/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/extensiondefs/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/extensiondefs/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/extensiondefs/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/extensiondefs/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/extensiondefs/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Extensiondef object.

This method returns the specified extensiondef.

HTTP Request

GET /api/v1/extensiondefs/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Extensiondef structure.
token string Authentication token.

Output Arguments

Name Type Description
extensiondef JSON Extensiondef object
status Number Status Codes.

Create Extensiondef

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/extensiondefs',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    model: 'Activity',
    display: 'true'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"model\": \"Activity\",\n    \"display\": \"true\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/extensiondefs")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/extensiondefs");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"model\": \"Activity\",\n    \"display\": \"true\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/extensiondefs")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"model\": \"Activity\",\n    \"display\": \"true\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/extensiondefs');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "model": "Activity",
    "display": "true"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/extensiondefs HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "model": "Activity",
    "display": "true"
}
curl -X POST \
  http://dev:3000/api/v1/extensiondefs \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "model": "Activity",
    "display": "true"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "model": "Activity",
    "display": "true"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/extensiondefs")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Extensiondef object.

This method creates a new extensiondef.

HTTP Request

POST /api/v1/extensiondefs/

Input Arguments

Name Type Description
token string Authentication token.
extensiondef JSON Extensiondef object

Output Arguments

Name Type Description
extensiondef JSON Extensiondef object
status Number Status Codes.

Update Extensiondef by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    display: 'false'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"display\": \"false\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"display\": \"false\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"display\": \"false\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "display": "false"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/extensiondefs/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "display": "false"
}
curl -X PUT \
  http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "display": "false"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "display": "false"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Extensiondef object.

This method updates the specified extensiondef.

HTTP Request

PUT /api/v1/extensiondefs/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Extensiondef structure.
extensiondef JSON Extensiondef object

Output Arguments

Name Type Description
extensiondef JSON Extensiondef object
status Number Status Codes.

Delete Extensiondef by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/extensiondefs/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/extensiondefs/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified extensiondef.

HTTP Request

DELETE /api/v1/extensiondefs/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Extensiondef`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Extensionschemas

This API is compliant with the query interface described in Advanced Queries.

Extension Schema is to add extension schema definitions, which can be dynamically modified. Extension field datatype can only be modified when there is no data populated for the field in the database.

Extensionschema Structure

    {
        "model": "Activity",
        "org": "5c58d8570bf24c075fb5886c",
        "extSchema": {"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"},"txnChannel":{"type":"string"},"transactionId":{"type":"string"},"memberRewardId":{"type":"string"}}},
        "uiDef": {"dgeTransSeq":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnTypeId":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnHeaderId":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnEmployeeId":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnEmployeeName":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnStoreId":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsOne":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsTwo":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsThree":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsFour":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsFive":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeParmsSix":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"barcodeVersion":{"acceptData":true,"showInList":true,"searchable":false,"errorMessage":"","type":"string"},"txnChannel":{"acceptData":false,"showInList":false,"searchable":false,"errorMessage":"","type":"string"},"transactionId":{"acceptData":false,"showInList":false,"searchable":false,"errorMessage":"","type":"string"},"memberRewardId":{"acceptData":false,"showInList":false,"searchable":false,"ignoreImport":false,"errorMessage":"","type":"string"}},
        "_id": "5c58e9c7967bc9010b3a6131",
        "createdAt": "2019-02-05T01:41:27.206Z",
        "updatedAt": "2019-05-15T14:24:08.229Z",
        "createdBy": "5c58d8570bf24c075fb5886b",
        "updatedBy": "5c58d8570bf24c075fb5886b"
    }
Field Type Description
model String required Name of the entity to which extension schema is to be applied
extSchema String required Extensions JSON schema in string format
uiDef String JSON definition of UI and behavioural configuration
_id ObjectId unique The id of the record

The object contains common fields

Read all Extensionschemas

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/extensionschemas',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/extensionschemas")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/extensionschemas");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/extensionschemas")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/extensionschemas');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/extensionschemas HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/extensionschemas \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/extensionschemas")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Extensionschema objects.

This methods returns all extensionschemas in the system.

HTTP Request

GET /api/v1/extensionschemas

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
extensionschemas Array set of Extensionschema objects
status Number Status Codes.

Read Extensionschema by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/extensionschemas/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/extensionschemas/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/extensionschemas/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/extensionschemas/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/extensionschemas/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/extensionschemas/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/extensionschemas/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/extensionschemas/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Extensionschema object.

This method returns the specified extensionschema.

HTTP Request

GET /api/v1/extensionschemas/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Extensionschema structure.
token string Authentication token.

Output Arguments

Name Type Description
extensionschema JSON Extensionschema object
status Number Status Codes.

Create Extensionschema

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/extensionschemas',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    extSchema: '{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}',
    uiDef: '{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}',
    model: 'Activity'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"model\": \"Activity\",\n    \"extSchema\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\",\n    \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/extensionschemas")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/extensionschemas");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"model\": \"Activity\",\n    \"extSchema\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\",\n    \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/extensionschemas")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"model\": \"Activity\",\n    \"extSchema\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\",\n    \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/extensionschemas');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "extSchema": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
    "uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
    "model": "Activity"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/extensionschemas HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "extSchema": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
    "uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
    "model": "Activity"
}
curl -X POST \
  http://dev:3000/api/v1/extensionschemas \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "extSchema": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
    "uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
    "model": "Activity"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "extSchema": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
    "uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}",
    "model": "Activity"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/extensionschemas")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Extensionschema object.

This method creates a new extensionschema.

HTTP Request

POST /api/v1/extensionschemas/

Input Arguments

Name Type Description
token string Authentication token.
extensionschema JSON Extensionschema object

Output Arguments

Name Type Description
extensionschema JSON Extensionschema object
status Number Status Codes.

Update Extensionschema by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    uiDef: '{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"uiDef\": \"{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/extensionschemas/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
}
curl -X PUT \
  http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "uiDef": "{"definitions":{},"type":"object","additionalProperties":false,"properties":{"dgeTransSeq":{"type":"string"},"txnTypeId":{"type":"string"},"txnHeaderId":{"type":"string"},"txnEmployeeId":{"type":"string"},"txnEmployeeName":{"type":"string"},"txnStoreId":{"type":"string"},"barcodeParmsOne":{"type":"string"},"barcodeParmsTwo":{"type":"string"},"barcodeParmsThree":{"type":"string"},"barcodeParmsFour":{"type":"string"},"barcodeParmsFive":{"type":"string"},"barcodeParmsSix":{"type":"string"},"barcodeVersion":{"type":"string"}}}"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Extensionschema object.

This method updates the specified extensionschema.

HTTP Request

PUT /api/v1/extensionschemas/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Extensionschema structure.
extensionschema JSON Extensionschema object

Output Arguments

Name Type Description
extensionschema JSON Extensionschema object
status Number Status Codes.

Delete Extensionschema by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/extensionschemas/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/extensionschemas/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified extensionschema.

HTTP Request

DELETE /api/v1/extensionschemas/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Extensionschema`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Export data as CSV

This method allows exporting data from a specified entity or named list as a CSV file. The data can be filtered based on the query parameters.

var request = require("request");

var options = { 
  method: 'GET',
  url: 'http://localhost:3000/api/v1/exportdatacsv',
  headers: { 
    'cache-control': 'no-cache',
    'Content-Type': 'application/json',
    Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' 
  },
  qs: { 
    namedListId: '59df8524900914005c86c45f',
    select: 'name,category',
    activeOnly: true
  }
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log('Response Body:', body);
});

// if entity is provided

var request = require("request");

var options = { 
  method: 'GET',
  url: 'http://localhost:3000/api/v1/exportdatacsv',
  headers: { 
    'cache-control': 'no-cache',
    'Content-Type': 'application/json',
    Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' 
  },
  qs: { 
    entity: 'Product',
    select: 'name,category',
    activeOnly: true
  }
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);
  console.log('Response Body:', body);
});
OkHttpClient client = new OkHttpClient();

HttpUrl.Builder urlBuilder = HttpUrl.parse("http://localhost:3000/api/v1/exportdatacsv").newBuilder();
urlBuilder.addQueryParameter("namedListId", "59df8524900914005c86c45f");
urlBuilder.addQueryParameter("select", "name,category");
urlBuilder.addQueryParameter("activeOnly", "true");

Request request = new Request.Builder()
  .url(urlBuilder.build())
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
System.out.println(response.body().string());

// if entity is provided

OkHttpClient client = new OkHttpClient();

HttpUrl.Builder urlBuilder = HttpUrl.parse("http://localhost:3000/api/v1/exportdatacsv").newBuilder();
urlBuilder.addQueryParameter("entity", "Product");
urlBuilder.addQueryParameter("select", "name,category");
urlBuilder.addQueryParameter("activeOnly", "true");

Request request = new Request.Builder()
  .url(urlBuilder.build())
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
System.out.println(response.body().string());
var client = new RestClient("http://localhost:3000/api/v1/exportdatacsv?namedListId=59df8524900914005c86c45f&select=name,category&activeOnly=true");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

// if entity is provided

var client = new RestClient("http://localhost:3000/api/v1/exportdatacsv?entity=Product&select=name,category&activeOnly=true");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
request.AddHeader("cache-control", "no-cache");
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/exportdatacsv?namedListId=59df8524900914005c86c45f&select=name,category&activeOnly=true")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body

# if entity is provided

require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/exportdatacsv?entity=Product&select=name,category&activeOnly=true")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/exportdatacsv');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'namedListId' => '59df8524900914005c86c45f',
  'select' => 'name,category',
  'activeOnly' => 'true'
));

$request->setHeaders(array(
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo',
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();
  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}

// if entity is provided

<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/exportdatacsv');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'entity' => 'Product',
  'select' => 'name,category',
  'activeOnly' => 'true'
));

$request->setHeaders(array(
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo',
  'cache-control' => 'no-cache'
));

try {
  $response = $request->send();
  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/exportdatacsv?namedListId=59df8524900914005c86c45f&select=name,category&activeOnly=true HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Cache-Control: no-cache

#if entity is provided

GET /api/v1/exportdatacsv?entity=Product&select=name,category&activeOnly=true HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Cache-Control: no-cache
curl -X GET \
  'http://localhost:3000/api/v1/exportdatacsv?namedListId=59df8524900914005c86c45f&select=name,category&activeOnly=true' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
  -H 'cache-control: no-cache'

#if entity is provided

  curl -X GET \
  'http://localhost:3000/api/v1/exportdatacsv?entity=Product&select=name,category&activeOnly=true' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
  "cache-control": "no-cache"
]

var urlComponents = URLComponents(string: "http://localhost:3000/api/v1/exportdatacsv")!
urlComponents.queryItems = [
  URLQueryItem(name: "namedListId", value: "59df8524900914005c86c45f"),
  URLQueryItem(name: "select", value: "name,category"),
  URLQueryItem(name: "activeOnly", value: "true")
]

var request = URLRequest(url: urlComponents.url!)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let task = session.dataTask(with: request) { data, response, error in
  if let error = error {
    print("Error: \(error)")
  } else if let data = data, let responseString = String(data: data, encoding: .utf8) {
    print("Response: \(responseString)")
  }
}
task.resume()

///if entity is provided

import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
  "cache-control": "no-cache"
]

var urlComponents = URLComponents(string: "http://localhost:3000/api/v1/exportdatacsv")!
urlComponents.queryItems = [
  URLQueryItem(name: "entity", value: "Product"),
  URLQueryItem(name: "select", value: "name,category"),
  URLQueryItem(name: "activeOnly", value: "true")
]

var request = URLRequest(url: urlComponents.url!)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let task = session.dataTask(with: request) { data, response, error in
  if let error = error {
    print("Error: \(error)")
  } else if let data = data, let responseString = String(data: data, encoding: .utf8) {
    print("Response: \(responseString)")
  }
}
task.resume()

Note: Either entity or namedListId must be provided.

HTTP Request

GET /api/v1/exportdatacsv

Input Arguments

Parameter Type Required Description
entity String Conditional The name of the entity (model) to export data from. Either entity or namedListId must be provided, but not both.
namedListId String Conditional The ID of the named list to export data from. Either namedListId or entity must be provided, but not both.
select String No A comma-separated list of fields to include in the export.
activeOnly Boolean No If true, filters data to include only active records (e.g., non-expired).
query Object No Query object containing fields to filter. This parameter can only be used in conjunction with the entity parameter.

Output Arguments

The response will be in CSV format.

Notes

Flows

This API is compliant with the query interface described in Advanced Queries.

A flow allows the arrangement of rules and folders in a particular order of execution. This allows handling promotion stacking, conditional data loads, and other advanced concepts that are not possible with simple rule sets.

Flow Structure

{
    "_id": "5512a108b7565a201ff99feb",
    "name": "Sample Flow",
    "desc": "Main Program Flow",
    "program": "5512a108b7565a201ff99feb",
    "primary": "true",
    "graph": "",
    "logic": {
        "id" : "380e2333-e011-47d6-bc84-98d83a1790a6",
        "flows" : {
            "59312c3647b92e5c4fa57e90" : {
                "output" : {
                    "nodes" : [
                        {
                            "id" : "59312c3647b92e5c4fa57e93"
                        }
                    ],
                    "type" : "OR"
                },
                "rule" : {
                    "when" : [
                        {
                            "next" : {
                                "rule" : {
                                    "when" : [],
                                    "execution" : "parallel",
                                    "isFlow" : false,
                                    "name" : "59312c3647b92e5c4fa57e93",
                                    "id" : "59312c3647b92e5c4fa57e93"
                                }
                            },
                            "result" : "any"
                        }
                    ],
                    "execution" : "parallel",
                    "isFlow" : false,
                    "name" : "__START__",
                    "id" : "__START__"
                }
            }
        },
        "path" : {
            "output" : null,
            "rule" : {
                "when" : [
                    {
                        "next" : {
                            "rule" : {
                                "when" : [
                                    {
                                        "next" : {
                                            "rule" : {
                                                "when" : [ ],
                                                "execution" : "parallel",
                                                "isFlow" : true,
                                                "name" : "59312c3547b92e5c4fa57e80",
                                                "id" : "59312c3547b92e5c4fa57e80"
                                            }
                                        },
                                        "result" : "any"
                                    }
                                ],
                                "execution" : "parallel",
                                "isFlow" : false,
                                "name" : "59312c3547b92e5c4fa57e6e",
                                "id" : "59312c3547b92e5c4fa57e6e"
                            }
                        },
                        "result" : "any"
                    }
                ],
                "execution" : "parallel",
                "isFlow" : false,
                "name" : "__START__",
                "id" : "__START__"
            }
        }
    },
    "effectiveFrom": "2015-03-25T11:48:15.635Z",
    "effectiveTo": "2015-03-25T11:48:15.635Z",
    "createdAt": "2015-03-25T11:48:15.635Z",
    "updatedAt": "2015-03-25T11:48:15.635Z"
}
Field Type Description
_id String unique ObjectId string, generated by DB.
program String required Which program the flow belongs to.
name String required The Flow name.
graph String This is a UI-specific representation of the graphics representing the logic.
primary Boolean Tells whether the flow is primary in the program or a sub-flow.
logic JSON Program execution path.
rules Array A list of rules that are included in the flow.
desc String The description of the Flow.
effectiveFrom Date Start date for the period when the flow will be accessible to the engine.
effectiveTo Date End date for the period when the flow will be accessible to the engine.
isCleaned Boolean Set to true only when expired rules cleaned up by ExpiredRuleCleanup job

The object contains common fields

Read all Flows

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/flows',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/flows")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/flows");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/flows")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/flows');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/flows HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/flows \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/flows")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Flow objects.

This methods returns all flows in the system.

HTTP Request

GET /api/v1/flows

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
flows Array set of Flow objects
status Number Status Codes.

Read Flow by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/flows/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/flows/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/flows/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/flows/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/flows/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/flows/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/flows/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/flows/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Flow object.

This method returns the specified flow.

HTTP Request

GET /api/v1/flows/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Flow structure.
token string Authentication token.

Output Arguments

Name Type Description
flow JSON Flow object
status Number Status Codes.

Create Flow

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/flows',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    desc: 'Flow',
    name: 'Free Drink',
    program: '59de86b7584b770052aaacaf'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"Flow\",\n    \"name\": \"Free Drink\",\n    \"program\": \"59de86b7584b770052aaacaf\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/flows")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/flows");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"Flow\",\n    \"name\": \"Free Drink\",\n    \"program\": \"59de86b7584b770052aaacaf\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/flows")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"Flow\",\n    \"name\": \"Free Drink\",\n    \"program\": \"59de86b7584b770052aaacaf\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/flows');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "name": "Free Drink",
    "program": "59de86b7584b770052aaacaf",
    "desc": "Flow"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/flows HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "name": "Free Drink",
    "program": "59de86b7584b770052aaacaf",
    "desc": "Flow"
}
curl -X POST \
  http://dev:3000/api/v1/flows \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "name": "Free Drink",
    "program": "59de86b7584b770052aaacaf",
    "desc": "Flow"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "name": "Free Drink",
    "program": "59de86b7584b770052aaacaf",
    "desc": "Flow"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/flows")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Flow object.

This method creates a new flow.

HTTP Request

POST /api/v1/flows/

Input Arguments

Name Type Description
token string Authentication token.
flow JSON Flow object

Output Arguments

Name Type Description
flow JSON Flow object
status Number Status Codes.

Update Flow by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/flows/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    desc: 'Main flow for the program.'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"Main flow for the program.\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/flows/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/flows/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"Main flow for the program.\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/flows/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"Main flow for the program.\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/flows/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "desc": "Main flow for the program."
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/flows/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "desc": "Main flow for the program."
}
curl -X PUT \
  http://dev:3000/api/v1/flows/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "desc": "Main flow for the program."
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "desc": "Main flow for the program."
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/flows/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Flow object.

This method updates the specified flow.

HTTP Request

PUT /api/v1/flows/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Flow structure.
flow JSON Flow object

Output Arguments

Name Type Description
flow JSON Flow object
status Number Status Codes.

Delete Flow by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/flows/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/flows/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/flows/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/flows/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/flows/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/flows/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/flows/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/flows/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified flow.

HTTP Request

DELETE /api/v1/flows/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Flow`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Jobs

A job is a program that loads the data from a data-store to a target. They are commonly deployed in a server to run as per some schedule or trigger manually.

Job Structure

{
    "_id" : "5a7004e24bd2e00453c5ffd7",
    "createdBy" : "5a69c1871e040e3546b3fdc1",
    "updatedBy" : "5a69c1871e040e3546b3fdc1",
    "createdAt" : "2021-08-30T05:38:42.486Z",
    "updatedAt" : "2021-08-30T05:38:58.573Z",
    "org" : "5a69c1871e040e3546b3fdc2",
    "name" : "Generate Tree",
    "status" : "Completed",
    "submitTime" : "2021-08-30T05:38:42.485Z",
    "params" : [ 
        {
            "program" : "5a6eb03f4158e8204ce25cd8"
        }
    ],
    "__v" : 0,
    "completionTime" : "2021-08-30T05:38:58.569Z"
}
Field Type/Format Description
_id ObjectId readonly Unique value for every record
name String required Name of Job
status String Defines the state of the job
submitTime Date Job created timestamp
completionTime Date Job completed timestamp

The object contains common fields

Pick Latest Job

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/jobs/latest?query={"name":"Generate Tree","program":"5c59005b9a65de010d86057b"}',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/jobs/latest?query={"name":"Generate Tree","program":"5c59005b9a65de010d86057b"}")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/jobs/latest?query={"name":"Generate Tree","program":"5c59005b9a65de010d86057b"}");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/jobs/latest?query={"name":"Generate Tree","program":"5c59005b9a65de010d86057b"}")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/jobs/latest?query={"name":"Generate Tree","program":"5c59005b9a65de010d86057b"}');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/jobs/latest?query={"name":"Generate Tree","program":"5c59005b9a65de010d86057b"} HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/jobs/latest?query={"name":"Generate Tree","program":"5c59005b9a65de010d86057b"} \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIwYWJkcFRheFVoRVQ0VHRIUFNKYi8rcnZQcFNpSXRLNDV3YkYydHRYTGkwS1FOblJPSWx5K1V6OW1xaEdlY2dnNDhlbk0rUVRMS0I2MndYcnV6eWNiQ0RwWWZlS21sbUhBdXNoMkwzVDcyWVc4cHRSc1RvSis3K09BbUQvV05rcmNyS0xqUWFVU1d3TG80QURsWnhnV1ZCN29oMlplcHVQRGJwcTF1bXJEU3QzaUw3cXZzUFUxVW5pOTI0R2hOVE4iLCJleHAiOjE2MzAyNzQyNzg0MjIsImlhdCI6MTYzMDI0NTQ3OH0._PWlzXr9vZr1XPCWKuNvH24ELaitSKFkWgjfnuBORp4",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/jobs/latest?query={"name":"Generate Tree","program":"5c59005b9a65de010d86057b"}")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a latest job (#job-structure) object.

This method returns latest job in the system.

HTTP Request

GET /jobs/latest

Input Arguments

Name Type Description
token string Authentication token.
query JSON Object The query is used to pick the latest jobs. Ex: { name: 'Generate Tree', program: program id }
populate String It accepts comma separated string and populates data inside the reference. Ex:populate=program,memberId

Output Arguments

Name Type Description
res JSON returns the job object.
status Number Status Codes.

Namedlists

This API is compliant with the query interface described in Advanced Queries.

Named Lists are custom filters created on all the reference data. It is a subset of the different types of reference data.

Namedlist Structure

{
    "name": "PENN1LOTTOSCRATCHERS",
    "modelType": "Product",
    "type": "Dynamic",
    "query": "{"$and":[{"internalCode":{"$in":["345512","345248","344403","345517","345245","345519","345526","345518","347457"]}}]}",
    "inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}",
    "isORQuery": false,
    "isWildCardSearch": false,
    "count": 9,
    "refreshDate": "2019-02-21T20:58:24.144Z",
    "refreshedBy": "5c58f3c65c7f2d01074c8bc7",
    "org": "5c58d8570bf24c075fb5886c",
    "_id": "5c329d453ddd2b0102e181fe",
    "createdAt": "2019-01-07T00:28:53.543Z",
    "updatedAt": "2019-08-19T05:01:18.280Z",
    "createdBy": "5c58d8570bf24c075fb5886b",
    "updatedBy": "5c58d8570bf24c075fb5886b"
}
Field Type/Format Description
_id ObjectId readonly Unique value for every record
type String Accepts dynamic and static values
isORQuery Boolean Flag that determines if the specified query search would perform logical 'and' or logical 'or' operation
isWildCardSearch Boolean Performs wildcard search
count Number No of records retrieved based on the search query
name String required Name of named list
modelType String required Name of Associated data Collection on which named list is created
inclusionParams String Selection criteria
refreshDate Date Date on which it refreshed
query String mongodb query generated using inclusionparams
refreshedBy ObjectId Member who last refreshed this.

The object contains common fields

Read all Namedlists

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/namedlists',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/namedlists")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/namedlists");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/namedlists")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/namedlists');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/namedlists HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/namedlists \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/namedlists")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Namedlist objects.

This methods returns all namedlists in the system.

HTTP Request

GET /api/v1/namedlists

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
namedlists Array set of Namedlist objects
status Number Status Codes.

Read Namedlist by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/namedlists/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/namedlists/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/namedlists/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/namedlists/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/namedlists/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/namedlists/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/namedlists/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/namedlists/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Namedlist object.

This method returns the specified namedlist.

HTTP Request

GET /api/v1/namedlists/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Namedlist structure.
token string Authentication token.

Output Arguments

Name Type Description
namedlist JSON Namedlist object
status Number Status Codes.

Create Namedlist

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/namedlists',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    name: 'US2018P2HOTSANDWICH',
    modelType: 'Product',
    isWildCardSearch: 'false',
    inclusionParams: '{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}',
    isORQuery: 'false',
    type: 'Dynamic'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"isORQuery\": \"false\",\n    \"type\": \"Dynamic\",\n    \"modelType\": \"Product\",\n    \"isWildCardSearch\": \"false\",\n    \"name\": \"US2018P2HOTSANDWICH\",\n    \"inclusionParams\": \"{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/namedlists")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/namedlists");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"isORQuery\": \"false\",\n    \"type\": \"Dynamic\",\n    \"modelType\": \"Product\",\n    \"isWildCardSearch\": \"false\",\n    \"name\": \"US2018P2HOTSANDWICH\",\n    \"inclusionParams\": \"{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/namedlists")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"isORQuery\": \"false\",\n    \"type\": \"Dynamic\",\n    \"modelType\": \"Product\",\n    \"isWildCardSearch\": \"false\",\n    \"name\": \"US2018P2HOTSANDWICH\",\n    \"inclusionParams\": \"{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/namedlists');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "type": "Dynamic",
    "isORQuery": "false",
    "inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}",
    "isWildCardSearch": "false",
    "modelType": "Product",
    "name": "US2018P2HOTSANDWICH"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/namedlists HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "type": "Dynamic",
    "isORQuery": "false",
    "inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}",
    "isWildCardSearch": "false",
    "modelType": "Product",
    "name": "US2018P2HOTSANDWICH"
}
curl -X POST \
  http://dev:3000/api/v1/namedlists \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "type": "Dynamic",
    "isORQuery": "false",
    "inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}",
    "isWildCardSearch": "false",
    "modelType": "Product",
    "name": "US2018P2HOTSANDWICH"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "type": "Dynamic",
    "isORQuery": "false",
    "inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403,345517,345245,345519,345526,345518,347457","expr":null,"ids":null}}",
    "isWildCardSearch": "false",
    "modelType": "Product",
    "name": "US2018P2HOTSANDWICH"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/namedlists")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Namedlist object.

This method creates a new namedlist.

HTTP Request

POST /api/v1/namedlists/

Input Arguments

Name Type Description
token string Authentication token.
namedlist JSON Namedlist object

Output Arguments

Name Type Description
namedlist JSON Namedlist object
status Number Status Codes.

Update Namedlist by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    isWildCardSearch: 'true',
    inclusionParams: '{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"inclusionParams\": \"{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}\",\n    \"isWildCardSearch\": \"true\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"inclusionParams\": \"{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}\",\n    \"isWildCardSearch\": \"true\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"inclusionParams\": \"{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}\",\n    \"isWildCardSearch\": \"true\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}",
    "isWildCardSearch": "true"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/namedlists/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}",
    "isWildCardSearch": "true"
}
curl -X PUT \
  http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}",
    "isWildCardSearch": "true"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "inclusionParams": "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"345512,345248,344403","expr":null,"ids":null}}",
    "isWildCardSearch": "true"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Namedlist object.

This method updates the specified namedlist.

HTTP Request

PUT /api/v1/namedlists/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Namedlist structure.
namedlist JSON Namedlist object

Output Arguments

Name Type Description
namedlist JSON Namedlist object
status Number Status Codes.

Delete Namedlist by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/namedlists/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/namedlists/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified namedlist.

HTTP Request

DELETE /api/v1/namedlists/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Namedlist`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Refresh Namedlist

var request = require("request");

var options = { method: 'PATCH',
  url: 'http://localhost:3000/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516',
  headers: 
   { 'Postman-Token': '85a14f1d-5de1-429e-90f0-a76eafba2689',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516")
  .patch(null)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "59f77d35-190a-4397-8294-8ca49141781e")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Postman-Token", "3543990e-4658-4c32-8438-c66bceb1b95d");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = 'ff8b1e33-648c-4cbf-b216-546271d2392f'

response = http.request(request)
puts response.read_body
<?php

HttpRequest::methodRegister('PATCH');
$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516');
$request->setMethod(HttpRequest::HTTP_METH_PATCH);

$request->setHeaders(array(
  'Postman-Token' => 'ccc068ff-9efc-41e4-845a-2c441bbed1fb',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PATCH /api/v1/namedlist/refresh/5dcd0ef1057893003ea02516 HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY
Content-Type: application/json
cache-control: no-cache
Postman-Token: be134c2d-43bd-43e0-8b7e-3de17638adaa
curl -X PATCH \
  http://localhost:3000/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516 \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 248060d8-5066-4044-afe3-b834c1cab452' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJCYndYQXVFdnMxUnlmV3B6alplV0NHaXBZMHQ0SGIvYXk1NW91eUt0aWtoR3B4QjVDNitwVzRPZC96SE5Od3BwTHd1QTNLRDErNkN3NVhqclJVRVFqY3ZpTWhyTmdJVWNaVUMyZ3V6UHhNQ3M4R3Vtb3BHWFVPa2sxZE1wMXdYM09JdFh0WWlPWUEwYjJLbWVsbVM5b1Jlek5VM1lUZEF1Z3JDemlhS2RHRkJ1NXRuSlNCa2ZPWDlZcTJlYSt4RFciLCJleHAiOjE1NzM3MzY5NjI2MTgsImlhdCI6MTU3MzcwODE2Mn0.BuRM0UM0TCPuNSaEaH6j9s9ukodAncsM6LlCi_ZssxY",
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "7143dbb2-1ad9-4c90-adbf-fbdf01354e49"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/namedlist/refresh/5dcd0ef1057893003ea02516")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Namedlist object.

This method refreshes the specified namedlist.

HTTP Request

PATCH /api/v1/namedlist/refresh/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Namedlist structure.
token string Authentication token.

Output Arguments

Name Type Description
namedlist JSON Namedlist object
status Number Status Codes.

Refresh All Namedlist Object

Fields Description
name name of the job.
status status of the job.
params.query query to select the namedlists to be refreshed.
submitTime At the time of submission of job.
error error while submitting the job.
{
    "name": "NamedList Refresh",
    "status": "Running",
    "params": [
        {
            "query": "{\"$and\":[{\"name\":{\"$in\":[\"test_namedlist\"]}}],\"org\":\"5c58d8570bf24c075fb5886c\"}",
            "user": "5c58d8570bf24c075fb5886b"
        }
    ],
    "submitTime": "2019-11-19T05:13:21.920Z",
    "error": {},
    "org": "5c58d8570bf24c075fb5886c",
    "_id": "5dd379f1b17c05003fefb834",
    "createdAt": "2019-11-19T05:13:21.920Z",
    "updatedAt": "2019-11-19T05:13:21.920Z",
    "createdBy": "5c58d8570bf24c075fb5886b",
    "updatedBy": "5c58d8570bf24c075fb5886b"
}

Refresh All Namedlist

var request = require("request");

var options = { method: 'PATCH',
  url: 'http://localhost:3000/api/v1/namedlist/refreshall',
  headers: 
   { 'Postman-Token': 'f1b7bed2-26c6-4e3e-8c0e-0f972c3cb50c',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' },
  body: { queryParams: '{"name":{"isIncluded":true,"type":"string","searchStr":"test_namedlist","expr":null,"ids":null}}' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"queryParams\": \"{\\\"name\\\":{\\\"isIncluded\\\":true,\\\"type\\\":\\\"string\\\",\\\"searchStr\\\":\\\"test_namedlist\\\",\\\"expr\\\":null,\\\"ids\\\":null}}\"\n}");
Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/namedlist/refreshall")
  .patch(body)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "3ab8078e-b7a8-4127-a59a-c28263372720")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/namedlist/refreshall");
var request = new RestRequest(Method.PATCH);
request.AddHeader("Postman-Token", "1adeb78d-d252-42dc-89e8-cfabdeb01d5e");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
request.AddParameter("undefined", "{\n    \"queryParams\": \"{\\\"name\\\":{\\\"isIncluded\\\":true,\\\"type\\\":\\\"string\\\",\\\"searchStr\\\":\\\"test_namedlist\\\",\\\"expr\\\":null,\\\"ids\\\":null}}\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/namedlist/refreshall")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = 'd223955c-e3ed-410c-9f45-e9b05935efe6'
request.body = "{\n    \"queryParams\": \"{\\\"name\\\":{\\\"isIncluded\\\":true,\\\"type\\\":\\\"string\\\",\\\"searchStr\\\":\\\"test_namedlist\\\",\\\"expr\\\":null,\\\"ids\\\":null}}\"\n}"

response = http.request(request)
puts response.read_body
<?php

HttpRequest::methodRegister('PATCH');
$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/namedlist/refreshall');
$request->setMethod(HttpRequest::HTTP_METH_PATCH);

$request->setHeaders(array(
  'Postman-Token' => '31742951-6603-45db-93c1-5b9688f88cf7',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo'
));

$request->setBody('{
    "queryParams": "{\\"name\\":{\\"isIncluded\\":true,\\"type\\":\\"string\\",\\"searchStr\\":\\"test_namedlist\\",\\"expr\\":null,\\"ids\\":null}}"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PATCH /api/v1/namedlist/refreshall HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Content-Type: application/json
cache-control: no-cache
Postman-Token: 871e0dee-65e0-410b-b212-e8d814a19046
{
    "queryParams": "{\"name\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"test_namedlist\",\"expr\":null,\"ids\":null}}"
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X PATCH \
  http://localhost:3000/api/v1/namedlist/refreshall \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 3deba4ac-f082-4f0f-a14f-ae9f7a25e3f0' \
  -H 'cache-control: no-cache' \
  -d '{
    "queryParams": "{\"name\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"test_namedlist\",\"expr\":null,\"ids\":null}}"
}'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "890b51c8-c587-4b88-af79-ca9d2902637d"
]
let parameters = ["queryParams": "{\"name\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"test_namedlist\",\"expr\":null,\"ids\":null}}"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/namedlist/refreshall")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Namedlist refresh object.

This method refreshes all the namedlists. We can also select the specific namedlists to be refreshed by querying or else by giving ids in ids array. This method will call namedlist refresh job, job will be submitted with status running and processes in background.

HTTP Request

PATCH /api/v1/namedlist/refreshall

Input Arguments

Name Type Description
ids Array of namedlist ids Value references to "_id" field from Namedlist structure.
queryParams String Selection Criteria
token string Authentication token.

Output Arguments

Name Type Description
namedlist refresh JSON Namedlist refresh object
status Number Status Codes.

Notes

This API is to add service notes in our system.

Notes Structure

Sample Notes Object

{
    "note": "Added 10 points",
    "memberId": "600a5cce9a48590040859db8",
    "org": "5f107084a5ed8700bc09e5ec",
    "_id": "600e685d9a48590040859f2d",
    "createdAt": "2021-01-25T06:42:37.750Z",
    "updatedAt": "2021-01-25T06:51:20.511Z",
    "createdBy": "5f107084a5ed8700bc09e5eb",
    "updatedBy": "5f107084a5ed8700bc09e5eb"
}
field Type/Format Description
note String required Note
memberId ObjectId required _id field of the Member that is associated with the note.

The object contains common fields

Read all Notes

var token = 'eyJ0eXAiOiJKV1QiL';
var request = require('superagent');
request
    .GET('https://app.reactorcx.com/api/v1/notes')
    .set('Content-Type', 'application/json')
    .set('Authorization', 'Bearer ' + token)
    .end(function(res) {
        if (res.statusCode === 200){
            var notes = JSON.parse(res.text);
        }
    });

The above command returns an array of Notes objects.

HTTP Request

GET /api/v1/notes

This method retrieves all notes from the API. The result is always an array.

If there are no notes at API, the result will be empty an array.

You can see the full Notes structure.

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
notes Array set of Notes objects.
status Number Status Codes.

Read Note by ID

var token = 'eyJ0eXAiOiJKV1QiL';
var id = '5575cc7bbee6c00300164e22';
var request = require('superagent');
request
    .GET('https://app.reactorcx.com/api/v1/notes/' + id)
    .set('Content-Type', 'application/json')
    .set('Authorization', 'Bearer ' + token)
    .end(function(res) {
        if (res.statusCode === 200) {
            var note = JSON.parse(res.text);
        }
    });

The above command returns a Notes object.

This method retrieves a note by it's ID from the API. The result is always an object. If no notes meets the criteria, an empty object will be returned. You can see the full Notes structure.

HTTP Request

GET /api/v1/notes/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId Used to identify unique record from API.

Output Arguments

Name Type Description
note JSON Note object retrieved based on the id passed with Notes structure.
status Number Status Codes.

Create Notes

var token = 'eyJ0eXAiOiJKV1QiL';
var newNote = {
    "note":"Added points to us cups purse.",
    "memberId": "5f107084a5ed8700bc09e5ec"
};
var request = require('superagent');
request
    .POST('https://app.reactorcx.com/api/v1/notes/')
    .set('Content-Type', 'application/json')
    .set('Authorization', 'Bearer ' + token)
    .send(newNote)
    .end(function(res) {
        if (res.statusCode === 201){
            var note = JSON.parse(res.text);
        }
    });

The above command returns a Note object.

This method will create a new Note at the API. The result is always an object.

HTTP Request

POST /api/v1/notes

Input Arguments

Name Type Description
token string Authentication token.
newNote JSON New data to save in RCX API with Notes structure.

Output Arguments

Name Type Description
note JSON New data to save in RCX API with Notes structure.
status Number Status Codes.

Update Note by ID

var token = 'eyJ0eXAiOiJKV1QiL';
var id = '55845322979ad50300d1c7b8';
var newNote =  {
    "note":"updated note: Added points to US Points",
    "memberId": "5f107084a5ed8700bc09e5ec"
};
var request = require('superagent');
request
    .PUT('https://app.reactorcx.com/api/v1/notes/' + id)
    .set('Content-Type', 'application/json')
    .set('Authorization', 'Bearer ' + token)
    .send(newNote)
    .end(function(res) {
        if (res.statusCode === 201) {
            var note = JSON.parse(res.text);
        }
    });

The above command returns a Note object.

This method will update sent fields with the new values.

HTTP Request

PUT /api/v1/notes/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId Used to identify unique record from API.
newNote JSON New data to save in RCX API with Notes structure.

Output Arguments

Name Type Description
note JSON New data to save in RCX API with Notes structure.
status Number Status Codes.

Delete Note by ID

var token = 'eyJ0eXAiOiJKV1QiL';
var id = '55845322979ad50300d1c7b8';
var request = require('superagent');
request
    .DELETE('https://app.reactorcx.com/api/v1/notes/' + id)
    .set('Content-Type', 'application/json')
    .set('Authorization', 'Bearer ' + token)
    .end(function(res) {
        if (res.statusCode === 204) {
            var myRes = JSON.parse(res.text);
        }
    });

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes one Note from the API.

HTTP Request

DELETE /api/v1/notes/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId Used to identify unique record from API.

Output Arguments

Name Type Description
status Number Status Codes.

Users

This API is compliant with the query interface described in Advanced Queries.

Users are those who can access RCX.

User Structure

{
  "org": "5c58d8570bf24c075fb5886c",
  "login": "test3",
  "email": "test3.com",
  "blocked": false,
  "active": true,
  "tokenExpirationTime": 480,
  "sessMgmtFlag": true,
  "sessMultiFlag": true,
  "_id": "5c58d8570bf24c075fb5886b",
  "createdAt": "2019-02-05T00:27:03.073Z",
  "updatedAt": "2019-11-06T09:32:03.527Z",
  "createdBy": "5c58d8570bf24c075fb5886b"
}
field Type/Format Description
_id ObjectId required unique Unique ID
login String required Name of the user.
email String required unique Mail id of the user.
password String required Password to login.
blocked Boolean default: false Block status of user
active Boolean default: true Active status of user
uberFlag Boolean default: false
invalidLogIns Number default: 0 Number of the invalid logins by the user.
resetToken String Token assigned to user temporarily when requested for resetPassword.
resetTimestamp Date Period while the reset token is valid.
tokenExpirationTime Number default: 480 Expiration time of the token given to user.
logoutNum Number default: 0 Number of times user has been logout
lastAccess Date Last Access date by the user.
sessMgmtFlag Boolean default: true Whether to track UI sessions or not
sessMultiFlag Boolean default: true Whether to allow multiple sessions or not
activeSessions Number default: 0 Number of sessions active at some particular point of time
division ObjectId It provides restriction to user groups.

The object contains common fields

Read all Users

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/users',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/users")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/users");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/users")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/users');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/users HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/users \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/users")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of User objects.

This methods returns all users in the system.

HTTP Request

GET /api/v1/users

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
users Array set of User objects
status Number Status Codes.

Read User by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/users/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/users/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/users/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/users/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/users/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/users/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/users/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/users/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a User object.

This method returns the specified user.

HTTP Request

GET /api/v1/users/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from User structure.
token string Authentication token.

Output Arguments

Name Type Description
user JSON User object
status Number Status Codes.

Create User

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/users',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    email: 'test3.com',
    login: 'test3'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"email\": \"test3.com\",\n    \"login\": \"test3\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/users")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/users");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"email\": \"test3.com\",\n    \"login\": \"test3\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/users")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"email\": \"test3.com\",\n    \"login\": \"test3\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/users');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "email": "test3.com",
    "login": "test3"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/users HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "email": "test3.com",
    "login": "test3"
}
curl -X POST \
  http://dev:3000/api/v1/users \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "email": "test3.com",
    "login": "test3"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "email": "test3.com",
    "login": "test3"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/users")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a User object.

This method creates a new user.

HTTP Request

POST /api/v1/users/

Input Arguments

Name Type Description
token string Authentication token.
user JSON User object

Output Arguments

Name Type Description
user JSON User object
status Number Status Codes.

Update User by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/users/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    email: 'test4.com',
    tokenExpirationTime: '520'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"email\": \"test4.com\",\n    \"tokenExpirationTime\": \"520\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/users/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/users/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"email\": \"test4.com\",\n    \"tokenExpirationTime\": \"520\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/users/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"email\": \"test4.com\",\n    \"tokenExpirationTime\": \"520\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/users/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "email": "test4.com",
    "tokenExpirationTime": "520"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/users/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "email": "test4.com",
    "tokenExpirationTime": "520"
}
curl -X PUT \
  http://dev:3000/api/v1/users/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "email": "test4.com",
    "tokenExpirationTime": "520"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "email": "test4.com",
    "tokenExpirationTime": "520"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/users/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a User object.

This method updates the specified user.

HTTP Request

PUT /api/v1/users/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from User structure.
user JSON User object

Output Arguments

Name Type Description
user JSON User object
status Number Status Codes.

Delete User by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/users/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/users/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/users/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/users/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/users/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/users/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/users/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/users/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified user.

HTTP Request

DELETE /api/v1/users/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from User`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Reset Password Object

{
    "userID": "sev/Vamsikrishna",
    "token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
}
field Description
userID userName of the registered user.
token resetToken of the registered user.

Reset Password

var request = require("request");

var options = { method: 'POST',
  url: 'http://localhost:3000/api/v1/reset-password',
  headers: 
   { 'Postman-Token': 'ab737878-a610-43d5-9548-c98556767b27',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o' },
  body: 
   { userID: 'sev/Vamsikrishna',
     token: 'H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA==' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"userID\": \"sev/Vamsikrishna\",\n\t\"token\": \"H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA==\"\n}");
Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/reset-password")
  .post(body)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "c17967a9-842a-42c7-a6e0-45c987d04295")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/reset-password");
var request = new RestRequest(Method.POST);
request.AddHeader("Postman-Token", "0c70ec50-ceac-4820-b5c4-7dd10f0284d9");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o");
request.AddParameter("undefined", "{\n\t\"userID\": \"sev/Vamsikrishna\",\n\t\"token\": \"H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA==\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/reset-password")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = '4bf48a0b-114c-4cc1-9187-16272250cf4d'
request.body = "{\n\t\"userID\": \"sev/Vamsikrishna\",\n\t\"token\": \"H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA==\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/reset-password');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'Postman-Token' => 'b7d9701b-3697-439e-849d-64703aa9f933',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o'
));

$request->setBody('{
    "userID": "sev/Vamsikrishna",
    "token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/reset-password HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o
Content-Type: application/json
cache-control: no-cache
Postman-Token: 5a129b0b-12f9-4fd8-8397-6eea77829ac7
{
    "userID": "sev/Vamsikrishna",
    "token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X POST \
  http://localhost:3000/api/v1/reset-password \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 73e9c42f-6706-43ad-bf58-d8bf09305fd1' \
  -H 'cache-control: no-cache' \
  -d '{
    "userID": "sev/Vamsikrishna",
    "token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
}'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o",
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "e92dfcc8-913c-4035-94bb-f7fc64b160c0"
]
let parameters = [
  "userID": "sev/Vamsikrishna",
  "token": "H02hxiGx1knapu8CUMux9nzKIeYvpViYhuESxrhDk8aYx0lljPvWWMIAHOw1uJpJdGEdU/t8rugOcZAA4qYsQA=="
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/reset-password")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
{
    "message": "If the user you entered was a valid one, you should receive an email with further instructions."
}

The above command returns the object shown with property message.

This method sends the mail to the registered user's email id to reset password. It is called to set password for user while saving the record if the user is new or to update the user password.

HTTP Request

POST /api/v1/reset-password/

Input Arguments

Name Type Description
token string Authentication token.
user JSON User object
client String It helps to send reset password link to respective client. Ex:client=mcp

Output Arguments

Name Type Description
message JSON Message will be returned after the mail has been sent to registered user.
status Number Status Codes.

My Account

var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:3000/api/v1/myaccount',
  headers: 
   { 'Postman-Token': 'a10c5c36-0baf-4b8e-988c-e95d6a9238be',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/myaccount")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "d1ea7f66-0109-4db4-9cc4-df0edbcb90cc")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/myaccount");
var request = new RestRequest(Method.GET);
request.AddHeader("Postman-Token", "1324bb86-4374-499f-ab57-682f993ecccb");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/myaccount")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = 'd807c740-769c-4dec-b745-cf2f8a7bc65f'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/myaccount');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Postman-Token' => 'b05b5661-e341-4b58-8aa7-cacdb0b24b16',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/myaccount HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o
Content-Type: application/json
cache-control: no-cache
Postman-Token: 1661d116-5d92-4c81-9c46-64c562befef6
curl -X GET \
  http://localhost:3000/api/v1/myaccount \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: dfa73d87-14ba-4b56-9eab-43cc10c88670' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1QTkvaG1nSEk2R1BKK25oNEVuc1R0Z3BkaElNQlRhdnBVZFVQWEN4Zk1QU2M0NVE4QWhtc01lbjdpZ08zeVBQdmZ1SlNMbnMxTklqUkptYU9KTkt1ZzlkbjB0TEl4N3BKV1hkTUZUaDRnWGRNT2J5dTNLeElLOGNEMk9ta0xudVRQUEtCeVlNNk5hMU5iM3N1NjAzdTBRUWhoOGVBQThMM2xERTdXbGdUNjAwVktFb1o3OVRmMWJTRnYxNllsWXQiLCJleHAiOjE1NzQwOTEzMjM5MDQsImlhdCI6MTU3NDA2MjUyM30.5J9N00iuerX5oTV5GitAnwwKdPkvWLFNOkPUpbuDe5o",
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "94932e6f-ef93-4841-aeb5-bb5a694a78e5"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/myaccount")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
{
    "id": "5c58d8570bf24c075fb5886b",
    "login": "admin",
    "email": "change@sev.changeme.com"
}

The above command returns the id, login and email of the User object.

This method returns the account of the user.

HTTP Request

GET /api/v1/myaccount/

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
user JSON Returns id, login and email of User object.
status Number Status Codes.

Change Password

var request = require("request");

var options = { method: 'POST',
  url: 'http://localhost:3000/api/v1/myaccount/change-password',
  headers: 
   { 'Postman-Token': '30e827c5-bfbb-4bb5-b0ed-a218481bbb69',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ' },
  body: { oldPassword: 'wint00l$@', password: 'wint00l$!' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"oldPassword\": \"wint00l$@\",\n\t\"password\": \"wint00l$!\"\n}");
Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/myaccount/change-password")
  .post(body)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "661572c7-5dbd-439d-b395-48b6466ca10a")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/myaccount/change-password");
var request = new RestRequest(Method.POST);
request.AddHeader("Postman-Token", "4d5c2b9c-e4e0-4075-98f5-7f15c8782ca7");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ");
request.AddParameter("undefined", "{\n\t\"oldPassword\": \"wint00l$@\",\n\t\"password\": \"wint00l$!\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/myaccount/change-password")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = '8fa31fa6-f52a-4ad9-9fbc-5878ad0e8e11'
request.body = "{\n\t\"oldPassword\": \"wint00l$@\",\n\t\"password\": \"wint00l$!\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/myaccount/change-password');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'Postman-Token' => '0aa2ed8d-6c3f-4e09-8748-ef7694248973',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ'
));

$request->setBody('{
    "oldPassword": "wint00l$@",
    "password": "wint00l$!"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/myaccount/change-password HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ
Content-Type: application/json
cache-control: no-cache
Postman-Token: fecfe3d3-1fd8-4d82-83e7-7ec7bacb9e38
{
    "oldPassword": "wint00l$@",
    "password": "wint00l$!"
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X POST \
  http://localhost:3000/api/v1/myaccount/change-password \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 1ea0ebc4-8c0d-4611-be53-e39bbacd65ea' \
  -H 'cache-control: no-cache' \
  -d '{
    "oldPassword": "wint00l$@",
    "password": "wint00l$!"
}'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJueXRnOWpuSkVoUTZ3T2JEM0RZUE9NYXo4WDByMUxiTnA3cUhTdmxGWE9FS0o2NFR6aVQzdmJlS1RRMGh6eXVYWGl6UU45NUh4K0JFRm5IVk1wRXJlVG15bmYxNVFxZXVzRHRGK1A0Ly9XdkhPbEF0ckJVS25MS3BOUzdCNE4xT3JvY1pUdXJtS3lLbGlwRGlCSkswQm80YW10ZExaMFpveDQzRUNNUkhHSk12K3RWMEZzbnZWL1ZTT2I0Z3pxUHgiLCJleHAiOjE1NzQxMDQxMjgyNTcsImlhdCI6MTU3NDA3NTMyOH0.PYzWbom-vbx5gVTPc6caSWPr8CRD4BcEwTqEm5msOCQ",
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "49a66eec-0724-4d11-b137-947025364bdc"
]
let parameters = [
  "oldPassword": "wint00l$@",
  "password": "wint00l$!"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/myaccount/change-password")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
{
    "message": "Password is changed sucessfully."
}

The above command returns the object shown with property message.

This method is to change the password of the user.

HTTP Request

POST /api/v1/myaccount/change-password/

Input Arguments

Name Type Description
user JSON oldPassword and password(new password) of the user
token string Authentication token.

Output Arguments

Name Type Description
message JSON Returns the message saying Password is changed sucessfully.
status Number Status Codes.

Forgot UserId

var request = require("request");

var options = { method: 'POST',
  url: 'http://localhost:3000/api/v1/send-userid',
  headers: 
   { 'Postman-Token': '731f8434-e7bd-460d-81d5-6b0acadc75e4',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json' },
  body: { email: 'vkrishna45678@gmail.com' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"email\":\"vkrishna45678@gmail.com\"\n}");
Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/send-userid")
  .post(body)
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "27136365-1d36-4b37-ae84-22bd319ea962")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/send-userid");
var request = new RestRequest(Method.POST);
request.AddHeader("Postman-Token", "d7706087-d14b-43d2-84fc-34a54bfe186e");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddParameter("undefined", "{\n\t\"email\":\"vkrishna45678@gmail.com\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/send-userid")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = '580f7f60-f985-47d6-aa91-7d91d46a2980'
request.body = "{\n\t\"email\":\"vkrishna45678@gmail.com\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/send-userid');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'Postman-Token' => '3254ba12-722c-47fd-838d-32ebbf4aea38',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json'
));

$request->setBody('{
    "email":"vkrishna45678@gmail.com"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/send-userid HTTP/1.1
Host: localhost:3000
Content-Type: application/json
cache-control: no-cache
Postman-Token: 50aa0296-9489-4ef2-9ee3-9d7d61edaaf5
{
    "email":"vkrishna45678@gmail.com"
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X POST \
  http://localhost:3000/api/v1/send-userid \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 27547a53-5b73-4f37-b19a-973d5bdd8f3d' \
  -H 'cache-control: no-cache' \
  -d '{
    "email":"vkrishna45678@gmail.com"
}'
import Foundation

let headers = [
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "f2c08161-5fc1-4757-a251-8125c8b1209c"
]
let parameters = ["email": "vkrishna45678@gmail.com"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/send-userid")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
{
    "message": "If the email you entered was a valid user email, you should receive an email with further instructions."
}

The above command returns the object shown with property message.

This method sends the user id to registered email address of user when user forgets.

HTTP Request

POST /api/v1/send-userid/

Input Arguments

Name Type Description
email JSON email of the user

Output Arguments

Name Type Description
message JSON Message will be returned after the mail has been sent to registered user.
status Number Status Codes.

Locations

This API is compliant with the query interface described in Advanced Queries.

Locations are either physical or online sites where business is trasacted and activites are generated.

Location Structure

{
    "name": "Corporate",
    "desc": "Corporate office",
    "city": "Seattle",
    "state": "WA",
    "country": "USA",
    "zipCode": "98119",
    "timeZone": "America/Los Angeles",
    "number": "0000",
    "_id": "59de97de584b770052aab641",
    "createdAt": "2017-10-11T22:14:54.688Z",
    "updatedAt": "2017-10-12T04:23:07.667Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df",
    "geoPoint": {"coordinates":["60","50"]}
}
field Type/Format Description
_id ObjectId required unique Unique ID
name String required unique the name of the location
number String unique location number
desc String the description of the location
city String location city
state String location state
zipCode String location zipCode
country String location Country
timeZone String Default: UTC “Area/Location” based time zone.
geoPoint Object coordinates sub-object with latitude and longitude
status String Status of the location.

The object contains common fields

Read all Locations

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/locations',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/locations")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/locations");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/locations")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/locations');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/locations HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/locations \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/locations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Location objects.

This methods returns all locations in the system.

HTTP Request

GET /api/v1/locations

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
locations Array set of Location objects
status Number Status Codes.

Read Location by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/locations/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/locations/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/locations/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/locations/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/locations/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/locations/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/locations/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/locations/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Location object.

This method returns the specified location.

HTTP Request

GET /api/v1/locations/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Location structure.
token string Authentication token.

Output Arguments

Name Type Description
location JSON Location object
status Number Status Codes.

Create Location

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/locations',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    timeZone: 'America/Los Angeles',
    country: 'USA',
    state: 'WA',
    name: 'Flagship',
    city: 'Seattle',
    zipCode: 98119,
    number: '9910',
    desc: 'Flagship Store and Central Offices'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"timeZone\": \"America/Los Angeles\",\n    \"country\": \"USA\",\n    \"name\": \"Flagship\",\n    \"state\": \"WA\",\n    \"number\": \"9910\",\n    \"desc\": \"Flagship Store and Central Offices\",\n    \"city\": \"Seattle\",\n    \"zipCode\": 98119\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/locations")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/locations");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"timeZone\": \"America/Los Angeles\",\n    \"country\": \"USA\",\n    \"name\": \"Flagship\",\n    \"state\": \"WA\",\n    \"number\": \"9910\",\n    \"desc\": \"Flagship Store and Central Offices\",\n    \"city\": \"Seattle\",\n    \"zipCode\": 98119\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/locations")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"timeZone\": \"America/Los Angeles\",\n    \"country\": \"USA\",\n    \"name\": \"Flagship\",\n    \"state\": \"WA\",\n    \"number\": \"9910\",\n    \"desc\": \"Flagship Store and Central Offices\",\n    \"city\": \"Seattle\",\n    \"zipCode\": 98119\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/locations');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "country": "USA",
    "timeZone": "America/Los Angeles",
    "zipCode": "98119",
    "city": "Seattle",
    "number": "9910",
    "desc": "Flagship Store and Central Offices",
    "state": "WA",
    "name": "Flagship"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/locations HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "country": "USA",
    "timeZone": "America/Los Angeles",
    "zipCode": "98119",
    "city": "Seattle",
    "number": "9910",
    "desc": "Flagship Store and Central Offices",
    "state": "WA",
    "name": "Flagship"
}
curl -X POST \
  http://dev:3000/api/v1/locations \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "country": "USA",
    "timeZone": "America/Los Angeles",
    "zipCode": "98119",
    "city": "Seattle",
    "number": "9910",
    "desc": "Flagship Store and Central Offices",
    "state": "WA",
    "name": "Flagship"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "country": "USA",
    "timeZone": "America/Los Angeles",
    "zipCode": "98119",
    "city": "Seattle",
    "number": "9910",
    "desc": "Flagship Store and Central Offices",
    "state": "WA",
    "name": "Flagship"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/locations")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Location object.

This method creates a new location.

HTTP Request

POST /api/v1/locations/

Input Arguments

Name Type Description
token string Authentication token.
location JSON Location object

Output Arguments

Name Type Description
location JSON Location object
status Number Status Codes.

Update Location by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/locations/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    desc: 'Flagship Store',
    state: 'CA'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"state\": \"CA\",\n    \"desc\": \"Flagship Store\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/locations/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/locations/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"state\": \"CA\",\n    \"desc\": \"Flagship Store\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/locations/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"state\": \"CA\",\n    \"desc\": \"Flagship Store\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/locations/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "desc": "Flagship Store",
    "state": "CA"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/locations/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "desc": "Flagship Store",
    "state": "CA"
}
curl -X PUT \
  http://dev:3000/api/v1/locations/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "desc": "Flagship Store",
    "state": "CA"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "desc": "Flagship Store",
    "state": "CA"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/locations/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Location object.

This method updates the specified location.

HTTP Request

PUT /api/v1/locations/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Location structure.
location JSON Location object

Output Arguments

Name Type Description
location JSON Location object
status Number Status Codes.

Delete Location by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/locations/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/locations/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/locations/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/locations/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/locations/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/locations/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/locations/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/locations/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified location.

HTTP Request

DELETE /api/v1/locations/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Location`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Get Location Offers

var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/offers',
  headers: 
   { 'Postman-Token': '0509a3af-5703-48fb-a56c-4da6f3cfb3a5',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/offers")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "9a0093b9-115f-4f2e-9194-c6a1880243f6")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/offers");
var request = new RestRequest(Method.GET);
request.AddHeader("Postman-Token", "53ee621a-1b87-45fe-a9c1-f75bcda261fc");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/offers")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = '332bd238-e6e3-4c3b-9811-3dd9d2a6d468'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/offers');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Postman-Token' => '3c14d85f-dc9f-4768-b3de-a53a679905d0',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/locations/5e7899b48b362c003ffe0e32/offers HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho
Content-Type: application/json
cache-control: no-cache
Postman-Token: a8f7285d-d62a-40f2-b69c-49dc34139869
curl -X GET \
  http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/offers \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 3232da23-017f-428a-b751-e145d4aa09a8' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho",
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "15e9aff1-c3ee-442b-93d3-3960dd5ab208"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/offers")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of the Reward Policy object.

[
    {
        "name": "testPolicy1",
        "desc": "",
        "isAppeasement": false,
        "expirationHours": 0,
        "numUses": 1,
        "perDayLimit": 0,
        "perWeekLimit": 0,
        "perOfferLimit": 0,
        "countLimit": 0,
        "redemptions": 0,
        "availableRedemptions": 1,
        "effectiveDate": "2020-03-23T00:00:00.000Z",
        "expirationDate": "2020-03-31T23:59:59.999Z",
        "activityBasedExpiration": false,
        "expiryWarningDays": [],
        "expirationSnapTo": "now",
        "allowItemOverlap": false,
        "intendedUse": "Global Offer",
        "upc": "00000000000111",
        "priority": 0,
        "program": "5c59005b9a65de010d86057b",
        "segments": [],
        "mandatorySegments": [],
        "canPreview": false,
        "org": "5c58d8570bf24c075fb5886c",
        "minPurchaseAmount": 0,
        "locations": {
            "isIncluded": true,
            "count": 1,
            "inclusionParams": "{\"number\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"2020\"}}",
            "isORQuery": false,
            "isWildCardSearch": false,
            "namedList": null,
            "query": "{\"$and\":[{\"number\":{\"$in\":[\"2020\"]}}]}"
        },
        "mandatoryProducts": {
            "isDisabled": true,
            "isIncluded": true,
            "inclusionParams": "{}",
            "isORQuery": false,
            "isWildCardSearch": false,
            "query": "{}"
        },
        "primaryProducts": {
            "isDisabled": true,
            "isIncluded": true,
            "inclusionParams": "{}",
            "isORQuery": false,
            "isWildCardSearch": false,
            "query": "{}"
        },
        "secondaryProducts": {
            "isDisabled": true,
            "isORQuery": false,
            "isWildCardSearch": false,
            "query": "{}"
        },
        "tertiaryProducts": {
            "isDisabled": true,
            "isORQuery": false,
            "isWildCardSearch": false,
            "query": "{}"
        },
        "excludedProducts": {
            "isDisabled": true,
            "isIncluded": true,
            "inclusionParams": "{}",
            "isORQuery": false,
            "isWildCardSearch": false,
            "query": "{}"
        },
        "expiryUnit": "Hours",
        "expiryValue": 0,
        "budget": 0,
        "budgetUsed": 0,
        "availableBudget": 1,
        "discountType": "Mix and Match",
        "price": 10,
        "pricingType": "Package Percent Off",
        "primaryProdPricingType": null,
        "primaryProdDiscValue": null,
        "primaryProdMaxDisc": null,
        "secondaryProductQuantity": null,
        "secondaryProdPricingType": null,
        "secondaryProdDiscValue": null,
        "secondaryProdMaxDisc": null,
        "tertiaryProductQuantity": null,
        "tertiaryProdPricingType": null,
        "tertiaryProdDiscValue": null,
        "tertiaryProdMaxDisc": null,
        "availability": {
            "sunday": {
                "isEnabled": true,
                "startHours": 0,
                "startMins": 0,
                "endHours": 23,
                "endMins": 59
            },
            "monday": {
                "isEnabled": true,
                "startHours": 0,
                "startMins": 0,
                "endHours": 23,
                "endMins": 59
            }
        },
        "upcMapping": [],
        "applicableMemberStatus": [],
        "eligibilityQuery": "",
        "transactionLimit": 0,
        "_id": "5e78a0278b362c003ffe0f68",
        "createdAt": "2020-03-23T11:40:23.880Z",
        "updatedAt": "2020-03-23T11:40:23.880Z",
        "createdBy": "5c58d8570bf24c075fb5886b",
        "updatedBy": "5c58d8570bf24c075fb5886b",
        "ext": {
            "couponDefId": "4000000412",
            "rewardDefId": "4000000410",
            "visibleDate": "",
            "testStartDate": "",
            "testEndDate": ""
        },
        "optInFlag": true,
        "hasOverride": true
    }
]

This method will find all eligible reward policies (only global offers) that are applicable to the specific location including opt-in/opt-out status.

HTTP Request

GET /api/v1/locations/:locId/offers

Input Arguments

Name Type Description
token String Authentication token.
locId ObjectId Reference to "_id" field from location
utcOffset Number UTC offset (Time difference in minutes from UTC).
txnDate Date txnDate is used to filter out the reward policies by quering on effectiveDate and expirationDate. effectiveDate: {$lte: options.date}, expirationDate: {$gte: options.date}
limit Number Used to limit the number of results.
skip Number Used to skip a number of records (for pagination).
query JSON Object The query is used to filter out the reward policies retrieved using other fields of it. Ex: {"name": "rewardPolicyName", "isAppeasement":false}
select String It accepts comma separated string and returns only the fields in select. Ex:select=name,program
excludeFuture Boolean Excludes future offers when set to true.

Output Arguments

Name Type Description
Array JSON An array of Reward Policy records(only global offers are retrieved).
status Number Status Codes

Get Location Promos

var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/rules',
  headers: 
   { 'Postman-Token': '514e9391-ed3f-4e7f-a445-5623192d8171',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/rules")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "ec6d452f-0818-4502-a635-bdfd8cbfe12e")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/rules");
var request = new RestRequest(Method.GET);
request.AddHeader("Postman-Token", "726de68d-0bbf-4bd2-b5e7-4e376a28aeda");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/rules")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = 'df577ecb-f62e-47a4-94ff-f9cab7658147'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/rules');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Postman-Token' => 'a6555b57-63bb-4d81-8eb5-d817292f9d6c',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/locations/5e7899b48b362c003ffe0e32/rules HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho
Content-Type: application/json
cache-control: no-cache
Postman-Token: 93fe8e6c-823b-47b1-830e-26e581437908
curl -X GET \
  http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/rules \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 68ba7ee3-6992-408f-9e6e-a0591123b643' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJRY1MxQ25aMlBURjJ5SGtsck5HQXRCd2NKckwrTTc2dWw2UUJMZE92dnBmYjgyS3Rpczl2NmdiTkNmeFJVbjE2ZE8zYm8zT1FVU2ovU2pmQTFJR2cxd0drSjNFKzQ4V1hEMW5vR1VtUnlielpYSE80eG43VnhOdVo4eEVhRWpWKzdIczZiMjVRTFVWWTNwN0dkYzRSOHlOZEpMQ241RkRnbzB3RkJLTHE5R1h3TWlTZTB4dmNUUkNvdDR1bTBNY3YiLCJleHAiOjE1ODQ5OTE2NTg5MjIsImlhdCI6MTU4NDk2Mjg1OH0.RRcba7VbXd-Gq6vMtV7pASwMVZn_c-h38n3SwWUznho",
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "67e867de-53b4-4321-9ebd-71ee5559df7d"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/locations/5e7899b48b362c003ffe0e32/rules")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of the Rule object.

[
    {
        "name": "testRule",
        "ruleFolder": null,
        "program": "5c59005b9a65de010d86057b",
        "conditions": [
            {
                "name": "testRule",
                "logicJSON": "{\"group\":{\"operator\":\"and\",\"rules\":[]}}",
                "_id": "5e78a3fa8b362c003ffe0f79"
            }
        ],
        "actions": [
            {
                "name": "testRule",
                "logicJSON": "{}",
                "_id": "5e78a3fa8b362c003ffe0f7a"
            }
        ],
        "effectiveFrom": "2020-03-23T00:00:00.000Z",
        "effectiveTo": null,
        "priority": 0,
        "segments": [],
        "mandatorySegments": [],
        "ruleExecutionType": "Generic",
        "bonusType": "Points",
        "bonusValue": 0,
        "locations": {
            "isIncluded": true,
            "count": 1,
            "inclusionParams": "{\"number\":{\"isIncluded\":true,\"type\":\"string\",\"searchStr\":\"2020\"}}",
            "isORQuery": false,
            "isWildCardSearch": false,
            "namedList": null,
            "query": "{\"$and\":[{\"number\":{\"$in\":[\"2020\"]}}]}"
        },
        "mandatoryProducts": {
            "isDisabled": true,
            "isIncluded": true,
            "inclusionParams": "{}",
            "isORQuery": false,
            "isWildCardSearch": false,
            "query": "{}"
        },
        "mandatoryExpectedQty": 0,
        "primaryProducts": {
            "isDisabled": true,
            "isIncluded": true,
            "inclusionParams": "{}",
            "isORQuery": false,
            "isWildCardSearch": false,
            "query": "{}"
        },
        "primaryExpectedQty": 0,
        "secondaryProducts": {
            "isDisabled": true,
            "isIncluded": true,
            "inclusionParams": "{}",
            "isORQuery": false,
            "isWildCardSearch": false,
            "query": "{}"
        },
        "secondaryExpectedQty": 0,
        "tertiaryProducts": {
            "isDisabled": true,
            "isIncluded": true,
            "inclusionParams": "{}",
            "isORQuery": false,
            "isWildCardSearch": false,
            "query": "{}"
        },
        "tertiaryExpectedQty": 0,
        "canPreview": false,
        "availability": {
            "sunday": {
                "isEnabled": true,
                "startHours": 0,
                "startMins": 0,
                "endHours": 23,
                "endMins": 59
            },
            "monday": {
                "isEnabled": true,
                "startHours": 0,
                "startMins": 0,
                "endHours": 23,
                "endMins": 59
            }
        },
        "applicableMemberStatus": [],
        "org": "5c58d8570bf24c075fb5886c",
        "_id": "5e78a3f88b362c003ffe0f72",
        "createdAt": "2020-03-23T11:56:40.515Z",
        "updatedAt": "2020-03-23T11:56:40.515Z",
        "createdBy": "5c58d8570bf24c075fb5886b",
        "updatedBy": "5c58d8570bf24c075fb5886b",
        "ext": {
            "promoDefId": 4000000414,
            "streakEndDate": "",
            "testStartDate": "",
            "testEndDate": ""
        },
        "optInFlag": true,
        "hasOverride": true
    }
]

This method will find all eligible rules that are applicable to the specific location including opt-in/opt-out status.

HTTP Request

GET /api/v1/locations/:locId/rules

Input Arguments

Name Type Description
token String Authentication token.
locId ObjectId Reference to "_id" field from location
filter String Comma-separated list of what to return - valid values are all and promo. If all then all the rules and for promo only the rules which are in promo ruleFolder (isPromoFolder:true) are retrieved with specific to locId.
utcOffset Number UTC offset (Time difference in minutes from UTC).
txnDate Date txnDate is used to filter out the rules by quering on effectiveFrom and effectiveTo. effectiveFrom: {$lte: options.date}, effectiveTo: {$gte: options.date}
limit Number Used to limit the number of results.
skip Number Used to skip a number of records (for pagination).
query JSON Object The query is used to filter out the rules retrieved using other fields of it. Ex: {"ruleFolder": "5e7c63a4d292560049b7f67c", "name":"testRuleF"}
select String It accepts comma separated string and returns only the fields in select. Ex:select=name,ruleFolder

Output Arguments

Name Type Description
Array JSON An array of Rules records.
status Number Status Codes

Locationoverrides

This API is compliant with the query interface described in Advanced Queries.

Locationoverrides are the certain stores which are opted out or opted in for the reward policies that would normally apply to them.

Locationoverride Structure

{
    "targetId": "59df8519f2764809adaccdff",
    "targetType": "RewardPolicy",
    "locId": "59de84728d69b9006b82963a",
    "optInFlag": "true",
    "_id": "59de97de584b770052aab641",
    "createdAt": "2017-10-11T22:14:54.688Z",
    "updatedAt": "2017-10-12T04:23:07.667Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df"
}
field Type/Format Description
_id ObjectId required unique Unique ID
targetId ObjectId required To which object we are applying location overrides
targetType String required To which the targetId is pointing to (RewardPolicy/Rule)
locId ObjectId required Which location is opted in/out
optInFlag Boolean default: false For location opt in:true, opt out:false

The object contains common fields

Read all Locationoverrides

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/locationoverrides',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/locationoverrides")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/locationoverrides");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/locationoverrides")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/locationoverrides');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/locationoverrides HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/locationoverrides \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/locationoverrides")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Locationoverride objects.

This methods returns all locationoverrides in the system.

HTTP Request

GET /api/v1/locationoverrides

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
locationoverrides Array set of Locationoverride objects
status Number Status Codes.

Read Locationoverride by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/locationoverrides/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/locationoverrides/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/locationoverrides/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/locationoverrides/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/locationoverrides/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/locationoverrides/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/locationoverrides/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/locationoverrides/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Locationoverride object.

This method returns the specified locationoverride.

HTTP Request

GET /api/v1/locationoverrides/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Locationoverride structure.
token string Authentication token.

Output Arguments

Name Type Description
locationoverride JSON Locationoverride object
status Number Status Codes.

Create Locationoverride

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/locationoverrides',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    targetType: 'RewardPolicy',
    locId: '59de84728d69b9006b82963a',
    targetId: '59df8519f2764809adaccdff'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"targetId\": \"59df8519f2764809adaccdff\",\n    \"locId\": \"59de84728d69b9006b82963a\",\n    \"targetType\": \"RewardPolicy\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/locationoverrides")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/locationoverrides");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"targetId\": \"59df8519f2764809adaccdff\",\n    \"locId\": \"59de84728d69b9006b82963a\",\n    \"targetType\": \"RewardPolicy\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/locationoverrides")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"targetId\": \"59df8519f2764809adaccdff\",\n    \"locId\": \"59de84728d69b9006b82963a\",\n    \"targetType\": \"RewardPolicy\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/locationoverrides');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "targetType": "RewardPolicy",
    "targetId": "59df8519f2764809adaccdff",
    "locId": "59de84728d69b9006b82963a"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/locationoverrides HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "targetType": "RewardPolicy",
    "targetId": "59df8519f2764809adaccdff",
    "locId": "59de84728d69b9006b82963a"
}
curl -X POST \
  http://dev:3000/api/v1/locationoverrides \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "targetType": "RewardPolicy",
    "targetId": "59df8519f2764809adaccdff",
    "locId": "59de84728d69b9006b82963a"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "targetType": "RewardPolicy",
    "targetId": "59df8519f2764809adaccdff",
    "locId": "59de84728d69b9006b82963a"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/locationoverrides")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Locationoverride object.

This method creates a new locationoverride.

HTTP Request

POST /api/v1/locationoverrides/

Input Arguments

Name Type Description
token string Authentication token.
locationoverride JSON Locationoverride object

Output Arguments

Name Type Description
locationoverride JSON Locationoverride object
status Number Status Codes.

Update Locationoverride by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    optInFlag: 'false'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"optInFlag\": \"false\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"optInFlag\": \"false\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"optInFlag\": \"false\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "optInFlag": "false"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/locationoverrides/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "optInFlag": "false"
}
curl -X PUT \
  http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "optInFlag": "false"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "optInFlag": "false"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Locationoverride object.

This method updates the specified locationoverride.

HTTP Request

PUT /api/v1/locationoverrides/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Locationoverride structure.
locationoverride JSON Locationoverride object

Output Arguments

Name Type Description
locationoverride JSON Locationoverride object
status Number Status Codes.

Delete Locationoverride by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/locationoverrides/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/locationoverrides/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified locationoverride.

HTTP Request

DELETE /api/v1/locationoverrides/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Locationoverride`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

LoyaltyIds

This API is compliant with the query interface described in Advanced Queries.

A loyalty id is a unique piece of information used to identify a member at a point of activity. For example, it could be a membership card that is scanned, or a phone number which is entered at the Point of Sale. Members can have multiple loyalty ids by which they can be identified.

A loyalty id is unique across all memberships and can not be associated with more than 1 member.

LoyaltyId Structure

{
    "name": "SVC",
    "loyaltyId": "123",
    "memberId": "5a0105d5ef8d36005660e7c0",
    "_id": "5a02049cb3bd6100562adfdd",
    "createdAt": "2017-11-07T19:08:12.111Z",
    "updatedAt": "2017-11-07T19:08:12.111Z",
    "createdBy": "5a01006f45cb2a00772046c3",
    "updatedBy": "5a01006f45cb2a00772046c3"
}
field Type/Format Description
_id ObjectId required unique Unique ID
name String required name of the loyalty id - e.g. SVC, Card, Phone, etc. - validated by Enums with type=LoyaltyID.
loyaltyId String required the description of the loyalty id
memberId String required _id field of the Member that is associated with this id.
accrueTo ObjectId id of the group member to whom points to be added
status String status of the loyalty id(Active/Disabled/Locked/New/PreEnrolled)
primary Boolean whether loyalty id is primary or not

The object contains common fields

Read all LoyaltyIds

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/loyaltyids',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/loyaltyids")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/loyaltyids");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/loyaltyids")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/loyaltyids');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/loyaltyids HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/loyaltyids \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/loyaltyids")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of LoyaltyId objects.

This methods returns all loyaltyids in the system.

HTTP Request

GET /api/v1/loyaltyids

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
loyaltyids Array set of LoyaltyId objects
status Number Status Codes.

Read LoyaltyId by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/loyaltyids/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/loyaltyids/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/loyaltyids/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/loyaltyids/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/loyaltyids/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/loyaltyids/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/loyaltyids/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/loyaltyids/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a LoyaltyId object.

This method returns the specified loyaltyid.

HTTP Request

GET /api/v1/loyaltyids/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from LoyaltyId structure.
token string Authentication token.

Output Arguments

Name Type Description
loyaltyid JSON LoyaltyId object
status Number Status Codes.

Create LoyaltyId

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/loyaltyids',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    loyaltyId: '1234567890',
    memberId: '5a0105d5ef8d36005660e7c0',
    name: 'Membership Card'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"memberId\": \"5a0105d5ef8d36005660e7c0\",\n    \"loyaltyId\": \"1234567890\",\n    \"name\": \"Membership Card\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/loyaltyids")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/loyaltyids");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"memberId\": \"5a0105d5ef8d36005660e7c0\",\n    \"loyaltyId\": \"1234567890\",\n    \"name\": \"Membership Card\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/loyaltyids")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"memberId\": \"5a0105d5ef8d36005660e7c0\",\n    \"loyaltyId\": \"1234567890\",\n    \"name\": \"Membership Card\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/loyaltyids');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "memberId": "5a0105d5ef8d36005660e7c0",
    "loyaltyId": "1234567890",
    "name": "Membership Card"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/loyaltyids HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "memberId": "5a0105d5ef8d36005660e7c0",
    "loyaltyId": "1234567890",
    "name": "Membership Card"
}
curl -X POST \
  http://dev:3000/api/v1/loyaltyids \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "memberId": "5a0105d5ef8d36005660e7c0",
    "loyaltyId": "1234567890",
    "name": "Membership Card"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "memberId": "5a0105d5ef8d36005660e7c0",
    "loyaltyId": "1234567890",
    "name": "Membership Card"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/loyaltyids")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a LoyaltyId object.

This method creates a new loyaltyid.

HTTP Request

POST /api/v1/loyaltyids/

Input Arguments

Name Type Description
token string Authentication token.
loyaltyid JSON LoyaltyId object

Output Arguments

Name Type Description
loyaltyid JSON LoyaltyId object
status Number Status Codes.

Update LoyaltyId by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    name: 'Phone'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"Phone\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"name\": \"Phone\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"name\": \"Phone\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "name": "Phone"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/loyaltyids/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "name": "Phone"
}
curl -X PUT \
  http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "name": "Phone"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "name": "Phone"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a LoyaltyId object.

This method updates the specified loyaltyid.

HTTP Request

PUT /api/v1/loyaltyids/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from LoyaltyId structure.
loyaltyid JSON LoyaltyId object

Output Arguments

Name Type Description
loyaltyid JSON LoyaltyId object
status Number Status Codes.

Delete LoyaltyId by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/loyaltyids/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/loyaltyids/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified loyaltyid.

HTTP Request

DELETE /api/v1/loyaltyids/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from LoyaltyId`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Update LoyaltyID by LoyaltyID

var request = require("request");

var options = { method: 'PATCH',
  url: 'http://dev:3000/api/v1/loyaltyids/26347598?lookupByLID=true',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' },
  body: { status: 'Inactive' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"status\": \"Inactive\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/loyaltyids/26347598?lookupByLID=true")
  .patch(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/loyaltyids/26347598?lookupByLID=true");
var request = new RestRequest(Method.PATCH);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.AddParameter("application/json", "{\n\t\"status\": \"Inactive\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/loyaltyids/26347598?lookupByLID=true")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Patch.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n\t\"status\": \"Inactive\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/loyaltyids/26347598?lookupByLID=true');
$request->setMethod(HTTP_METH_PATCH);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

$request->setBody('{
    "status": "Inactive"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PATCH /api/v1/loyaltyids/26347598?lookupByLID=true HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
    "status": "Inactive"
}
curl -X PATCH \
  http://dev:3000/api/v1/loyaltyids/26347598?lookupByLID=true \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "status": "Inactive"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = ["status": "Inactive"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/loyaltyids/26347598?lookupByLID=true")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a LoyaltyID object.

This method updates the specified Loyalty ID using loyaltyId.

HTTP Request

PATCH /api/v1/loyaltyids/:loyaltyId?lookupByLID=true

Input Arguments

Name Type Description
token string Authentication token.
loyaltyId string Used to identify unique record from API. Value references to "loyaltyId" field from LoyaltyID`s structure.
loyaltyId Object JSON LoyaltyID object
lookupByLID Boolean (Query parameter) This is used to update the loyaltyId object using loyalty id.

Output Arguments

Name Type Description
loyaltyId JSON LoyaltyID object
status Number Status Codes.

Members

This API is compliant with the query interface described in Advanced Queries.

The Member resource represents a particular membership, along with its current balances on purses, tiers, and some personalization attributes.

Member Structure

Sample Member object

{
    "enrollDate": "2017-05-13T23:08:40.052Z",
    "enrollChannel": "Web",
    "enrollSource": "Campaign 1",
    "enrollLocation": "59de99b0584b770052aab648",
    "status": "Active",
    "program": "59de86b7584b770052aaacaf",
    "type": "Individual",
    "firstName": "Maurine",
    "lastName": "Skiles",
    "acquisitionDate": "2017-10-12T10:30:08.096Z",
    "acquisitionChannel": "Web",
    "address": "386 Swift Street",
    "city": "Toreystad",
    "state": "VT",
    "country": "BZ",
    "email": "Matt90@hotmail.com",
    "cellPhone": "+13245623549",
    "zipCode": "35800-3212",
    "socialId": "maurine.skiles",
    "tiers": [
        {
            "name": "Standard",
            "level": {
                "name": "Welcome",
                "color": "#c18f21",
                "defaultLevel": true,
                "expirationHours": 0,
                "expirationSnapTo": "day",
                "expiryWarningDays": [],
                "activityBasedExpiration": false,
                "_id": "59df84e2bc4f61095c84adc6"
            },
            "achievedOn": "2017-10-11T17:12:32.145Z",
            "requalsOn": "2017-10-31T08:57:51.339Z",
            "primary": true,
            "program": "59de86b7584b770052aaacaf",
            "policyId": "59de86b7584b770052abcdef",
            "_id": "59df84e2bc4f61095c84adc7",
            "createdAt": "2017-05-26T14:57:04.925Z",
            "updatedAt": "2017-03-12T02:28:39.880Z",
            "createdBy": "59de84708d69b9006b8295df",
            "updatedBy": "59de84708d69b9006b8295df"
        }
    ],
    "badges": [],
    "purses": [
        {
            "name": "Lifetime Points",
            "balance": 0,
            "availBalance": 0,
            "expiresIn": 0,
            "escrowsIn": 0,
            "overdraftLimit": 0,
            "primary": false,
            "program": "59de86b7584b770052aaacaf",
            "policyId": "59de86b7584b770052abcde2",
            "expiredPoints": 0,
            "org": "59de84708d69b9006b8295e0",
            "_id": "59df84e2bc4f61095c84adc4",
            "createdAt": "2017-09-10T13:45:39.627Z",
            "updatedAt": "2016-12-08T21:15:45.549Z",
            "createdBy": "59de84708d69b9006b8295df",
            "updatedBy": "59de84708d69b9006b8295df"
        },
        {
            "name": "Free Drink Points",
            "balance": 0,
            "availBalance": 0,
            "expiresIn": 0,
            "escrowsIn": 0,
            "overdraftLimit": 0,
            "primary": true,
            "program": "59de86b7584b770052aaacaf",
            "policyId": "59de86b7584b770052abcde1",
            "expiredPoints": 0,
            "org": "59de84708d69b9006b8295e0",
            "_id": "59df84e2bc4f61095c84adc5",
            "createdAt": "2017-03-18T05:50:46.738Z",
            "updatedAt": "2017-07-18T20:48:34.083Z",
            "createdBy": "59de84708d69b9006b8295df",
            "updatedBy": "59de84708d69b9006b8295df"
        }
    ],
    "org": "59de84708d69b9006b8295e0",
    "_id": "59df84e2bc4f61095c84adc3",
    "createdAt": "2017-05-11T05:01:24.782Z",
    "updatedAt": "2017-01-25T02:59:28.620Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df"
}
Field Type/Format Defaults Description
_id ObjectId readonly Unique value for every record
enrollDate String (crmMod) required The date the member enrolled (potentially different from when the record was created)
enrollChannel String (crmMod) required The channel from which a member enrollment originated (e.g. POS, Web, Mobile)
enrollSource String (crmMod) Marketing source (e.g. campaign) which resulted in the enrollment
referralCode String (crmMod) The referral code used in this enrollment (benefiting the member who referred)
enrollIncentive String (crmMod) Specific code used to enroll within the marketing source (enrollSource) - e.g. an offer code
enrollLocation ObjectId (crmMod) the _id of the Location at which the enrollment happened
status String (crmMod) required Member status - Active,Inactive,Suspended
program ObjectId required the _id of the Program in which the member is enrolled
firstName String (crmMod) required Member first name for personalized communications
lastName String (crmMod) required Member last name for personalized communications
dob Date (crmMod) Date of Birth
acquisitionDate Date (crmMod) When customer was acquired (vs. enrolled)
acquisitionChannel String (crmMod) required What channel customer was acquired (vs. enrolled)
address String (crmMod) Address of member
email String (crmMod) Email address of member
city String (crmMod) City of member
state String (crmMod) State of member
country String (crmMod) Country of member
cellPhone String (crmMod) Phone number of member
zipCode String (crmMod) Zip code of member
socialId String (crmMod) Social ID of member
canPreview Boolean Whether rules with canPreview as true and reward policies with canPreview as true can be applied for the member before their effective date
type String (crmMod) Individual Membership can be Individual or Group.
badges Array Set of badges objects. Managed by rules engine
purses Array Set of purses objects. Managed by rules engine
tiers Array Set of tiers objects. Managed by rules engine
gender String Gender of the member
mergePendingFlag Boolean Flag indicating that a merge process with another member is in progress.
lastActivityDate Date Member's last transaction date
structureVersion Number The field StructureVersion is the attributes used to check if a member has the latest updates in a program.

The object contains common fields

Note: crmMod is a flag used on the member schema to control the update using crmprofiles route.

Lookup By LoyaltyId

Some member APIs support the lookupByLID query parameter, allowing the use of a member's loyaltyId instead of the member ID in the route parameter of the URL.

Read all Members

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/members',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/members");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/members HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/members \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Member objects.

HTTP Request

GET /api/v1/members/

This method retrieves all members from the API. The result is always an array.

If there is no members at API, the result will be empty an array.

A search can be performed by using Advanced Queries, based on member's structure.

Input Arguments

Name type Description
token String Used to identify the user to the API.
group Boolean When set to true, returns the applicable purse for each group based on the group and period dates defined in the purse policy, with each labeled by the group name. Example: group=true.

Output Arguments

Name Type Description
members Array a set of members.
status Number Status Codes.

Read all Members via crmprofiles

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/crmprofiles',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/crmprofiles")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/crmprofiles");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/crmprofiles")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/crmprofiles');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/crmprofiles HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/crmprofiles \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/crmprofiles")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Member objects.

HTTP Request

GET /api/v1/crmprofiles/

This method retrieves all members from the API. The result is always an array.

If there is no members at API, the result will be empty an array.

A search can be performed by using Advanced Queries, based on member's structure.

Input Arguments

Name type Description
token String Used to identify the user to the API.

Output Arguments

Name Type Description
members Array a set of members.
status Number Status Codes.

Read Member by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/members/59de93dd584b770052aab5e7',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/59de93dd584b770052aab5e7")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/members/59de93dd584b770052aab5e7");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/59de93dd584b770052aab5e7")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/59de93dd584b770052aab5e7');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/members/59de93dd584b770052aab5e7 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/members/59de93dd584b770052aab5e7 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/59de93dd584b770052aab5e7")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a single Member object.

HTTP Request

GET /api/v1/members/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId Used to identify unique record from API, referenced to "_id" field from member`s structure.
group Boolean When set to true, returns the applicable purse for each group based on the group and period dates defined in the purse policy, with each labeled by the group name. Example: group=true.

Output Arguments

Name Type Description
member JSON New data to save in RCX API with member's structure.
status Number Status Codes.

Read Member by ID via crmprofiles

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/crmprofiles/59de93dd584b770052aab5e7 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a single Member object.

HTTP Request

GET /api/v1/crmprofiles/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId Used to identify unique record from API, referenced to "_id" field from member`s structure.

Output Arguments

Name Type Description
member JSON New data to save in RCX API with member's structure.
status Number Status Codes.

Create Member

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/members',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' },
  body: 
   { program: '59de86b7584b770052aaacaf',
     enrollDate: '2017-10-11T21:41:14.268Z',
     enrollChannel: 'Web',
     enrollLocation: '59de97de584b770052aab641',
     enrollSource: 'Campaign 2',
     status: 'Active',
     dob: '1974-09-17',
     type: 'Individual',
     firstName: 'John',
     lastName: 'Tenemos',
     acquisitionDate: '2017-10-11T21:57:49.351Z',
     acquisitionChannel: 'Web',
     address: '511 W Mercer Pl',
     city: 'Seattle',
     state: 'WA',
     country: 'USA',
     email: 'jtenemos@yahoo.com',
     cellPhone: '+12039922221',
     zipCode: '98119' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"enrollDate\": \"2017-10-11T21:41:14.268Z\",\n    \"enrollChannel\": \"Web\",\n    \"enrollLocation\": \"59de97de584b770052aab641\",\n    \"enrollSource\": \"Campaign 2\",\n    \"status\": \"Active\",\n    \"dob\": \"1974-09-17\",\n    \"type\": \"Individual\",\n    \"firstName\": \"John\",\n    \"lastName\": \"Tenemos\",\n    \"acquisitionDate\": \"2017-10-11T21:57:49.351Z\",\n    \"acquisitionChannel\": \"Web\",\n    \"address\": \"511 W Mercer Pl\",\n    \"city\": \"Seattle\",\n    \"state\": \"WA\",\n    \"country\": \"USA\",\n    \"email\": \"jtenemos@yahoo.com\",\n    \"cellPhone\": \"+12039922221\",\n    \"zipCode\": \"98119\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/members");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.AddParameter("application/json", "{\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"enrollDate\": \"2017-10-11T21:41:14.268Z\",\n    \"enrollChannel\": \"Web\",\n    \"enrollLocation\": \"59de97de584b770052aab641\",\n    \"enrollSource\": \"Campaign 2\",\n    \"status\": \"Active\",\n    \"dob\": \"1974-09-17\",\n    \"type\": \"Individual\",\n    \"firstName\": \"John\",\n    \"lastName\": \"Tenemos\",\n    \"acquisitionDate\": \"2017-10-11T21:57:49.351Z\",\n    \"acquisitionChannel\": \"Web\",\n    \"address\": \"511 W Mercer Pl\",\n    \"city\": \"Seattle\",\n    \"state\": \"WA\",\n    \"country\": \"USA\",\n    \"email\": \"jtenemos@yahoo.com\",\n    \"cellPhone\": \"+12039922221\",\n    \"zipCode\": \"98119\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"enrollDate\": \"2017-10-11T21:41:14.268Z\",\n    \"enrollChannel\": \"Web\",\n    \"enrollLocation\": \"59de97de584b770052aab641\",\n    \"enrollSource\": \"Campaign 2\",\n    \"status\": \"Active\",\n    \"dob\": \"1974-09-17\",\n    \"type\": \"Individual\",\n    \"firstName\": \"John\",\n    \"lastName\": \"Tenemos\",\n    \"acquisitionDate\": \"2017-10-11T21:57:49.351Z\",\n    \"acquisitionChannel\": \"Web\",\n    \"address\": \"511 W Mercer Pl\",\n    \"city\": \"Seattle\",\n    \"state\": \"WA\",\n    \"country\": \"USA\",\n    \"email\": \"jtenemos@yahoo.com\",\n    \"cellPhone\": \"+12039922221\",\n    \"zipCode\": \"98119\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

$request->setBody('{
    "program": "59de86b7584b770052aaacaf",
    "enrollDate": "2017-10-11T21:41:14.268Z",
    "enrollChannel": "Web",
    "enrollLocation": "59de97de584b770052aab641",
    "enrollSource": "Campaign 2",
    "status": "Active",
    "dob": "1974-09-17",
    "type": "Individual",
    "firstName": "John",
    "lastName": "Tenemos",
    "acquisitionDate": "2017-10-11T21:57:49.351Z",
    "acquisitionChannel": "Web",
    "address": "511 W Mercer Pl",
    "city": "Seattle",
    "state": "WA",
    "country": "USA",
    "email": "jtenemos@yahoo.com",
    "cellPhone": "+12039922221",
    "zipCode": "98119"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/members HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
    "program": "59de86b7584b770052aaacaf",
    "enrollDate": "2017-10-11T21:41:14.268Z",
    "enrollChannel": "Web",
    "enrollLocation": "59de97de584b770052aab641",
    "enrollSource": "Campaign 2",
    "status": "Active",
    "dob": "1974-09-17",
    "type": "Individual",
    "firstName": "John",
    "lastName": "Tenemos",
    "acquisitionDate": "2017-10-11T21:57:49.351Z",
    "acquisitionChannel": "Web",
    "address": "511 W Mercer Pl",
    "city": "Seattle",
    "state": "WA",
    "country": "USA",
    "email": "jtenemos@yahoo.com",
    "cellPhone": "+12039922221",
    "zipCode": "98119"
}
curl -X POST \
  http://dev:3000/api/v1/members \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "program": "59de86b7584b770052aaacaf",
    "enrollDate": "2017-10-11T21:41:14.268Z",
    "enrollChannel": "Web",
    "enrollLocation": "59de97de584b770052aab641",
    "enrollSource": "Campaign 2",
    "status": "Active",
    "dob": "1974-09-17",
    "type": "Individual",
    "firstName": "John",
    "lastName": "Tenemos",
    "acquisitionDate": "2017-10-11T21:57:49.351Z",
    "acquisitionChannel": "Web",
    "address": "511 W Mercer Pl",
    "city": "Seattle",
    "state": "WA",
    "country": "USA",
    "email": "jtenemos@yahoo.com",
    "cellPhone": "+12039922221",
    "zipCode": "98119"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
  "program": "59de86b7584b770052aaacaf",
  "enrollDate": "2017-10-11T21:41:14.268Z",
  "enrollChannel": "Web",
  "enrollLocation": "59de97de584b770052aab641",
  "enrollSource": "Campaign 2",
  "status": "Active",
  "dob": "1974-09-17",
  "type": "Individual",
  "firstName": "John",
  "lastName": "Tenemos",
  "acquisitionDate": "2017-10-11T21:57:49.351Z",
  "acquisitionChannel": "Web",
  "address": "511 W Mercer Pl",
  "city": "Seattle",
  "state": "WA",
  "country": "USA",
  "email": "jtenemos@yahoo.com",
  "cellPhone": "+12039922221",
  "zipCode": "98119"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the newly created Member object.

HTTP Request

POST /api/v1/members/

This method will create a new Member object and enroll the member in the specified program.

To obtain a correct program _id use a query similar to the following, assuming your program is called "My Program":

GET /api/v1/programs?query={"name": "My Program"}&select=_id

Please refer the Programs section for more information on that API.

Input Arguments

Name Type Description
newMember JSON New record to add to RCX API with member's structure.
token string Authentication token.

Output Arguments

Name Type Description
member JSON New data to save in RCX API with member's structure.
status Number Status Codes.

Update Member by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/members/59de93dd584b770052aab5e7',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' },
  body: { status: 'Inactive' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"status\": \"Inactive\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/59de93dd584b770052aab5e7")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/members/59de93dd584b770052aab5e7");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.AddParameter("application/json", "{\n\t\"status\": \"Inactive\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/59de93dd584b770052aab5e7")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n\t\"status\": \"Inactive\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/59de93dd584b770052aab5e7');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

$request->setBody('{
    "status": "Inactive"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/members/59de93dd584b770052aab5e7 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
    "status": "Inactive"
}
curl -X PUT \
  http://dev:3000/api/v1/members/59de93dd584b770052aab5e7 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "status": "Inactive"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = ["status": "Inactive"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/59de93dd584b770052aab5e7")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the updated Member object.

This method will update sent fields with the new values.

HTTP Request

PUT /api/v1/members/:id

Input Arguments

Name Type Description
token string Authentication token.
member JSON Fields within the Member that need to be updated
id ObjectId The _id field of the Member that needs to be updated

Output Arguments

Name Type Description
member JSON The newly updated Member
status Number Status Codes

Update Member by ID via crmprofiles

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' },
  body: { status: 'Inactive' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"status\": \"Inactive\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.AddParameter("application/json", "{\n\t\"status\": \"Inactive\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n\t\"status\": \"Inactive\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

$request->setBody('{
    "status": "Inactive"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/crmprofiles/59de93dd584b770052aab5e7 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
    "status": "Inactive"
}
curl -X PUT \
  http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "status": "Inactive"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = ["status": "Inactive"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/crmprofiles/59de93dd584b770052aab5e7")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the updated Member object.

This method will update member fields whose crmMod flag set to true and will raise UpdateMemberProfile level two event post successfull update. This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.

HTTP Request

PUT /api/v1/crmprofiles/:id

Input Arguments

Name Type Description
token string Authentication token.
member JSON Fields within the Member that need to be updated (only crmMod feilds)
id ObjectId The _id field of the Member that needs to be updated

Output Arguments

Name Type Description
member JSON The newly updated Member
status Number Status Codes

Delete Member by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/members/59df84e2bc4f61095c84ada5',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/59df84e2bc4f61095c84ada5")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/members/59df84e2bc4f61095c84ada5");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/59df84e2bc4f61095c84ada5")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/59df84e2bc4f61095c84ada5');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/members/59df84e2bc4f61095c84ada5 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/members/59df84e2bc4f61095c84ada5 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/59df84e2bc4f61095c84ada5")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

HTTP Request

DELETE /api/v1/members/:id

This method deletes one member identified by _id.

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId The _id field of the Member that needs to be deleted

Output Arguments

Name Type Description
status Number Status Codes.

Upgrade Tier by ID

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade")
  .post(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
curl -X POST \
  http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/upgrade")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the Member object with upgraded Tier.

This method will find the member by memberID and will update the Tier with tierID to first value, next to (after) the current one in levels list at Tier Policy. This API allows updates using the member's loyaltyId by leveraging the lookupByLID query parameter.

HTTP Request

POST /api/v1/members/:memberId/tiers/:tierId/upgrade

Input Arguments

Name Type Description
token string Authentication token.
memberId ObjectId Reference to "_id" field from Member
tierId ObjectId References to "_id" field from Tier

Output Arguments

Name Type Description
member JSON Member record with updated tier
status Number Status Codes

Downgrade Tier by ID

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade")
  .post(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
Content-Type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
curl -X POST \
  http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/59df84e3bc4f61095c84af3f/tiers/59df84e3bc4f61095c84af43/downgrade")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns Member objects.

This method will find the member by memberID and will update the Tier with tierID to first value, previous to (before) the current one in levels list at Tier Policy. This API allows updates using the member's loyaltyId by leveraging the lookupByLID query parameter.

HTTP Request

POST /api/v1/members/:memberId/tiers/:tierId/downgrade

Input Arguments

Name Type Description
token string Authentication token.
memberId ObjectId Reference to "_id" field from Member
tierId ObjectId References to "_id" field from Tier

Output Arguments

Name Type Description
member JSON Member record with updated tier
status Number Status Codes

Get Member Offers

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/offers',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/offers")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/offers");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/offers")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/offers');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/members/5a3da24b62de8600e296325b/offers HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/offers \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/offers")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of the Rewrd Policy object.

This method will find all eligible coupons (offers, rewards or global offers) that are available to a member, optionally taking into account the member's geo-location in which case we will limit the offers to anything available within a 20 mile radius. This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.

HTTP Request

GET /api/v1/members/:memberId/offers

Input Arguments

Name Type Description
token String Authentication token.
memberId ObjectId Reference to "_id" field from Member
filter String Comma-separated list of what to return - valid values are offers, rewards and global.
lat Number If location is available, this is the latitude of the current location.
long Number If location is available, this is the longitude of the current location.
distance Number This is defaulted to 20 currently and is the radius for the location search.
stores String Comma-separated list of the store numbers. This will override the lat, long values passed in request query.
query JSON Object The query is used to filter out the reward policies retrieved using other fields of it. Ex: {isAppeasement: true, discountType="Ticket"}
limit Number This is used to limit the number of results.
skip Number This is used to skip a number of records (for pagination).
utcOffset Number Difference in minutes from Universal Time (UTC) for a particular place
txnDate Date txnDate is used to filter out the reward policies by quering on effectiveDate and expirationDate.
lookupByLID Boolean This is used to retrieve the offers of member with loyalty id.
includeLocked Boolean This is used to retrieve locked offers

Output Arguments

Name Type Description
Array JSON An array of Reward Policy records.
status Number Status Codes

Get Member Promos

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/rules',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/rules")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/rules");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/rules")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/rules');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/members/5a3da24b62de8600e296325b/rules HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/rules \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/rules")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of the Rules object.

This method will find all eligible promo rules that are available to a member, optionally taking into account the member's geo-location in which case we will limit the promos to anything available within a 20 mile radius. This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.

HTTP Request

GET /api/v1/members/:memberId/rules

Input Arguments

Name Type Description
token String Authentication token.
memberId ObjectId Reference to "_id" field from Member
filter String Comma-separated list of what to return - valid values are all and promo.
lat Number If location is available, this is the latitude of the current location.
long Number If location is available, this is the longitude of the current location.
distance Number This is defaulted to 20 currently and is the radius for the location search.
stores String Comma-separated list of the store numbers. This will override the lat, long values passed in request query.
query JSON Object The query is used to filter out the reward policies retrieved using other fields of it.
limit Number This is used to limit the number of results.
skip Number This is used to skip a number of records (for pagination).
lookupByLID Boolean This is used to retrieve the rules of member with loyalty id.
utcOffset Number Difference in minutes from Universal Time (UTC) for a particular place.
txnDate Date txnDate is used to filter out the rules by quering on effectiveFrom and effectiveTo.

Output Arguments

Name Type Description
Array JSON An array of Rule records.
status Number Status Codes

Get Member Profile By LoyaltyId

var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:3000/api/v1/members/12211221/profile',
  headers: 
   { 'Postman-Token': '6e488d32-f8ad-4b30-95e3-0e843df7b8cc',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/members/12211221/profile")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "a7dbc30e-db78-40b0-83a1-142190c58b43")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/members/12211221/profile");
var request = new RestRequest(Method.GET);
request.AddHeader("Postman-Token", "eb41c2e9-58fa-4196-812a-b3be4c359153");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/members/12211221/profile")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = 'ad13da5b-df02-42bd-a3c2-7b7a1d87fc4e'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/members/12211221/profile');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Postman-Token' => '133a0a02-6bc0-4bfc-a0f7-9c3bf25ab6c5',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/members/12211221/profile HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA
Content-Type: application/json
cache-control: no-cache
Postman-Token: 46d9f58d-3083-4a84-b6c4-bbf071a1d2c9
curl -X GET \
  http://localhost:3000/api/v1/members/12211221/profile \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 0f537f21-8df4-4c0d-812d-24053b5f3749' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJFNEtXelNUTld2QnJwWk5VS3BKM1BYRlZwbk40ME83dnRZR1VGakpOQVFSa2NtT3ZyUEdPZmVCKzhyRTNsdFJaRmR4UnVXMEg5VkpVTmoybklmVjhUaHZZeTVRME9KZmtDU3RGc0V2SnlXZklldGI2ZmhhVmMxMDFqQlkyZjliRllsN3pVTDhIM1BmTm9ERU1XcmMwTlpDTG9Bak04N002b0RGNFJyV2JyNlFCMFJIczVOczA1bjk0S0V1Mi9IM0EiLCJleHAiOjE1NzQyNjY4ODAzNTIsImlhdCI6MTU3NDIzODA4MH0.yzaDhxvEXI0u8PMMSZaxMIo5I7WK1UOp6V7Kq1xBtoA",
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "bc07aaee-974b-4eb8-b3da-b0a2f5c50c56"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/members/12211221/profile")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the Member object.

This method will get the member profile by the given loyaltyId. It updates the member purses if there are any purses that has not been added to member and returns the updated member object along with newly added purses.

HTTP Request

GET /api/v1/members/:loyaltyid/profile

Input Arguments

Name Type Description
token String Authentication token.
txnDate Date txnDate is used to filter out the purse policies by quering on expirationDate.
select String It accepts comma separated string and returns only the fields in select. Ex:select=name,program
populate String It accepts comma separated string and populates data inside the reference Ex:populate=program,memberId
group Boolean When set to true, returns the applicable purse for each group based on the group and period dates defined in the purse policy, with each labeled by the group name. Example: group=true.

Output Arguments

Name Type Description
member JSON member object.
status Number Status Codes

Member Merge

var request = require("request");

var options = { method: 'POST',
  url: 'http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174',
  qs: { sync: 'true', requalify: 'true' },
  headers: 
   { 'Postman-Token': 'd3684bbc-c6fb-4f8e-9d6c-15494423efea',
     'cache-control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?sync=true&requalify=true")
  .post(null)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "b6f7c1c1-23fa-4213-aaf2-04fd884b4d30")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?sync=true&requalify=true");
var request = new RestRequest(Method.POST);
request.AddHeader("Postman-Token", "007c9166-1edf-4688-9bb2-e64568abeb94");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?sync=true&requalify=true")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = '47cf82c1-b591-4d7a-9475-1f76e08ca9e2'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174');
$request->setMethod(HTTP_METH_POST);

$request->setQueryData(array(
  'sync' => 'true',
  'requalify' => 'true'
));

$request->setHeaders(array(
  'Postman-Token' => '33abaa9a-19f2-4417-950b-fc4a5ea3f287',
  'cache-control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?sync=true&amp; requalify=true HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI
cache-control: no-cache
Postman-Token: 6cd256d8-e229-413f-bc65-74e67cb3c68b
curl -X POST \
  'http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?sync=true&requalify=true' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI' \
  -H 'Postman-Token: fff10aa6-a59e-4717-a2ee-691005600775' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI",
  "cache-control": "no-cache",
  "Postman-Token": "7bdaa84f-9916-45be-9514-68f9dfc28707"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/merge/5de8c5c34a974f003f77d174?sync=true&requalify=true")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
{
    "status": "success"
}

The above command returns the status of member merge.

This method merges two member records into one. Only members who enrolled in the same program are eligible for merging.

During the Member Merge, there are two types of members:

After the Merge, below the listed Victim Member details are updated to the Surviving Member. The Victim Member no longer exists.

This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.

HTTP Request

POST /api/v1/members/:survivor/merge/:victim

Input Arguments

Name Type Description
token String Authentication token.
survivor ObjectId Reference to "_id" field from Member
victim ObjectId Reference to "_id" field from Member
sync Boolean sync=true is to merge members synchronously
requalify Boolean requalify=true is to post the requalify activity
txnDate Date Date given in route params

Output Arguments

Name Type Description
res JSON {"status": "success"}.
status Number Status Codes

Member Unmerge

var request = require("request");

var options = { method: 'POST',
  url: 'http://localhost:3000/api/v1/members/unmerge/5de8c5c34a974f003f77d174',
  headers: 
   { 'Postman-Token': 'd3684bbc-c6fb-4f8e-9d6c-15494423efea',
     'cache-control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/members/unmerge/5de8c5c34a974f003f77d174")
  .post(null)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "b6f7c1c1-23fa-4213-aaf2-04fd884b4d30")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/members/unmerge/5de8c5c34a974f003f77d174");
var request = new RestRequest(Method.POST);
request.AddHeader("Postman-Token", "007c9166-1edf-4688-9bb2-e64568abeb94");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/members/unmerge/5de8c5c34a974f003f77d174")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = '47cf82c1-b591-4d7a-9475-1f76e08ca9e2'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/members/unmerge/5de8c5c34a974f003f77d174');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'Postman-Token' => '33abaa9a-19f2-4417-950b-fc4a5ea3f287',
  'cache-control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/members/unmerge/5de8c5c34a974f003f77d174 HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI
cache-control: no-cache
Postman-Token: 6cd256d8-e229-413f-bc65-74e67cb3c68b
curl -X POST \
  'http://localhost:3000/api/v1/members/unmerge/5de8c5c34a974f003f77d174' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI' \
  -H 'Postman-Token: fff10aa6-a59e-4717-a2ee-691005600775' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI",
  "cache-control": "no-cache",
  "Postman-Token": "7bdaa84f-9916-45be-9514-68f9dfc28707"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/members/unmerge/5de8c5c34a974f003f77d174")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
{
    "status": "success"
}

The above command returns the status of member unmerge.

This method unmerges the last merged victim member from the given survivor member. Only merged members are eligible for unmerging.

During the Unmerge process the following happens:

After the Unmerge, the details listed below are assigned back to the victim member:

The purse blanaces are restored in the same ratio that they were in when the merge happened. Activity history is also restored for the victim member up to the point of the merge. A compensatory transaction is posted on both the victim and survivor's ledgers to reconcile the ledgers.

This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.

HTTP Request

POST /api/v1/members/unmerge/:survivor

Input Arguments

Name Type Description
token String Authentication token.
survivor ObjectId Reference to "_id" field from Member
txnDate Date Date given in route params

Output Arguments

Name Type Description
res JSON {"status": "success"}.
status Number Status Codes

Member Hop

var request = require("request");

var options = { method: 'POST',
  url: 'http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174',
  qs: { sync: 'true', requalify: 'true' },
  headers: 
   { 'Postman-Token': 'd3684bbc-c6fb-4f8e-9d6c-15494423efea',
     'cache-control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174")
  .post(null)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "b6f7c1c1-23fa-4213-aaf2-04fd884b4d30")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174?sync=true&requalify=true");
var request = new RestRequest(Method.POST);
request.AddHeader("Postman-Token", "007c9166-1edf-4688-9bb2-e64568abeb94");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = '47cf82c1-b591-4d7a-9475-1f76e08ca9e2'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174');
$request->setMethod(HTTP_METH_POST);

$request->setQueryData(array(
  'sync' => 'true',
  'requalify' => 'true'
));

$request->setHeaders(array(
  'Postman-Token' => '33abaa9a-19f2-4417-950b-fc4a5ea3f287',
  'cache-control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174 HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI
cache-control: no-cache
Postman-Token: 6cd256d8-e229-413f-bc65-74e67cb3c68b
curl -X POST \
  'http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI' \
  -H 'Postman-Token: fff10aa6-a59e-4717-a2ee-691005600775' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJEUGszUzZnbnNPUGJqU0FycUhJeFRCaWl3M2l6N3RONWE5emtPVitPbVJMa1dEdnIwOUc4Yml3Sk1kdzZ2RnlKT0VBTWlLNzFXS0pjTXI1c1Ura2hiQVNLSHo4dGpQYnpxQ1JIQmsvSXJDQytINUx3RWJpbk9NZXZUMXlnZzh1UUNCSkJiSlo2THVpdUhHVHBwTFFsMVg5cmpYamhtODV3dVUxMWRudmlXbEt2NTVnemlmNzlYUnhpMGloR0VTQkMiLCJleHAiOjE1NzU1NTAwMzk1NjQsImlhdCI6MTU3NTUyMTIzOX0.ziWPNX4_oubCVZenSu3kGu4VmDQiUtBiKYhUKggmILI",
  "cache-control": "no-cache",
  "Postman-Token": "7bdaa84f-9916-45be-9514-68f9dfc28707"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/members/5de60abf903b3304962cc0be/hop/5de8c5c34a974f003f77d174")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the member object that was being hopped.

The hop request creates an account for the member.The member is enrolled in the provided program which is different from the current enrolled program. This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.

After the hop, the loyaltyIds are switched to the activeMember of account.

HTTP Request

POST /api/v1/members/:memberId/hop/:programId

Input Arguments

Name Type Description
token String Authentication token.
memberId ObjectId Reference to "_id" field from Member
programId ObjectId Reference to "_id" field from Program
lookupByLID Boolean This is used to hop the member with loyalty id.

Output Arguments

Name Type Description
res JSON returns the member object.
status Number Status Codes

Member Enroll

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/members/enroll?preprocess=true&useTransaction=true',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
 {
    "member": {
        "enrollDate": "2024-02-07T06:37:08.348Z",
        "enrollChannel": "Web",
        "enrollSource": "Unknown",
        "status": "Active",
        "type": "Individual",
        "firstName": "Kristina",
        "lastName": "Bodel",
        "email": "malinda.berge@gmail.com",
        "acquisitionChannel": "Web",
        "cardBankChannel": "Physical Card"
    },
    "program": {
        "lookup": {
             "model": "Program",
             "keys": {"name": "My Program"},
             "select": "_id"
        }
    },
    "assignCard": true,
    "channel": "Mobile",
    "cardType": "Digital Card",
    "loyaltyIds": [
        {
            "name": "AlternateID",
            "loyaltyId": "175877330042000041082333422346",
            "primary": true,
            "status": "Active"
        },
        {
            "name": "CardID",
            "primary": true,
            "status": "Active"
        }
    ],
    "preferences": [
        {
            "name": "AGE_VERIFIED",
            "value": "Yes",
            "optedInDate": "2024-01-10",
            "category": "Preference"
        },
        {
            "name": "PP_US_2",
            "value": "Yes",
            "optedInDate": "2024-01-13",
            "category": "T&C"
        }
    ]
},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "\"member\":{\"enrollDate\":\"2024-02-07T06:37:08.348Z\",\"enrollChannel\":\"Web\",\"enrollSource\":\"Unknown\",\"status\":\"Active\",\"type\":\"Individual\",\"firstName\":\"Kristina\",\"lastName\":\"Bodel\",\"email\":\"malinda.berge@gmail.com\",\"acquisitionChannel\":\"Web\",\"cardBankChannel\":\"PhysicalCard\"},\"program\":{\"lookup\":{\"model\":\"Program\",\"keys\":{\"name\":\"MyProgram\"},\"select\":\"_id\"}},\"assignCard\":true,\"channel\":\"Mobile\",\"cardType\":\"DigitalCard\",\"loyaltyIds\":[{\"name\":\"AlternateID\",\"loyaltyId\":\"175877330042000041082333422346\",\"primary\":true,\"status\":\"Active\"},{\"name\":\"CardID\",\"primary\":true,\"status\":\"Active\"}],\"preferences\":[{\"name\":\"AGE_VERIFIED\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-10\",\"category\":\"Preference\"},{\"name\":\"PP_US_2\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-13\",\"category\":\"T&C\"}]");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/enroll?preprocess=true&useTransaction=true")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/members/enroll?preprocess=true&useTransaction=true");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "\"member\":{\"enrollDate\":\"2024-02-07T06:37:08.348Z\",\"enrollChannel\":\"Web\",\"enrollSource\":\"Unknown\",\"status\":\"Active\",\"type\":\"Individual\",\"firstName\":\"Kristina\",\"lastName\":\"Bodel\",\"email\":\"malinda.berge@gmail.com\",\"acquisitionChannel\":\"Web\",\"cardBankChannel\":\"PhysicalCard\"},\"program\":{\"lookup\":{\"model\":\"Program\",\"keys\":{\"name\":\"MyProgram\"},\"select\":\"_id\"}},\"assignCard\":true,  \"channel\":\"Mobile\",\"cardType\":\"DigitalCard\",\"loyaltyIds\":[{\"name\":\"AlternateID\",\"loyaltyId\":\"175877330042000041082333422346\",\"primary\":true,\"status\":\"Active\"},{\"name\":\"CardID\",\"primary\":true,\"status\":\"Active\"}],\"preferences\":[{\"name\":\"AGE_VERIFIED\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-10\",\"category\":\"Preference\"},{\"name\":\"PP_US_2\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-13\",\"category\":\"T&C\"}]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/enroll?preprocess=true&useTransaction=true")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "\"member\":{\"enrollDate\":\"2024-02-07T06:37:08.348Z\",\"enrollChannel\":\"Web\",\"enrollSource\":\"Unknown\",\"status\":\"Active\",\"type\":\"Individual\",\"firstName\":\"Kristina\",\"lastName\":\"Bodel\",\"email\":\"malinda.berge@gmail.com\",\"acquisitionChannel\":\"Web\",\"cardBankChannel\":\"PhysicalCard\"},\"program\":{\"lookup\":{\"model\":\"Program\",\"keys\":{\"name\":\"MyProgram\"},\"select\":\"_id\"}},\"assignCard\":true,\"channel\":\"Mobile\",\"cardType\":\"DigitalCard\",\"loyaltyIds\":[{\"name\":\"AlternateID\",\"loyaltyId\":\"175877330042000041082333422346\",\"primary\":true,\"status\":\"Active\"},{\"name\":\"CardID\",\"primary\":true,\"status\":\"Active\"}],\"preferences\":[{\"name\":\"AGE_VERIFIED\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-10\",\"category\":\"Preference\"},{\"name\":\"PP_US_2\",\"value\":\"Yes\",\"optedInDate\":\"2024-01-13\",\"category\":\"T&C\"}]"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/enroll?preprocess=true&useTransaction=true');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "member": {
        "enrollDate": "2024-02-07T06:37:08.348Z",
        "enrollChannel": "Web",
        "enrollSource": "Unknown",
        "status": "Active",
        "type": "Individual",
        "firstName": "Kristina",
        "lastName": "Bodel",
        "email": "malinda.berge@gmail.com",
        "acquisitionChannel": "Web",
        "cardBankChannel": "Physical Card"
    },
    "program": {
        "lookup": {
             "model": "Program",
             "keys": {"name": "My Program"},
             "select": "_id"
        }
    },
    "assignCard": true,
    "channel": "Mobile",
    "cardType": "Digital Card",
    "loyaltyIds": [
        {
            "name": "AlternateID",
            "loyaltyId": "175877330042000041082333422346",
            "primary": true,
            "status": "Active"
        },
        {
            "name": "CardID",
            "primary": true,
            "status": "Active"
        }
    ],
    "preferences": [
        {
            "name": "AGE_VERIFIED",
            "value": "Yes",
            "optedInDate": "2024-01-10",
            "category": "Preference"
        },
        {
            "name": "PP_US_2",
            "value": "Yes",
            "optedInDate": "2024-01-13",
            "category": "T&C"
        }
    ]
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST api/v1/members/enroll?preprocess=true&useTransaction=true HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "member": {
        "enrollDate": "2024-02-07T06:37:08.348Z",
        "enrollChannel": "Web",
        "enrollSource": "Unknown",
        "status": "Active",
        "type": "Individual",
        "firstName": "Kristina",
        "lastName": "Bodel",
        "email": "malinda.berge@gmail.com",
        "acquisitionChannel": "Web",
        "cardBankChannel": "Physical Card"
    },
    "program": {
        "lookup": {
             "model": "Program",
             "keys": {"name": "My Program"},
             "select": "_id"
        }
    },
    "assignCard": true,
    "channel": "Mobile",
    "cardType": "Digital Card",
    "loyaltyIds": [
        {
            "name": "AlternateID",
            "loyaltyId": "175877330042000041082333422346",
            "primary": true,
            "status": "Active"
        },
        {
            "name": "CardID",
            "primary": true,
            "status": "Active"
        }
    ],
    "preferences": [
        {
            "name": "AGE_VERIFIED",
            "value": "Yes",
            "optedInDate": "2024-01-10",
            "category": "Preference"
        },
        {
            "name": "PP_US_2",
            "value": "Yes",
            "optedInDate": "2024-01-13",
            "category": "T&C"
        }
    ]
}
curl -X POST \
  http://dev:3000/api/v1/members/enroll?preprocess=true&useTransaction=true \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "member": {
        "enrollDate": "2024-02-07T06:37:08.348Z",
        "enrollChannel": "Web",
        "enrollSource": "Unknown",
        "status": "Active",
        "type": "Individual",
        "firstName": "Kristina",
        "lastName": "Bodel",
        "email": "malinda.berge@gmail.com",
        "acquisitionChannel": "Web",
        "cardBankChannel": "Physical Card"
    },
    "program": {
        "lookup": {
             "model": "Program",
             "keys": {"name": "My Program"},
             "select": "_id"
        }
    },
    "assignCard": true,
    "channel": "Mobile",
    "cardType": "Digital Card",
    "loyaltyIds": [
        {
            "name": "AlternateID",
            "loyaltyId": "175877330042000041082333422346",
            "primary": true,
            "status": "Active"
        },
        {
            "name": "CardID",
            "primary": true,
            "status": "Active"
        }
    ],
    "preferences": [
        {
            "name": "AGE_VERIFIED",
            "value": "Yes",
            "optedInDate": "2024-01-10",
            "category": "Preference"
        },
        {
            "name": "PP_US_2",
            "value": "Yes",
            "optedInDate": "2024-01-13",
            "category": "T&C"
        }
    ]
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [

    "member": {
        "enrollDate": "2024-02-07T06:37:08.348Z",
        "enrollChannel": "Web",
        "enrollSource": "Unknown",
        "status": "Active",
        "type": "Individual",
        "firstName": "Kristina",
        "lastName": "Bodel",
        "email": "malinda.berge@gmail.com",
        "acquisitionChannel": "Web",
        "cardBankChannel": "Physical Card"
    },
    "program": {
        "lookup": {
             "model": "Program",
             "keys": {"name": "My Program"},
             "select": "_id"
        }
    },
    "assignCard": true,
    "channel": "Mobile",
    "cardType": "Digital Card",
    "loyaltyIds": [
        {
            "name": "AlternateID",
            "loyaltyId": "175877330042000041082333422346",
            "primary": true,
            "status": "Active"
        },
        {
            "name": "CardID",
            "primary": true,
            "status": "Active"
        }
    ],
    "preferences": [
        {
            "name": "AGE_VERIFIED",
            "value": "Yes",
            "optedInDate": "2024-01-10",
            "category": "Preference"
        },
        {
            "name": "PP_US_2",
            "value": "Yes",
            "optedInDate": "2024-01-13",
            "category": "T&C"
        }
    ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/enroll?preprocess=true&useTransaction=true")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the member object that was being enrolled.

Creates and enrolls a member into a program along with creating associated entities loyalty IDs, and preferences.

HTTP Request

POST api/v1/members/enroll?preprocess=true&useTransaction=true

Input Arguments

Name Type Description
query JSON Object The query is used to find the member.
preprocess Boolean refer
useTransaction Boolean useTransaction guarantees that the enrollment process is atomic, ensuring all the entities are created successfully in a single operation.
suppressDuplicate Boolean returns the actual member as a respone, instead of returning the already exists loyaltyId or member when value set to true.

Input Body Arguments

Name Type Description
member JSON Object Fields within the member that need to be updated
program JSON Object Reference to "_id" field from Program
assignCard Boolean Refer to assignCard
cardType String Required type of loyalty card (Digital Card/Physical Card)
channel String Required source of member enrollment (Mobile/web)
loyaltyIds Array of Objects A list of loyalty IDs
preferences Array of Objects A list of preferences associated with the member.
validateLidInCB Boolean To validate the loyalty ID against the card bank, which is enabled in the program configuration settings.

Structure of Loyalty IDs Array

Name Type Description
name String Required type of loyalty card (Digital Card/Physical Card)
loyaltyId String Unique loyalty identifier (optional for some types)
primary Boolean Indicates if this is the primary loyalty ID
status String Status of the loyalty ID (e.g., "Active")

Behavior of Loyalty ID Assignment Based on assignCard Flag

Sample LoyaltyIds Array With AssignCard Flag 

{
    "assignCard": true,
    "loyaltyIds": [
        {
            "name": "AlternateID",
            "loyaltyId": "175877330042000041082333422346",
            "primary": true,
            "status": "Active"
        },
        {
            "name": "CardID",
            "primary": true,
            "status": "Active"
        }
    ],
}
If assignCard is true
Case 1: No loyalty IDs provided: When no loyalty IDs array is provided and assignCard is true, the system searches for an available card in the card bank with the specified cardType and a status of 'New'. Upon finding a card, it updates the card status to 'Active', adds this ID to the loyaltyIds array.
Case 2: Loyalty IDs provided (with or without incomplete entries): When loyalty IDs are provided, the system processes each entry in the loyaltyIds array. If an entry is missing a loyaltyId, the system matches the name in the array and retrieves an available card from the card bank with the specified cardType of status 'New'. Updates the card status to 'Active' and adds this ID to the loyaltyIds array.
For entries that already contain a loyaltyId, the system performs card type validation when the validateLidInCB flag is true, then assigns the card and updates the loyaltyIds array accordingly.
If assignCard is false
Case 1: No loyalty IDs provided: Enroll the member without creating a new loyalty ID.
Case 2: Loyalty IDs provided (with or without incomplete entries): When loyalty IDs are provided, the system processes each entry in the loyaltyIds array. If an entry is missing a loyaltyId, No new loyalty ID is assigned, the system performs card type validation when the validateLidInCB flag is true, then assigns the card and updates the loyaltyIds array accordingly.

Note: The loyaltyIds object must adhere to the format shown.

Output Arguments

Name Type Description
res JSON returns the member object.
status Number Status Codes

Get Member Aggregates

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);

  // Sample output
  [
    {
      "metric": "Marriott Bonvoy Points",
      "dailyAggs": 100
    }
  ]
});

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024',
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);

  // Sample output
  [
    {
      "metric": "Marriott Bonvoy Points",
      "weeklyAggs": 900,
      "yearlyAggs": 1500,
      "monthlyAggs": 2000
    }
  ]
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

// Sample output
// [
//   {
//     "metric": "Marriott Bonvoy Points",
//     "dailyAggs": 100
//   }
// ]
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();

// Sample output
// [
//   {
//     "metric": "Marriott Bonvoy Points",
//     "weeklyAggs": 900,
//     "yearlyAggs": 1500,
//     "monthlyAggs": 2000
//   }
// ]
var client = new RestClient("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
var client = new RestClient("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);

// Sample output
// [
//   {
//     "metric": "Marriott Bonvoy Points",
//     "dailyAggs": 100
//   }
// ]
var client = new RestClient("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);

// Sample output
// [
//   {
//     "metric": "Marriott Bonvoy Points",
//     "weeklyAggs": 900,
//     "yearlyAggs": 1500,
//     "monthlyAggs": 2000
//   }
// ]
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body

# Sample output
# [
#   {
#     "metric": "Marriott Bonvoy Points",
#     "dailyAggs": 100
#   }
# ]
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body

# Sample output
# [
#   {
#     "metric": "Marriott Bonvoy Points",
#     "weeklyAggs": 900,
#     "yearlyAggs": 1500,
#     "monthlyAggs": 2000
#   }
# ]
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();

  // Sample output
  // [
  //   {
  //   "metric": "Marriott Bonvoy Points",
  //   "dailyAggs": 100
  //   }
  // ]
} catch (HttpException $ex) {
  echo $ex;
}
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();

  // Sample output
  // [
  //   {
  //     "metric": "Marriott Bonvoy Points",
  //     "weeklyAggs": 900,
  //     "yearlyAggs": 1500,
  //     "monthlyAggs": 2000
  //   }
  // ]
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
GET /api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache

// Sample output
[
  {
    "metric": "Marriott Bonvoy Points",
    "dailyAggs": 100
  }
]
GET /api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache

// Sample output
[
  {
    "metric": "Marriott Bonvoy Points",
    "weeklyAggs": 900,
    "yearlyAggs": 1500,
    "monthlyAggs": 2000
  }
]
curl -X GET \
  http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06 \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
curl -X GET \
  http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05 \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'

<!-- Sample output
[
  {
    "metric": "Marriott Bonvoy Points",
    "dailyAggs": 100
  }
] -->
curl -X GET \
  http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024 \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'

<!-- Sample output
[
  {
    "metric": "Marriott Bonvoy Points",
    "weeklyAggs": 900,
    "yearlyAggs": 1500,
    "monthlyAggs": 2000
  }
] -->
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Goldpurse&type=daily,weekly,yearly&date=2024-09-06")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=daily,date=2024-06-05")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

<!-- Sample output
[
  {
    "metric": "Marriott Bonvoy Points",
    "dailyAggs": 100
  }
] -->
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/5a3da24b62de8600e296325b/aggregates?metricName=Points,type=weekly,monthly,yearly,week=17,month=5,year=2024")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

<!-- Sample output
[
  {
    "metric": "Marriott Bonvoy Points",
    "weeklyAggs": 900,
    "yearlyAggs": 1500,
    "monthlyAggs": 2000
  }
] -->

The above command returns an array of the objects containing the metric name and all the aggregates associated to it.

This method will find all member aggregates from respective collections based on the query (date, month, year, metric name, etc.) provided by the user. This API allows using the member's loyaltyId by leveraging the lookupByLID query parameter.

HTTP Request

GET /api/v1/members/:memberId/aggregates

Input Arguments

Name Type Description
token String Authentication token.
memberId ObjectId Reference to "_id" field from Member
metricNames String Comma-separated list of metric names to return.
type String Comma-separated list of aggregate types to return. Valid values are daily, weekly, monthly, quarterly, halfyearly, yearly and lifetime.
date Date query date is used to filter the member aggregates on particular date.
week Number week is used to filter the member weekly aggregates based on provided week.
month Number month is used to filter the member monthly aggregates based on provided month.
quarter Number quarter is used to filter the member quarterly aggregates based on provided quarter.
half Number half is used to filter the member halfyearly aggregates based on provided half.
year Number year is used to filter the member weekly, monthly, quarterly, halfyearly and yearly aggregates based on the specific field and year.

Output Arguments

Name Type Description
Array JSON An array of object contating the metric name and associated aggregates.
status Number Status Codes

Member Cleanup

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/members/:memberId/cleanup?clean=all',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    purseIds:["5a3da24b62de8600e296325b","6b4e24b62de8600e296436c"],
  streakIds:["6c5f24b62de8600e296325b","6e7ga24b62de8600e296325b"],
},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, '{"streakIds":["6c5f24b62de8600e296325b","6e7ga24b62de8600e296325b"],"purseIds":["5a3da24b62de8600e296325b","6b4e24b62de8600e296436c"]}');
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/members/:memberId/cleanup")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/members/:memberId/cleanup");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", '{"streakIds":["6c5f24b62de8600e296325b","6e7ga24b62de8600e296325b"],"purseIds":["5a3da24b62de8600e296325b","6b4e24b62de8600e296436c"]}', ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/members/:memberId/cleanup")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = '{"streakIds":["6c5f24b62de8600e296325b","6e7ga24b62de8600e296325b"],"purseIds":["5a3da24b62de8600e296325b","6b4e24b62de8600e296436c"]}'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/members/:memberId/cleanup');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{"streakIds":["6c5f24b62de8600e296325b","6e7ga24b62de8600e296325b"],"purseIds":["5a3da24b62de8600e296325b","6b4e24b62de8600e296436c"]}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/members/:memberId/cleanup HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

 '{"streakIds":["6c5f24b62de8600e296325b","6e7ga24b62de8600e296325b"],"purseIds":["5a3da24b62de8600e296325b","6b4e24b62de8600e296436c"]}'
curl -X POST \
  http://dev:3000/api/v1/members/:memberId/cleanup \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d 
'{"streakIds":["6c5f24b62de8600e296325b","6e7ga24b62de8600e296325b"],"purseIds":["5a3da24b62de8600e296325b","6b4e24b62de8600e296436c"]}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [

  {"streakIds":["6c5f24b62de8600e296325b","6e7ga24b62de8600e296325b"],"purseIds":["5a3da24b62de8600e296325b","6b4e24b62de8600e296436c"]}
    ]
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/members/enroll")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the stats of data cleaned up.

HTTP Request

POST /members/:/memberId/cleanup?clean='all'

Input Arguments

Name Type Description
clean String Specifies the type of data to clean up. If clean=all, it cleans all streaks and purses. If clean=purses, it cleans only purses. If clean=streaks, it cleans only streaks.
streakIds array Holds the streak IDs to be cleaned up. Note: If streakIds are not provided all eligible streaks are cleaned.
purseIds array Holds the purse IDs to be cleaned up. Note: If purseIds are not provided all expired purses are cleaned.

Output Arguments

Name Type Description
res JSON returns the stats of the data cleaned up.
status Number Status Codes

MemberSegments

This API is compliant with the query interface described in Advanced Queries.

Member segment defines to which segment a member is associated with.

MemberSegment Structure

 {
    "_id": "5b2c9a6e67646e0051bd4b7d",
    "member": "5b2b40e828bc5d191a4e1926",
    "segment": "5b2c9a0a67646e0051bd4b7b",
    "org": "5b29f526e3009700e6415665",
    "createdAt": "2018-06-22T06:42:54.318Z",
    "updatedAt": "2018-06-22T06:42:54.318Z",
    "createdBy": "5b29f526e3009700e6415664",
    "updatedBy": "5b29f526e3009700e6415664"
}
field Type/Format Description
_id ObjectId required unique Unique ID
member String required _id field of the Member that is associated with this membersegment.
segment String required _id field of the Segment that is associated with this membersegment.
isCancelled Boolean Default: false Dis-associates member from the segment if this flag is set to TRUE.

The object contains common fields

Read all MemberSegments

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/membersegments',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/membersegments")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/membersegments");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/membersegments")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/membersegments');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/membersegments HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/membersegments \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/membersegments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of MemberSegment objects.

This methods returns all membersegments in the system.

HTTP Request

GET /api/v1/membersegments

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
membersegments Array set of MemberSegment objects
status Number Status Codes.

Read MemberSegment by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/membersegments/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/membersegments/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/membersegments/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/membersegments/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/membersegments/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/membersegments/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/membersegments/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/membersegments/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a MemberSegment object.

This method returns the specified membersegment.

HTTP Request

GET /api/v1/membersegments/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from MemberSegment structure.
token string Authentication token.

Output Arguments

Name Type Description
membersegment JSON MemberSegment object
status Number Status Codes.

Create MemberSegment

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/membersegments',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    member: '5b2b40e828bc5d191a4e1926',
    segment: '5b2c9a0a67646e0051bd4b7b'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"segment\": \"5b2c9a0a67646e0051bd4b7b\",\n    \"member\": \"5b2b40e828bc5d191a4e1926\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/membersegments")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/membersegments");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"segment\": \"5b2c9a0a67646e0051bd4b7b\",\n    \"member\": \"5b2b40e828bc5d191a4e1926\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/membersegments")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"segment\": \"5b2c9a0a67646e0051bd4b7b\",\n    \"member\": \"5b2b40e828bc5d191a4e1926\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/membersegments');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "member": "5b2b40e828bc5d191a4e1926",
    "segment": "5b2c9a0a67646e0051bd4b7b"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/membersegments HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "member": "5b2b40e828bc5d191a4e1926",
    "segment": "5b2c9a0a67646e0051bd4b7b"
}
curl -X POST \
  http://dev:3000/api/v1/membersegments \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "member": "5b2b40e828bc5d191a4e1926",
    "segment": "5b2c9a0a67646e0051bd4b7b"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "member": "5b2b40e828bc5d191a4e1926",
    "segment": "5b2c9a0a67646e0051bd4b7b"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/membersegments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a MemberSegment object.

This method creates a new membersegment.

HTTP Request

POST /api/v1/membersegments/

Input Arguments

Name Type Description
token string Authentication token.
membersegment JSON MemberSegment object

Output Arguments

Name Type Description
membersegment JSON MemberSegment object
status Number Status Codes.

Update MemberSegment by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    segment: '5b2c9a0a67646e0051bd4b7b'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"segment\": \"5b2c9a0a67646e0051bd4b7b\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"segment\": \"5b2c9a0a67646e0051bd4b7b\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"segment\": \"5b2c9a0a67646e0051bd4b7b\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "segment": "5b2c9a0a67646e0051bd4b7b"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/membersegments/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "segment": "5b2c9a0a67646e0051bd4b7b"
}
curl -X PUT \
  http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "segment": "5b2c9a0a67646e0051bd4b7b"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "segment": "5b2c9a0a67646e0051bd4b7b"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a MemberSegment object.

This method updates the specified membersegment.

HTTP Request

PUT /api/v1/membersegments/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from MemberSegment structure.
membersegment JSON MemberSegment object

Output Arguments

Name Type Description
membersegment JSON MemberSegment object
status Number Status Codes.

Delete MemberSegment by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/membersegments/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/membersegments/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified membersegment.

HTTP Request

DELETE /api/v1/membersegments/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from MemberSegment`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

MergeTrail

Merge trail is the collection which keeps track of all the merges between members, it contains the merge history across rcx.

MergeTrail Structure

Sample MergeTrail object


{
    "_id" : "60efcb9b7f81660046fc3834",
    "victim" : {
        "enrollSource" : "Unknown",
        "status" : "Active",
        "gender" : "Unknown",
        "canPreview" : false,
        "mergePendingFlag" : false,
        "synchronousMergeFlag" : false,
        "trans" : {
            "victims" : []
        },
        "_id" : "60efcb9b7f81660046fc3834",
        "enrollDate" : "2021-07-14T18:30:00.000Z",
        "enrollChannel" : "Web",
        "program" : "60d07c515c40b3012d82eb77",
        "type" : "Individual",
        "firstName" : "V13",
        "lastName" : "V13",
        "acquisitionChannel" : "Web",
        "dob" : null,
        "ext" : {
            "activationDate" : "",
            "firstTxnDate" : "",
            "lastQuarantineDate" : "",
            "lastTxnDate" : "",
            "bpLastActivityDate" : "",
            "bpLastTxnDate" : "",
            "zapparLastTxnDate" : "",
            "netspendLastTxnDate" : "",
            "vocLastTxnDate" : "",
            "lastWelcomeBackAwardDate" : ""
        },
        "acquisitionDate" : "2021-07-15T05:46:03.568Z",
        "tiers" : [ 
            {
                "primary" : true,
                "_id" : "60efcb9b7f81660046fc3837",
                "name" : "Tier 1",
                "program" : "60d07c515c40b3012d82eb77",
                "policyId" : "60d080855c40b3012d82ec01",
                "level" : {
                    "defaultLevel" : true,
                    "expirationHours" : 0,
                    "expirationSnapTo" : "now",
                    "expiryWarningDays" : [],
                    "expiryValue" : 0,
                    "_id" : "60d080855c40b3012d82ec02",
                    "name" : "Silver",
                    "expiryUnit" : "Hours"
                },
                "achievedOn" : "2021-07-14T18:30:00.000Z",
                "requalsOn" : "2021-07-15T05:46:03.594Z",
                "createdAt" : "2021-07-15T05:46:03.594Z",
                "updatedAt" : "2021-07-15T05:46:03.594Z",
                "createdBy" : "5c58d8570bf24c075fb5886b",
                "updatedBy" : "5c58d8570bf24c075fb5886b"
            }
        ],
        "badges" : [],
        "purses" : [ 
            {
                "balance" : 100,
                "availBalance" : 100,
                "accruedPoints" : 100,
                "redeemedPoints" : 0,
                "escrowsIn" : 0,
                "overdraftLimit" : 0,
                "primary" : false,
                "expiredPoints" : 0,
                "expiredAccruals" : [],
                "escrowedAccruals" : [],
                "accruals" : [],
                "redemptions" : [],
                "lockedPoints" : [ 
                    {
                        "_id" : "60efcba67f81660046fc3844",
                        "activity" : "60efcba67f81660046fc383d",
                        "points" : 5,
                        "lockedDate" : "2021-07-15T11:16:00.000Z",
                        "lockedTillDate" : "2021-09-25T07:14:09.958Z"
                    }
                ],
                "_id" : "60efcb9b7f81660046fc383b",
                "name" : "Test",
                "program" : "60d07c515c40b3012d82eb77",
                "policyId" : "60e555eec8e13200408aaa41",
                "org" : "5c58d8570bf24c075fb5886c",
                "createdAt" : "2021-07-15T05:46:03.596Z",
                "updatedAt" : "2021-07-15T05:46:14.379Z",
                "createdBy" : "5c58d8570bf24c075fb5886b",
                "updatedBy" : "5c58d8570bf24c075fb5886b"
            }
        ],
        "rewards" : [],
        "activities" : [],
        "offers" : [],
        "segments" : [],
        "memberSegments" : [],
        "preferences" : [],
        "tierHistory" : [],
        "pendingIds" : [],
        "createdAt" : "2021-07-15T05:46:03.569Z",
        "updatedAt" : "2021-07-15T05:46:14.379Z",
        "createdBy" : "5c58d8570bf24c075fb5886b",
        "updatedBy" : "5c58d8570bf24c075fb5886b",
        "org" : "5c58d8570bf24c075fb5886c",
        "structureVersion" : 2,
        "lastActivityDate" : "2021-07-15T11:16:00.000Z",
        "nonce" : "60efcba6cee7a7004aa6772c"
    },
    "survivorId" : "60efcb5d7f81660046fc3629",
    "survivorPurses" : [ 
        {
            "balance" : 200,
            "availBalance" : 200,
            "policyId" : "60e555eec8e13200408aaa41",
            "accruedPoints" : 200,
            "redeemedPoints" : 0
        }
    ],
    "mergeStatus" : "Complete",
    "txnDate" : "2021-07-15T05:48:10.052Z",
    "loyaltyIds" : [ 
        {
            "status" : "Active",
            "primary" : true,
            "name" : "AlternateID",
            "loyaltyId" : "V13",
            "ext" : {
                "dateIssued" : "",
                "dateRegistered" : ""
            }
        }
    ],
    "segments" : [ 
        "5f4ea5e3799b98010b70c1a3"
    ],
    "preferences" : [ 
        {
            "type" : "Boolean",
            "inferred" : false,
            "expirationDate" : "2021-09-10T18:30:00.000Z",
            "name" : "7REWARDS",
            "value" : "Yes",
            "optedInDate" : "2021-07-14T18:30:00.000Z",
            "category" : "Preference",
            "ext" : {
                "tc_date" : "",
                "consentEffDate" : ""
            }
        }
    ]
}
Field Type Description
_id ObjectId unique The id of the record
victim Object Reference to Member
survivorId ObjectId Reference to "_id" field from Member
survivorPurses Array Survivor purses snapshot
mergeStatus String Status of the Merge (eg: Pending, Completed)
txnDate Date Merge process Date
loyaltyIds Array Snapshot of victim loyalty ids
segments Array Snapshot of victim segments
preferences Array Snapshot of victim preferences

The object contains common fields

Reading MergeTrail Object

const axios = require('axios');

const token = 'eyJ0eXAiOiJKV1QiL';
const victimId = '5575cc7bbee6c00300164e22';
const survivorId = '5575cc7bbee6c00300164e23';
const mergeId = '5575cc7bbee6c00300164e24';
const extMergeId = '97015654';
const url = 'https://app.reactorcx.com/api/v1/mergetrail/';

const config = {
  headers: { Authorization: `Bearer ${token}` }
};

axios.get(url + victimId, config)
  .then(res => console.log(res.data));

axios.get(url + mergeId + '?mergeId=true', config)
  .then(res => console.log(res.data));

axios.get(url + survivorId + '?survivor=true', config)
  .then(res => console.log(res.data));

axios.get(url + extMergeId + '?extMergeId=true', config)
  .then(res => console.log(res.data));

import java.io.IOException;
import okhttp3.*;

public class Main {
    public static void main(String[] args) {
        String token = "eyJ0eXAiOiJKV1QiL";
        String victimId = "5575cc7bbee6c00300164e22";
        String survivorId = "5575cc7bbee6c00300164e23";
        String mergeId = "5575cc7bbee6c00300164e24";
        String extMergeId = "97015654";
        String url = "https://app.reactorcx.com/api/v1/mergetrail/";

        OkHttpClient client = new OkHttpClient();

        try {

            // fetching mergetrail object using victimId
            Request.Builder requestBuilder = new Request.Builder()
                    .url(url + victimId)
                    .get()
                    .addHeader("Authorization", "Bearer " + token)
                    .addHeader("Cache-Control", "no-cache");
            Request request = requestBuilder.build();

            Response response = client.newCall(request).execute();
            if (response.isSuccessful()) {
                String data = response.body().string();
                System.out.println(data);
            }
            // fetching mergetrail object using mergeId
            requestBuilder = new Request.Builder()
                    .url(url + mergeId + "?mergeId=true")
                    .get()
                    .addHeader("Authorization", "Bearer " + token)
                    .addHeader("Cache-Control", "no-cache");
            request = requestBuilder.build();

            response = client.newCall(request).execute();
            if (response.isSuccessful()) {
                String data = response.body().string();
                System.out.println(data);
            }
            // fetching mergetrail object using survivorId
            requestBuilder = new Request.Builder()
                    .url(url + survivorId + "?survivor=true")
                    .get()
                    .addHeader("Authorization", "Bearer " + token)
                    .addHeader("Cache-Control", "no-cache");
            request = requestBuilder.build();

            response = client.newCall(request).execute();
            if (response.isSuccessful()) {
                String data = response.body().string();
                System.out.println(data);
            }
            // fetching mergetrail object using extMergeId
            requestBuilder = new Request.Builder()
                    .url(url + extMergeId + "?extMergeId=true")
                    .get()
                    .addHeader("Authorization", "Bearer " + token)
                    .addHeader("Cache-Control", "no-cache");
            request = requestBuilder.build();

            response = client.newCall(request).execute();
            if (response.isSuccessful()) {
                String data = response.body().string();
                System.out.println(data);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

<?php
$token = 'eyJ0eXAiOiJKV1QiL';
$victimId = '5575cc7bbee6c00300164e22';
$survivorId = '5575cc7bbee6c00300164e23';
$mergeId = '5575cc7bbee6c00300164e24';
$extMergeId = '97015654';
$url = 'https://app.reactorcx.com/api/v1/mergetrail/';

// Fetching mergetrail object using victimId
$ch = curl_init($url . $victimId);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response !== false) {
    $data = json_decode($response, true);
    var_dump($data);
}

// Fetching mergetrail object using mergeId
$ch = curl_init($url . $mergeId . '?mergeId=true');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response !== false) {
    $data = json_decode($response, true);
    var_dump($data);
}

// Fetching mergetrail object using survivorId
$ch = curl_init($url . $survivorId . '?survivor=true');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response !== false) {
    $data = json_decode($response, true);
    var_dump($data);
}

// Fetching mergetrail object using extMergeId
$ch = curl_init($url . $extMergeId . '?extMergeId=true');
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if ($response !== false) {
    $data = json_decode($response, true);
    var_dump($data);
}
require 'net/http'
require 'uri'
require 'json'

token = 'eyJ0eXAiOiJKV1QiL'
victimId = '5575cc7bbee6c00300164e22'
survivorId = '5575cc7bbee6c00300164e23'
mergeId = '5575cc7bbee6c00300164e24'
extMergeId = '97015654'
url = URI.parse('https://app.reactorcx.com/api/v1/mergetrail/')

# Fetching mergetrail object using victimId
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url.path + victimId)
request['Authorization'] = "Bearer #{token}"
response = http.request(request)

if response.code == '200'
  data = JSON.parse(response.body)
  puts data
end

# Fetching mergetrail object using mergeId
request = Net::HTTP::Get.new(url.path + mergeId + '?mergeId=true')
request['Authorization'] = "Bearer #{token}"
response = http.request(request)

if response.code == '200'
  data = JSON.parse(response.body)
  puts data
end

# Fetching mergetrail object using survivorId
request = Net::HTTP::Get.new(url.path + survivorId + '?survivor=true')
request['Authorization'] = "Bearer #{token}"
response = http.request(request)

if response.code == '200'
  data = JSON.parse(response.body)
  puts data
end

# Fetching mergetrail object using extMergeId
request = Net::HTTP::Get.new(url.path + extMergeId + '?extMergeId=true')
request['Authorization'] = "Bearer #{token}"
response = http.request(request)

if response.code == '200'
  data = JSON.parse(response.body)
  puts data
end
token='eyJ0eXAiOiJKV1QiL'
victimId='5575cc7bbee6c00300164e22'
survivorId='5575cc7bbee6c00300164e23'
mergeId='5575cc7bbee6c00300164e24'
extMergeId='97015654'
url='https://app.reactorcx.com/api/v1/mergetrail/'

# Fetching mergetrail object using victimId
curl -X GET -H "Authorization: Bearer $token" "$url$victimId"

# Fetching mergetrail object using mergeId
curl -X GET -H "Authorization: Bearer $token" "$url$mergeId?mergeId=true"

# Fetching mergetrail object using survivorId
curl -X GET -H "Authorization: Bearer $token" "$url$survivorId?survivor=true"

# Fetching mergetrail object using extMergeId
curl -X GET -H "Authorization: Bearer $token" "$url$extMergeId?extMergeId=true"
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

class Program
{
    static async Task Main()
    {
        string token = "eyJ0eXAiOiJKV1QiL";
        string victimId = "5575cc7bbee6c00300164e22";
        string survivorId = "5575cc7bbee6c00300164e23";
        string mergeId = "5575cc7bbee6c00300164e24";
        string extMergeId = "97015654";
        string url = "https://app.reactorcx.com/api/v1/mergetrail/";

        using (HttpClient client = new HttpClient())
        {
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);

            HttpResponseMessage response = await client.GetAsync(url + victimId);
            if (response.IsSuccessStatusCode)
            {
                string data = await response.Content.ReadAsStringAsync();
                Console.WriteLine(data);
            }

            response = await client.GetAsync(url + mergeId + "?mergeId=true");
            if (response.IsSuccessStatusCode)
            {
                string data = await response.Content.ReadAsStringAsync();
                Console.WriteLine(data);
            }

            response = await client.GetAsync(url + survivorId + "?survivor=true");
            if (response.IsSuccessStatusCode)
            {
                string data = await response.Content.ReadAsStringAsync();
                Console.WriteLine(data);
            }

            response = await client.GetAsync(url + extMergeId + "?extMergeId=true");
            if (response.IsSuccessStatusCode)
            {
                string data = await response.Content.ReadAsStringAsync();
                Console.WriteLine(data);
            }
        }
    }
}
import Foundation

let token = "eyJ0eXAiOiJKV1QiL"
let victimId = "5575cc7bbee6c00300164e22"
let survivorId = "5575cc7bbee6c00300164e23"
let mergeId = "5575cc7bbee6c00300164e24"
let extMergeId = "97015654"
let url = URL(string: "https://app.reactorcx.com/api/v1/mergetrail/")!

var request = URLRequest(url: url.appendingPathComponent(victimId))
request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")

let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
    if let data = data, let jsonString = String(data: data, encoding: .utf8) {
        print(jsonString)
    }
}

task.resume()

request = URLRequest(url: url.appendingPathComponent(mergeId).appendingPathComponent("?mergeId=true"))
request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")

let task2 = URLSession.shared.dataTask(with: request) { (data, response, error) in
    if let data = data, let jsonString = String(data: data, encoding: .utf8) {
        print(jsonString)
    }
}

task2.resume()

request = URLRequest(url: url.appendingPathComponent(survivorId).appendingPathComponent("?survivor=true"))
request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")

let task3 = URLSession.shared.dataTask(with: request) { (data, response, error) in
    if let data = data, let jsonString = String(data: data, encoding: .utf8) {
        print(jsonString)
    }
}

task3.resume()

request = URLRequest(url: url.appendingPathComponent(extMergeId).appendingPathComponent("?extMergeId=true"))
request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")

let task4 = URLSession.shared.dataTask(with: request) { (data, response, error) in
    if let data = data, let jsonString = String(data: data, encoding: .utf8) {
        print(jsonString)
    }
}

task4.resume()
token='eyJ0eXAiOiJKV1QiL'
victimId='5575cc7bbee6c00300164e22'
survivorId='5575cc7bbee6c00300164e23'
mergeId='5575cc7bbee6c00300164e24'
extMergeId='97015654'
url='https://app.reactorcx.com/api/v1/mergetrail/'

# Fetching mergetrail object using victimId
http GET "$url$victimId" "Authorization: Bearer $token"

# Fetching mergetrail object using mergeId
http GET "$url$mergeId?mergeId=true" "Authorization: Bearer $token"

# Fetching mergetrail object using survivorId
http GET "$url$survivorId?survivor=true" "Authorization: Bearer $token"

# Fetching mergetrail object using extMergeId
http GET "$url$extMergeId?extMergeId=true" "Authorization: Bearer $token"

The above command returns a MergeTrail object.

This method retrieves a MergeTrail document/documents by victimId, survivorId, mergeId and extMergeId from the API.

You can see the full MergeTrail structure.

HTTP Request

GET /api/v1/mergetrail/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId/String Victim ID, survivor ID, merge ID or extMerge ID.
query parameters string Ex: ?extMergeId=true, ?survivor=true or ?mergeId=true

Output Arguments

Name Type Description
mergetrail JSON MergeTrail structure.
status Number Status Codes.

Offers

This API is compliant with the query interface described in Advanced Queries.

Offers are like rewards, that are loaded externally for a member.

Offer Structure

{
    "name": "30% Off Pants",
    "code": "OFF30PCT",
    "desc": "30% Off Pants",
    "usesLeft": 1,
    "type": "Offer",
    "isGlobal": false,
    "expiresOn": "2017-11-19T07:00:00.000Z",
    "program": "59de86b7584b770052aaacaf",
    "effectiveDate": "2017-10-19T07:51:00.000Z",
    "member": "59df84e3bc4f61095c84b002",
    "_id": "59e8598131a6b90052ed4c48",
    "lockDetails": [
      {
        "_id" : "66543decc872a5003708b501",
        "lockTxnId" : "test_123",
        "lockTill" : "2024-05-29T10:49:00.000Z",
        "lockAct" : "66543decc872a5003708b4fa",
        "lockedUses" : 1
      }
    ],
    "createdAt": "2017-10-19T07:51:29.083Z",
    "updatedAt": "2017-10-19T07:51:39.250Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df"
}
field Type/Format Description
_id hexadecimal required unique Unique ID
name String required name of the offer
code String required offer code.
desc String required the description of the offer
usesLeft Number number of uses left in the offer.
effectiveDate Date Default: UTC Date from which the offer is active/effective. Date Formats
expiresOn Date Date on which the offer would expire. Date Formats
program ObjectId required Reference to Program
member ObjectId required _id of the Member to which member the offer belongs to.
policyId ObjectId required _id of the Reward Policy associated with this offer.
discount Number Discount amount awarded as part of Global Offer redemption.
isGlobal Boolean Whether the offer is global or not
url String URL to a picture resource for this offer
upc String UPC code of the discount lineItem to be given when this offer is applied. Should usually exist in Products.
type String default: Offer type of offer(Offer/Global Offer)
timesUsed Number Number of times the offer is used.
redemptionDate Date UTC date on which the offer is utilized
redemptionLocalDate Date Local date on which the offer is utilized
activityUTCOffset Number Difference in minutes from Universal Time (UTC) for a particular place
rule ObjectId Unique ID of rule that triggered the offer utility
activity ObjectId Unique ID of the activity where the offer is utilized
isCancelled Boolean Indicates if a member offer is cancelled
canPreview Boolean Whether the offer can be used in arbitration before the effective date, only for members who have canPreview as true.
lockDetails Array set of lock details

The object contains common fields

Read all Offers

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/offers',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/offers")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/offers");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/offers")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/offers');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/offers HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/offers \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/offers")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Offer objects.

This method returns all offers in the system.

HTTP Request

GET /api/v1/offers

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
offers Array set of Offer object
status Number Status Codes.

Read Offer by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/offers/59e8598131a6b90052ed4c48',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/offers/59e8598131a6b90052ed4c48")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/offers/59e8598131a6b90052ed4c48");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/offers/59e8598131a6b90052ed4c48")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/offers/59e8598131a6b90052ed4c48');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/offers/59e8598131a6b90052ed4c48 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/offers/59e8598131a6b90052ed4c48 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/offers/59e8598131a6b90052ed4c48")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Offer object.

This method reads the specified offer.

HTTP Request

GET /api/v1/offer/:id

Input Arguments

Name Type Description
id hexadecimal Used to identify unique record from API. Value references to "_id" field from Offer`s structure.
token string Authentication token.

Output Arguments

Name Type Description
offer JSON Offer object
status Number Status Codes.

Create Offer

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/offers',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' },
  body: 
   { name: '30% Off Pants',
     code: 'OFF30PCT1',
     desc: '30% Off Pants',
     usesLeft: 1,
     isGlobal: false,
     type: 'Offer',
     policyId: '5c5a8efe88a73e01552ba5d4',
     expiresOn: '2017-11-19T07:00:00.000Z',
     effectiveDate: '2017-10-19T07:51:00.000Z',
     member: '59df84e3bc4f61095c84b002',
     program: '59de86b7584b770052aaacaf' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"30% Off Pants\",\n    \"code\": \"OFF30PCT1\",\n    \"desc\": \"30% Off Pants\",\n    \"usesLeft\": 1,\n    \"expiresOn\": \"2017-11-19T07:00:00.000Z\",\n    \"effectiveDate\": \"2017-10-19T07:51:00.000Z\",\n    \"member\": \"59df84e3bc4f61095c84b002\",\n    \"program\": \"59de86b7584b770052aaacaf\",\n
\"policyId\":\"5c5a8efe88a73e01552ba5d4\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/offers")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/offers");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.AddParameter("application/json", "{\n    \"name\": \"30% Off Pants\",\n    \"code\": \"OFF30PCT1\",\n    \"desc\": \"30% Off Pants\",\n    \"usesLeft\": 1,\n    \"expiresOn\": \"2017-11-19T07:00:00.000Z\",\n    \"effectiveDate\": \"2017-10-19T07:51:00.000Z\",\n    \"member\": \"59df84e3bc4f61095c84b002\",\n    \"program\": \"59de86b7584b770052aaacaf\",\n
\"policyId\":\"5c5a8efe88a73e01552ba5d4\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/offers")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"name\": \"30% Off Pants\",\n    \"code\": \"OFF30PCT1\",\n    \"desc\": \"30% Off Pants\",\n    \"usesLeft\": 1,\n    \"expiresOn\": \"2017-11-19T07:00:00.000Z\",\n    \"effectiveDate\": \"2017-10-19T07:51:00.000Z\",\n    \"member\": \"59df84e3bc4f61095c84b002\",\n    \"program\": \"59de86b7584b770052aaacaf\",\n  \"policyId\":\"5c5a8efe88a73e01552ba5d4\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/offers');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

$request->setBody('{
    "name": "30% Off Pants",
    "code": "OFF30PCT1",
    "desc": "30% Off Pants",
    "usesLeft": 1,
    "expiresOn": "2017-11-19T07:00:00.000Z",
    "effectiveDate": "2017-10-19T07:51:00.000Z",
    "member": "59df84e3bc4f61095c84b002",
    "program": "59de86b7584b770052aaacaf",
    "policyId": "5c5a8efe88a73e01552ba5d4"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/offers HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache

{
    "name": "30% Off Pants",
    "code": "OFF30PCT1",
    "desc": "30% Off Pants",
    "usesLeft": 1,
    "expiresOn": "2017-11-19T07:00:00.000Z",
    "effectiveDate": "2017-10-19T07:51:00.000Z",
    "member": "59df84e3bc4f61095c84b002",
    "program": "59de86b7584b770052aaacaf",
    "policyId": "5c5a8efe88a73e01552ba5d4"
}
curl -X POST \
  http://dev:3000/api/v1/offers \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "name": "30% Off Pants",
    "code": "OFF30PCT1",
    "desc": "30% Off Pants",
    "usesLeft": 1,
    "expiresOn": "2017-11-19T07:00:00.000Z",
    "effectiveDate": "2017-10-19T07:51:00.000Z",
    "member": "59df84e3bc4f61095c84b002",
    "program": "59de86b7584b770052aaacaf",
    "policyId": "5c5a8efe88a73e01552ba5d4"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
  "name": "30% Off Pants",
  "code": "OFF30PCT1",
  "desc": "30% Off Pants",
  "usesLeft": 1,
  "expiresOn": "2017-11-19T07:00:00.000Z",
  "effectiveDate": "2017-10-19T07:51:00.000Z",
  "member": "59df84e3bc4f61095c84b002",
  "program": "59de86b7584b770052aaacaf",
  "policyId": "5c5a8efe88a73e01552ba5d4"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/offers")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a single Offer object.

This method creates a new offer.

HTTP Request

POST /api/v1/offers/

Input Arguments

Name Type Description
token string Authentication token.
offer JSON Offer object

Output Arguments

Name Type Description
offer JSON Offer object
status Number Status Codes.

Update Offer by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/offers/59e85ba07e09760050c82708',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' },
  body: { usesLeft: 2 },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"usesLeft\": 2\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/offers/59e85ba07e09760050c82708")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/offers/59e85ba07e09760050c82708");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.AddParameter("application/json", "{\n    \"usesLeft\": 2\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/offers/59e85ba07e09760050c82708")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"usesLeft\": 2\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/offers/59e85ba07e09760050c82708');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

$request->setBody('{
    "usesLeft": 2
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/offers/59e85ba07e09760050c82708 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache

{
    "usesLeft": 2
}
curl -X PUT \
  http://dev:3000/api/v1/offers/59e85ba07e09760050c82708 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "usesLeft": 2
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = ["usesLeft": 2] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/offers/59e85ba07e09760050c82708")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Offer object.

This method updates the specified offer.

HTTP Request

PUT /api/v1/offers/:id

Input Arguments

Name Type Description
token string Authentication token.
id hexadecimal Used to identify unique record from API. Value references to "_id" field from Offer`s structure.
offer JSON Offer object

Output Arguments

Name Type Description
offer JSON Offer object
status Number Status Codes.

Delete Offer by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' },
  body: { usesLeft: 2 },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"usesLeft\": 2\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.AddParameter("application/json", "{\n    \"usesLeft\": 2\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"usesLeft\": 2\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

$request->setBody('{
    "usesLeft": 2
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/rewards/59e84dbc31a6b90052ed4bc1 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache

{
    "usesLeft": 2
}
curl -X PUT \
  http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "usesLeft": 2
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = ["usesLeft": 2] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified offer.

HTTP Request

Delete /api/v1/offers/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId Value references to "_id" field from Offer`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Partners

This API is compliant with the query interface described in Advanced Queries.

A partner defines an external entity which can submit Activities. The Activity carries a partnerCode which will be validated against all defined partners. The same partnerCode could be used to define rules specific to a particular partner, for example, translating the points accrued to a differnet value if they are coming from extenral entities.

Partner Structure

 {
        "name": "Herz",
        "code": "HERZ",
        "status": "Active",
        "email": "marketingadmin.com",
        "phone": "+12062331123",
        "contactFirst": "Emil",
        "contactLast": "Sarkissian",
        "program": "59de86b7584b770052aaacaf",
        "_id": "59fd5adaf10a100052f93bd4",
        "createdAt": "2016-11-04T06:14:50.354Z",
        "updatedAt": "2016-11-04T06:14:50.354Z",
        "createdBy": "59de84708d69b9006b8295df",
        "updatedBy": "59de84708d69b9006b8295df"
    }
Field Type Description
_id ObjectId unique The id of the record
code String required Partner code which will be unique for each partner.
name String required Partner name
status String required Partners Status, which can be Active, Inactive, Suspended. This is driven by the Enums with type=PartnerStatus.
contactFirst String The first name of the partner contact person.
contactLast String The last name of the partner contact person.
email String The email of the partner contact person.
phone String The phone number of the partner contact person.
program ObjectId required Reference to Program
divisions Array It provides restriction to user groups

The object contains common fields

Read all Partners

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/partners',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/partners")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/partners");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/partners")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/partners');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/partners HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/partners \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/partners")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Partner objects.

This methods returns all partners in the system.

HTTP Request

GET /api/v1/partners

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
partners Array set of Partner objects
status Number Status Codes.

Read Partner by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/partners/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/partners/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/partners/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/partners/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/partners/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/partners/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/partners/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/partners/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Partner object.

This method returns the specified partner.

HTTP Request

GET /api/v1/partners/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Partner structure.
token string Authentication token.

Output Arguments

Name Type Description
partner JSON Partner object
status Number Status Codes.

Create Partner

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/partners',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    name: 'Herz',
    code: 'HERZ'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"Herz\",\n    \"code\": \"HERZ\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/partners")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/partners");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"name\": \"Herz\",\n    \"code\": \"HERZ\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/partners")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"name\": \"Herz\",\n    \"code\": \"HERZ\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/partners');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "name": "Herz",
    "code": "HERZ"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/partners HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "name": "Herz",
    "code": "HERZ"
}
curl -X POST \
  http://dev:3000/api/v1/partners \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "name": "Herz",
    "code": "HERZ"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "name": "Herz",
    "code": "HERZ"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/partners")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Partner object.

This method creates a new partner.

HTTP Request

POST /api/v1/partners/

Input Arguments

Name Type Description
token string Authentication token.
partner JSON Partner object

Output Arguments

Name Type Description
partner JSON Partner object
status Number Status Codes.

Update Partner by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/partners/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    contactFirst: 'Emil',
    contactLast: 'Sarkissian'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"contactLast\": \"Sarkissian\",\n    \"contactFirst\": \"Emil\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/partners/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/partners/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"contactLast\": \"Sarkissian\",\n    \"contactFirst\": \"Emil\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/partners/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"contactLast\": \"Sarkissian\",\n    \"contactFirst\": \"Emil\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/partners/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "contactFirst": "Emil",
    "contactLast": "Sarkissian"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/partners/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "contactFirst": "Emil",
    "contactLast": "Sarkissian"
}
curl -X PUT \
  http://dev:3000/api/v1/partners/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "contactFirst": "Emil",
    "contactLast": "Sarkissian"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "contactFirst": "Emil",
    "contactLast": "Sarkissian"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/partners/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Partner object.

This method updates the specified partner.

HTTP Request

PUT /api/v1/partners/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Partner structure.
partner JSON Partner object

Output Arguments

Name Type Description
partner JSON Partner object
status Number Status Codes.

Delete Partner by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/partners/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/partners/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/partners/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/partners/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/partners/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/partners/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/partners/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/partners/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified partner.

HTTP Request

DELETE /api/v1/partners/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Partner`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Preferences

This API is compliant with the query interface described in Advanced Queries.

Preferences are values set for each Member to indicate interest in products, personal preferences, clientelling attributes and so on.

Member Preference Structure

Sample Member Preference object

{
    "_id" : "5723aa474c18d776a60d5667",
    "memberId" : "5723aa474c18d776a60d5635",
    "name" : "Interest in Food Items",
    "expirationDate" : "3000-01-01T00:00:00Z",
    "value" : "Medium",
    "optedInDate" : "2016-04-29T18:39:03.138Z",
    "inferred" : false,
    "createdAt": "2015-06-08T17:10:22.956Z",
    "updatedAt": "2015-06-10T18:10:17.759Z",
    "createdBy": "5575cd268e18e80300c3fd4c",
    "updatedBy": "5575cd268e18e80300c3fd4c"
}
Field Type/Format Description
_id ObjectId readonly Unique value for every record.
memberId ObjectId required Member's ID.
name String required Preference name. This is validated against Enums (Type = MemberPreferenceName)
value Object required Preference value. The data type of this value is governed by the valueType property of the corresponding enumerator.
type String required String/Number/Date. This is validated against Enums (Type = MemberPreferenceType)
expirationDate Date default: 1/1/3000 Date, after which the setting is no longer valid
optedInDate Date default: Date.now() When the preference opt-in was received
inferred Boolean default: false Indicates inferred preference
category String The category to which the preference belongs. This is validated against Enums (Type = PreferenceCategory)

The object contains common fields

Read all Preferences

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/memberpreferences',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/memberpreferences")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/memberpreferences");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/memberpreferences")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/memberpreferences');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/memberpreferences HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/memberpreferences \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/memberpreferences")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Preference objects.

This method returns all preferences in the system.

HTTP Request

GET /api/v1/memberpreferences/

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
prefences Array An array of preference JSONs objects.

Create Preference

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/memberpreferences',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
   { memberId: '59df84e6bc4f61095c84be44',
     name: 'Interest in Cold Drinks',
     value: 'Yes',
     type: 'String',
     inferred: false,
     expirationDate: null,
     autoOptInDate: '1-1-2017',
     optedInDate: '2017-10-19T07:00:00.000Z' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"memberId\": \"59df84e6bc4f61095c84be44\",\n    \"name\": \"Interest in Cold Drinks\",\n    \"value\": \"Yes\",\n    \"type\": \"String\",\n    \"inferred\": false,\n    \"expirationDate\": null,\n    \"autoOptInDate\": \"1-1-2017\",\n    \"optedInDate\": \"2017-10-19T07:00:00.000Z\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/memberpreferences")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/memberpreferences");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"memberId\": \"59df84e6bc4f61095c84be44\",\n    \"name\": \"Interest in Cold Drinks\",\n    \"value\": \"Yes\",\n    \"type\": \"String\",\n    \"inferred\": false,\n    \"expirationDate\": null,\n    \"autoOptInDate\": \"1-1-2017\",\n    \"optedInDate\": \"2017-10-19T07:00:00.000Z\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/memberpreferences")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"memberId\": \"59df84e6bc4f61095c84be44\",\n    \"name\": \"Interest in Cold Drinks\",\n    \"value\": \"Yes\",\n    \"type\": \"String\",\n    \"inferred\": false,\n    \"expirationDate\": null,\n    \"autoOptInDate\": \"1-1-2017\",\n    \"optedInDate\": \"2017-10-19T07:00:00.000Z\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/memberpreferences');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "memberId": "59df84e6bc4f61095c84be44",
    "name": "Interest in Cold Drinks",
    "value": "Yes",
    "type": "String",
    "inferred": false,
    "expirationDate": null,
    "autoOptInDate": "1-1-2017",
    "optedInDate": "2017-10-19T07:00:00.000Z"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/memberpreferences HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "memberId": "59df84e6bc4f61095c84be44",
    "name": "Interest in Cold Drinks",
    "value": "Yes",
    "type": "String",
    "inferred": false,
    "expirationDate": null,
    "autoOptInDate": "1-1-2017",
    "optedInDate": "2017-10-19T07:00:00.000Z"
}
curl -X POST \
  http://dev:3000/api/v1/memberpreferences \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "memberId": "59df84e6bc4f61095c84be44",
    "name": "Interest in Cold Drinks",
    "value": "Yes",
    "type": "String",
    "inferred": false,
    "expirationDate": null,
    "autoOptInDate": "1-1-2017",
    "optedInDate": "2017-10-19T07:00:00.000Z"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
  "memberId": "59df84e6bc4f61095c84be44",
  "name": "Interest in Cold Drinks",
  "value": "Yes",
  "type": "String",
  "inferred": "",
  "expirationDate": "",
  "autoOptInDate": "1-1-2017",
  "optedInDate": "2017-10-19T07:00:00.000Z"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/memberpreferences")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the saved Member Preference objects.

This method will create a new member preference.

HTTP Request

POST /api/v1/memberpreferences/

Input Arguments

Name Type Description
token string Authentication token.
preference JSON New data to save in RCX API with member preference structure.

Output Arguments

Name Type Description
preference JSON New data to save in RCX API with member preference structure.
status Number Status Codes.

Read Preference by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/memberpreferences/59e908cb7e09760050c8271a',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/memberpreferences/59e908cb7e09760050c8271a")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/memberpreferences/59e908cb7e09760050c8271a");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/memberpreferences/59e908cb7e09760050c8271a")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/memberpreferences/59e908cb7e09760050c8271a');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/memberpreferences/59e908cb7e09760050c8271a HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/memberpreferences/59e908cb7e09760050c8271a \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/memberpreferences/59e908cb7e09760050c8271a")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a member preferences object.

HTTP Request

GET /api/v1/memberpreferences/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId Id field from member preference structure, used to identify a preference record uniquely.

Output Arguments

Name Type Description
prefence JSON A preference object.

Update Preference by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: { value: 'No' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"value\": \"No\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n\t\"value\": \"No\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n\t\"value\": \"No\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "value": "No"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/memberpreferences/59e90d417e09760050c8272c HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "value": "No"
}
curl -X PUT \
  http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "value": "No"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = ["value": "No"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns Member Preference objects.

This method will update the specified member preference.

HTTP Request

PUT /api/v1/memberpreferences/:id

Input Arguments

Name Type Description
token string Authentication token.
preference JSON New data to save in RCX API with member preference structure.
id ObjectId "_id" field from member preference structure.

Output Arguments

Name Type Description
preference JSON New data to save in RCX API with member preference structure.
status Number Status Codes.

Delete Preference by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/memberpreferences/59e90d417e09760050c8272c HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/memberpreferences/59e90d417e09760050c8272c")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified member preference.

HTTP Request

DELETE /api/v1/memberpreferences/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId "_id" field from member preference structure.

Output Arguments

Name Type Description
status Number Status Codes.

Products

This API is compliant with the query interface described in Advanced Queries.

A product is an item that can be bought as part of an order. A product may also be redeemed for points.

RCX Products are usually replicated from a company's product catalog or item master. The reason for this replication is to enable rules to be built in RCX that take into account what the customer is buying - for example, rules that provide extra points for buying a particular category of product.

Product Structure

Sample Product Object

{
    "name": "Peanut Butter & Jelly Donut",
    "category": "Food",
    "subcategory": "Baked Goods",
    "style": "Donut",
    "sku": "Sku-1",
    "_id": "59de897a584b770052aab144",
    "createdAt": "2017-10-11T21:13:30.881Z",
    "updatedAt": "2017-10-12T02:54:27.143Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df",
}
field Type/Format Description
name String required Product short name
desc String Product full description
category String Product category
subcategory String Product sub-category
style String Product style
sku String required Product SKU
url String URL to a picture resource for this product
cost Number Cost in points
internalCode String Internal product code
upc String Universal product code

The object contains common fields

Read all Products

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/products/59de897a584b770052aab144',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/products/59de897a584b770052aab144")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/products/59de897a584b770052aab144");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/products/59de897a584b770052aab144")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/products/59de897a584b770052aab144');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/products/59de897a584b770052aab144 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/products/59de897a584b770052aab144 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/products/59de897a584b770052aab144")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Product objects.

This method returns all products in the system.

HTTP Request

GET /api/v1/products

Input Arguments

Name Type Description
token String Used to identify the user to the API.

Output Arguments

Name Type Description
products array Array of Product objects
status Number Status Codes.

Read Product by ID

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/products',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
   { name: 'Peanut Butter & Jelly Donut 1',
     category: 'Food',
     subcategory: 'Baked Goods',
     style: 'Donut',
     sku: 'Sku-12222' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"name\": \"Peanut Butter & Jelly Donut 1\",\n    \"category\": \"Food\",\n    \"subcategory\": \"Baked Goods\",\n    \"style\": \"Donut\",\n    \"sku\": \"Sku-12222\"\n}\n    ");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/products")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/products");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n\t\"name\": \"Peanut Butter & Jelly Donut 1\",\n    \"category\": \"Food\",\n    \"subcategory\": \"Baked Goods\",\n    \"style\": \"Donut\",\n    \"sku\": \"Sku-12222\"\n}\n    ", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/products")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n\t\"name\": \"Peanut Butter & Jelly Donut 1\",\n    \"category\": \"Food\",\n    \"subcategory\": \"Baked Goods\",\n    \"style\": \"Donut\",\n    \"sku\": \"Sku-12222\"\n}\n    "

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/products');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "name": "Peanut Butter & Jelly Donut 1",
    "category": "Food",
    "subcategory": "Baked Goods",
    "style": "Donut",
    "sku": "Sku-12222"
}
    ');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/products HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "name": "Peanut Butter & Jelly Donut 1",
    "category": "Food",
    "subcategory": "Baked Goods",
    "style": "Donut",
    "sku": "Sku-12222"
}
curl -X POST \
  http://dev:3000/api/v1/products \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "name": "Peanut Butter & Jelly Donut 1",
    "category": "Food",
    "subcategory": "Baked Goods",
    "style": "Donut",
    "sku": "Sku-12222"
}
    '
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
  "name": "Peanut Butter & Jelly Donut 1",
  "category": "Food",
  "subcategory": "Baked Goods",
  "style": "Donut",
  "sku": "Sku-12222"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/products")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Product object.

This method returns the specified product.

HTTP Request

GET /api/v1/products/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId "_id" field from Product

Output Arguments

Name Type Description
product JSON Product object
status Number Status Codes

Create Product

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/products',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
   { name: 'Peanut Butter & Jelly Donut 1',
     category: 'Food',
     subcategory: 'Baked Goods',
     style: 'Donut',
     sku: 'Sku-12222' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"name\": \"Peanut Butter & Jelly Donut 1\",\n    \"category\": \"Food\",\n    \"subcategory\": \"Baked Goods\",\n    \"style\": \"Donut\",\n    \"sku\": \"Sku-12222\"\n}\n    ");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/products")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/products");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n\t\"name\": \"Peanut Butter & Jelly Donut 1\",\n    \"category\": \"Food\",\n    \"subcategory\": \"Baked Goods\",\n    \"style\": \"Donut\",\n    \"sku\": \"Sku-12222\"\n}\n    ", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/products")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n\t\"name\": \"Peanut Butter & Jelly Donut 1\",\n    \"category\": \"Food\",\n    \"subcategory\": \"Baked Goods\",\n    \"style\": \"Donut\",\n    \"sku\": \"Sku-12222\"\n}\n    "

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/products');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "name": "Peanut Butter & Jelly Donut 1",
    "category": "Food",
    "subcategory": "Baked Goods",
    "style": "Donut",
    "sku": "Sku-12222"
}
    ');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/products HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "name": "Peanut Butter & Jelly Donut 1",
    "category": "Food",
    "subcategory": "Baked Goods",
    "style": "Donut",
    "sku": "Sku-12222"
}
curl -X POST \
  http://dev:3000/api/v1/products \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "name": "Peanut Butter & Jelly Donut 1",
    "category": "Food",
    "subcategory": "Baked Goods",
    "style": "Donut",
    "sku": "Sku-12222"
}
    '
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
  "name": "Peanut Butter & Jelly Donut 1",
  "category": "Food",
  "subcategory": "Baked Goods",
  "style": "Donut",
  "sku": "Sku-12222"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/products")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns the new Product object.

This method creates a new product.

HTTP Request

POST /api/v1/products/

Input Arguments

Name Type Description
token string Authentication token
newProduct JSON New data with Product structure

Output Arguments

Name Type Description
newProduct JSON Product object
status Number Status Codes

Update Product by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/products/59e8f9b37e09760050c82718',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: { category: 'Drinks' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"category\": \"Drinks\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/products/59e8f9b37e09760050c82718")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/products/59e8f9b37e09760050c82718");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n\t\"category\": \"Drinks\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/products/59e8f9b37e09760050c82718")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n\t\"category\": \"Drinks\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/products/59e8f9b37e09760050c82718');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "category": "Drinks"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/products/59e8f9b37e09760050c82718 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "category": "Drinks"
}
curl -X PUT \
  http://dev:3000/api/v1/products/59e8f9b37e09760050c82718 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "category": "Drinks"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = ["category": "Drinks"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/products/59e8f9b37e09760050c82718")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns Product objects.

This method updates the specified product.

HTTP Request

PUT /api/v1/products/:id

Input Arguments

Name Type Description
token string Authentication token
id ObjectId "_id" field from Product structure
product JSON Product object

Output Arguments

Name Type Description
newProduct JSON Product object
status Number Status Codes

Delete Product by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/products/59e8f9b37e09760050c82718',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/products/59e8f9b37e09760050c82718")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/products/59e8f9b37e09760050c82718");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/products/59e8f9b37e09760050c82718');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/products/59e8f9b37e09760050c82718');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
curl -X DELETE \
  http://dev:3000/api/v1/products/59e8f9b37e09760050c82718 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
curl -X DELETE \
  http://dev:3000/api/v1/products/59e8f9b37e09760050c82718 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/products/59e8f9b37e09760050c82718',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified product.

HTTP Request

DELETE /api/v1/products/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId "_id" field from Product structure.

Output Arguments

Name Type Description
status statusCode 204 = OK

Programs

This API is compliant with the query interface described in Advanced Queries.

A program is an object which defines rules, actions and flows which enable processing of transactions through the engine. The program also contains settings that govern certain behaviors at the program level, such as auto-enrollment and generating enrollment bonuses.

Program Structure

    {
        "_id" : ObjectId("59de86b7584b770052aaacaf"),
        "createdBy" : ObjectId("59de84708d69b9006b8295df"),
        "updatedBy" : ObjectId("59de84708d69b9006b8295df"),
        "createdAt" : ISODate("2015-10-11T21:01:43.987Z"),
        "updatedAt" : ISODate("2015-10-23T19:33:23.483Z"),
        "name" : "Sample Rewards",
        "desc" : "Sample Rewards Program",
        "version" : 19,
        "rules": {},
        "actions": {},
        "hasChanges": false,
        "lastPublished": "2015-03-25T11:48:15.635Z"
    }
Field Type Description
_id String readonly unique Unique ID.
name String required The program name .
enrollSettings JSON Options on the program (autoEnroll, generateEnrollmentBonus, maxActivityAge, trashVisibility, currencyCode, defaultUTCOffset, activityBasedExpFilter, enableCardValidation, cardTypesToValidate, defaultCardType)
rules JSON Rules of the program.
flow JSON Flow of the program.
desc String required The description of the program.
hasChanges Bool Does it have unpublished changes.
lastPublished String Date when it was last published.
version Integer Version number.
divisions Array It provides restriction to user groups.

The object contains common fields

Read all Programs

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/programs',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/programs")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/programs");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/programs")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/programs');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/programs HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/programs \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/programs")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Program objects.

This methods returns all programs in the system.

HTTP Request

GET /api/v1/programs

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
programs Array set of Program objects
status Number Status Codes.

Read Program by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/programs/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/programs/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/programs/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/programs/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/programs/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/programs/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/programs/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/programs/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Program object.

This method returns the specified program.

HTTP Request

GET /api/v1/programs/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Program structure.
token string Authentication token.

Output Arguments

Name Type Description
program JSON Program object
status Number Status Codes.

Create Program

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/programs',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    name: 'Sample Rewards',
    desc: 'Sample Rewards Program'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"Sample Rewards\",\n    \"desc\": \"Sample Rewards Program\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/programs")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/programs");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"name\": \"Sample Rewards\",\n    \"desc\": \"Sample Rewards Program\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/programs")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"name\": \"Sample Rewards\",\n    \"desc\": \"Sample Rewards Program\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/programs');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "name": "Sample Rewards",
    "desc": "Sample Rewards Program"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/programs HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "name": "Sample Rewards",
    "desc": "Sample Rewards Program"
}
curl -X POST \
  http://dev:3000/api/v1/programs \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "name": "Sample Rewards",
    "desc": "Sample Rewards Program"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "name": "Sample Rewards",
    "desc": "Sample Rewards Program"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/programs")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Program object.

This method creates a new program.

HTTP Request

POST /api/v1/programs/

Input Arguments

Name Type Description
token string Authentication token.
program JSON Program object

Output Arguments

Name Type Description
program JSON Program object
status Number Status Codes.

Update Program by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/programs/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    desc: 'Dunkin Donuts Rewards'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"Dunkin Donuts Rewards\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/programs/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/programs/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"Dunkin Donuts Rewards\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/programs/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"Dunkin Donuts Rewards\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/programs/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "desc": "Dunkin Donuts Rewards"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/programs/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "desc": "Dunkin Donuts Rewards"
}
curl -X PUT \
  http://dev:3000/api/v1/programs/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "desc": "Dunkin Donuts Rewards"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "desc": "Dunkin Donuts Rewards"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/programs/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Program object.

This method updates the specified program.

HTTP Request

PUT /api/v1/programs/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Program structure.
program JSON Program object

Output Arguments

Name Type Description
program JSON Program object
status Number Status Codes.

Delete Program by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/programs/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/programs/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/programs/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/programs/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/programs/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/programs/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/programs/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/programs/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified program.

HTTP Request

DELETE /api/v1/programs/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Program`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Program Selective Export

The Selective Export allows users to choose specific data elements for export, providing flexibility and efficiency in exporting only what is necessary.

HTTP Request

POST /api/v1/programs/:programId/selectiveexport

var request = require("request");

var options = { method: 'POST',
  url: 'http://localhost:3000/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' },
  body: 
    {
        "options": {
            "CustomExpression": {
                "all": "yes"
            },
            "RewardPolicy": {
                "all": "no",
                "data": [
                    "10001",
                    "10003"
                ]
            },
            "Rule": {
                "all": "yes"
            },
        }
    },
  json: true };


request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;

import java.io.IOException;

public class OkHttpClientExample {

    public static void main(String[] args) throws IOException {
        OkHttpClient client = new OkHttpClient();

        MediaType mediaType = MediaType.parse("application/json");
        RequestBody body = RequestBody.create(mediaType, "{\n" +
                "    \"options\": {\n" +
                "        \"CustomExpression\": {\n" +
                "            \"all\": \"yes\"\n" +
                "        },\n" +
                "        \"RewardPolicy\": {\n" +
                "            \"all\": \"no\",\n" +
                "            \"data\": [\n" +
                "                \"10001\",\n" +
                "                \"10003\"\n" +
                "            ]\n" +
                "        },\n" +
                "        \"Rule\": {\n" +
                "            \"all\": \"yes\"\n" +
                "        }\n" +
                "    }\n" +
                "}");

        Request request = new Request.Builder()
                .url("http://localhost:3000/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport")
                .post(body)
                .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
                .addHeader("content-type", "application/json")
                .addHeader("cache-control", "no-cache")
                .build();

        Response response = client.newCall(request).execute();
        String responseBody = response.body().string();
        System.out.println(responseBody);

        response.close();
    }   
}
using RestSharp;

class Program
{
    static void Main(string[] args)
    {
        var client = new RestClient("http://localhost:3000/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport");
        var request = new RestRequest(Method.POST);
        request.AddHeader("cache-control", "no-cache");
        request.AddHeader("content-type", "application/json");
        request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
        request.AddParameter("application/json", "{\"options\":{\"CustomExpression\":{\"all\":\"yes\"},\"RewardPolicy\":{\"all\":\"no\",\"data\":[\"10001\",\"10003\"]},\"Rule\":{\"all\":\"yes\"}}}", ParameterType.RequestBody);

        IRestResponse response = client.Execute(request);
        Console.WriteLine(response.Content);
    }
}
require 'net/http'
require 'uri'
require 'json'

url = URI("http://localhost:3000/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = {
options: {
    CustomExpression: { all: "yes" },
    RewardPolicy: { all: "no", data: ["10001", "10003"] },
    Rule: { all: "yes" }
}
}.to_json

response = http.request(request)
puts response.read_body
<?php

require 'vendor/autoload.php'; // Include Composer's autoloader

use GuzzleHttp\Client;
use GuzzleHttp\Exception\RequestException;

$client = new Client([
    'base_uri' => 'http://localhost:3000', // Adjust base URI as needed
]);

$headers = [
    'cache-control' => 'no-cache',
    'content-type' => 'application/json',
    'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ',
];

$body = json_encode([
    'options' => [
        'CustomExpression' => ['all' => 'yes'],
        'RewardPolicy' => ['all' => 'no', 'data' => ['10001', '10003']],
        'Rule' => ['all' => 'yes'],
    ],
]);

try {
    $response = $client->post('/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport', [
        'headers' => $headers,
        'body' => $body,
    ]);

    echo $response->getBody()->getContents();
} catch (RequestException $e) {
    echo 'Error: ' . $e->getMessage();
}
POST /api/v1/programs/69de93dd584b770052aab5e7/selectiveexport' HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
    "options": {
        "CustomExpression": {
            "all": "yes"
        },
        "RewardPolicy": {
            "all": "no",
            "data": [
                "10001",
                "10003"
            ]
        },
        "Rule": {
            "all": "yes"
        },
    }
}
curl -X POST \
  http://localhost:3000//api/v1/programs/69de93dd584b770052aab5e7/selectiveexport \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
        "options": {
            "CustomExpression": {
                "all": "yes"
            },
            "RewardPolicy": {
                "all": "no",
                "data": [
                    "10001",
                    "10003"
                ]
            },
            "Rule": {
                "all": "yes"
            },
        }
    }'
import Foundation

// Define the URL
let url = URL(string: "http://localhost:3000/api/v1/programs/69de93dd584b770052aab5e7/selectiveexport")!

// Define the request body (parameters)
let parameters: [String: Any] = [
    "options": [
        "CustomExpression": ["all": "yes"],
        "RewardPolicy": ["all": "no", "data": ["10001", "10003"]],
        "Rule": ["all": "yes"]
    ]
]

// Convert parameters to Data
guard let jsonData = try? JSONSerialization.data(withJSONObject: parameters) else {
    print("Error converting parameters to JSON data")
    exit(1)
}

// Create the URLRequest
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.setValue("no-cache", forHTTPHeaderField: "Cache-Control")
request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")
request.httpBody = jsonData

// Create URLSessionDataTask and handle response
let task = URLSession.shared.dataTask(with: request) { (data, response, error) in
    if let error = error {
        print("Error: \(error)")
        return
    }

    guard let httpResponse = response as? HTTPURLResponse else {
        print("No HTTP response")
        return
    }

    // Assuming JSON response
    if let data = data, let body = String(data: data, encoding: .utf8) {
        print("Response status code: \(httpResponse.statusCode)")
        print("Response body: \(body)")
    }
}

// Start the task
task.resume()

Input Arguments

Name Type Description
token string Authentication token.
programId hexadecimal Used to identify unique record from API. Value references to "_id" field from Program.

Payload structure


{
  "options": {
    "CustomExpression": {
      "all": "yes"
    },
    "RewardPolicy": {
      "all": "no",
      "data": [
        "10001",
        "10003"
      ]
    },
    "RuleFolder": {
      "all": "no",
      "data": [
        "Adjustment Rules"
      ]
    },
    "Rule": {
      "all": "yes"
    },
    "StreakPolicy": {
      "all": "yes"
    },
    "TierPolicy": {
      "all": "yes"
    },
    "PursePolicy": {
      "all": "no",
      "data": [
        "Counter",
        "P1"
      ]
    },
    "Partner": {
      "all": "tes"
    },
    "NamedList": {
      "all": "no",
      "data": [
        "20001DISPENSEDDRINK",
        "20001DISPENSEDDRINK-TESTDATA1"
      ]
    },
    "AggregatePolicy": {
      "all": "yes"
    }
  }
}
Field Type Description
customExpression JSON
RewardPolicy JSON Selected reward policies from the program.
RuleFolder JSON Selected rule folders from the program.
Rule JSON Selected rules from the program.
StreakPolicy JSON Selected streak policies from the program.
TierPolicy JSON Selected tier policies from the program.
PursePolicy JSON Selected purse policies from the program.
Partner JSON Selected partners from the program.
Named List JSON Selected named lists from the program.
Aggregate Policy JSON Selected Aggregate policies from the program.

Purses

Purses are objects contained inside Member objects, under the purses array.

Purse Structure

Sample Purse Object

{
            "name": "Lifetime Points",
            "balance": 0,
            "availBalance": 0,
            "expiresIn": 0,
            "escrowsIn": 0,
            "overdraftLimit": 0,
            "primary": false,
            "program": "59de86b7584b770052aaacaf",
            "policyId": "59de86b7584b770052abcdef",
            "expiredPoints": 0,
            "_id": "59df84e2bc4f61095c84adc4",
            "createdAt": "2017-09-10T13:45:39.627Z",
            "updatedAt": "2016-12-08T21:15:45.549Z",
            "createdBy": "59de84708d69b9006b8295df",
            "updatedBy": "59de84708d69b9006b8295df"
}
Field Type Default Description
name String required Name of the purse (e.g. "Lifetime Points")
balance Number 0 The current balance of the purse
availBalance Number 0 The available balance (points out of escrow)
expiresIn Number 0 Expiration in hours, 0 means no expiration
escrowsIn Number 0 Escrow period in days, 0 means no escrow
overdraftLimit Number 0 Maximum negative Available Balance, 0 means no overdraft allowed
primary Boolean false required Primary flag. Used to show as primary in member's purses
program ObjectId required Reference to _id field of [Program] (#programs) where the purse policy resides.
policyId ObjectId required _id of the Purse Policy
lastExpirationDate Date Last time when the points got expired from the member's purse
expiredPoints Number 0 Expired points
accruedPoints Number 0 Tracks cumulative accruals
redeemedPoints Number 0 Tracks cumulative redemptions

The object contains common fields.

Purse Methods

Purse Manipulation Examples

There is no special API to change purses inside a Member. Instead, you can Read Member by ID, use your preferred lanugage to manipulate the Member.purses array inside the Member object, and the use the Update Member by ID API to commit the changes.

Purses are managed by manipulating a Member's purses array and then storing the resulting updated Member record.

Add Purse

Adding a new Purse to a Member is only initiated during enrollment and during program upgrades requiring additional purses.

If necessary, a new Purse can be directly added to a Member by adding an instance of Purse to the Member.purses array and then updating the member.

Note: Adding purses outside of enrollment process or Program upgrade process is highly discouraged, and only available with appropriate permissions.

Update Purse

While technically possible, Purses are generally not changed directly. Instead, they are changed by the rules engine in response to an Activity posting.

A Purse can be changed by changing it wihin the Member.purses array and then updating the member.

Note: Changing purse balances directly outside of Activity posting is highly discoraged and is only available with appropriate permissions.

Delete Purse

Deleting a Purse from a Member can be achieved by manipulating the Member's purses array and then storing the resulting updated Member record.

Note: Deleting purses is highly discouraged, and is only available with appropriate permissions.

Purse History

The Purse History resource represents a collection of expired purses for a member, detailing their balances, points and other personalization attributes.

Purse History Structure

Sample Purse History Object

{
  "name": "Lifetime Points",
  "balance": 0,
  "availBalance": 0,
  "expiresIn": 0,
  "escrowsIn": 0,
  "overdraftLimit": 0,
  "primary": false,
  "program": "6658658e4e476e003fd4bdf3",
  "org": "663c8ffb6430c2005533943b",
  "expiredPoints": 0,
  "_id": "67f6961b4194d7eae14b0867",
  "memberId": "6658658e4e476e003fd4bdf3",
  "mergeIds": [],
  "lockedPoints": [],
  "policyId": "663c91880458f6003e6a63f5",
  "createdAt": "2025-04-09T15:45:31.043Z",
  "updatedAt": "2025-04-10T06:25:00.005Z",
  "createdBy": "663c8ffb6430c2005533943a",
  "updatedBy": "663c8ffb6430c2005533943a",
  "lastExpirationDate": null,
  "accruedPoints": 0,
  "redeemedPoints": 0,

}
Field Type Default Description
name String Name of the purse (e.g. "Lifetime Points")
memberId ObjectId Reference to the member who owns the purse
mergeIds Array [] List of merged member IDs associated with the purse
balance Number 0 The current balance of the purse
availBalance Number 0 The available balance (points out of escrow)
expiresIn Number 0 Expiration in hours, 0 means no expiration
escrowsIn Number 0 Escrow period in days, 0 means no escrow
overdraftLimit Number 0 Maximum negative Available Balance, 0 means no overdraft allowed
primary Boolean false rimary flag. Used to show as primary in member's purses
program ObjectId Reference to _id field of [Program] (#programs) where the purse policy resides.
policyId ObjectId _id of the Purse Policy
lastExpirationDate Date Last time when the points got expired from the member's purse
expiredPoints Number 0 Expired points
accruedPoints Number 0 Tracks cumulative accruals
redeemedPoints Number 0 Tracks cumulative redemptions
lockedPoints Array [] List of points that are locked

The object contains common fields.

Read All Purse Histories

const axios = require('axios');

async function getAllPurseHistories() {
  try {
    const response = await axios.get('https://api.example.com/api/v1/pursehistories', {
      headers: {
        'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
      }
    });
    console.log(response.data);
    return response.data;
  } catch (error) {
    console.error('Error fetching purse history:', error);
  }
}

getAllPurseHistories();
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class GetAllPurseHistories {
    public static void main(String[] args) {
        try {
            URL url = new URL("https://api.example.com/api/v1/pursehistories");
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setRequestProperty("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");

            int responseCode = conn.getResponseCode();
            if (responseCode == 200) {
                BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();

                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }
                in.close();

                System.out.println(response.toString());
            } else {
                System.out.println("Error: " + responseCode);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        using (HttpClient client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
            try
            {
                HttpResponseMessage response = await client.GetAsync("https://api.example.com/api/v1/pursehistories");
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseBody);
            }
            catch (HttpRequestException e)
            {
                Console.WriteLine($"Request error: {e.Message}");
            }
        }
    }
}
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse('https://api.example.com/api/v1/pursehistories')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

if response.code == '200'
  purse_history = JSON.parse(response.body)
  puts purse_history
else
  puts "Error: #{response.code} - #{response.message}"
end
<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.example.com/api/v1/pursehistories",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
?>
GET /api/v1/pursehistories HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
curl -X GET \
  https://api.example.com/api/v1/pursehistories \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
import Foundation

let url = URL(string: "https://api.example.com/api/v1/pursehistories")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.addValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    guard let data = data, error == nil else {
        print("Error: \(error?.localizedDescription ?? "Unknown error")")
        return
    }
    if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
        print(String(data: data, encoding: .utf8) ?? "No response body")
    } else {
        print("Error: Invalid response")
    }
}
task.resume()

This endpoint retrieves all purse history records across all members. The results are paginated and can be filtered using query parameters.

HTTP Request

GET /api/v1/pursehistories

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
purse history Array List of Purse History object

Read Purse History by ID

const axios = require('axios');

async function getPurseHistoryById(id) {
  try {
    const response = await axios.get(`https://api.example.com/api/v1/pursehistories/${id}`, {
      headers: {
        'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
      }
    });
    console.log(response.data);
    return response.data;
  } catch (error) {
    console.error('Error fetching purse history:', error);
  }
}

getPurseHistoryById('61a5e8b7584b770052abcdef');
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class GetPurseHistoryById {
    public static void main(String[] args) {
        try {
            String id = "61a5e8b7584b770052abcdef";
            URL url = new URL("https://api.example.com/api/v1/pursehistories/" + id);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setRequestProperty("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");

            int responseCode = conn.getResponseCode();
            if (responseCode == 200) {
                BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();

                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }
                in.close();

                System.out.println(response.toString());
            } else {
                System.out.println("Error: " + responseCode);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        string id = "61a5e8b7584b770052abcdef";
        using (HttpClient client = new HttpClient())
        {
            client.DefaultRequestHeaders.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
            try
            {
                HttpResponseMessage response = await client.GetAsync($"https://api.example.com/api/v1/pursehistories/{id}");
                response.EnsureSuccessStatusCode();
                string responseBody = await response.Content.ReadAsStringAsync();
                Console.WriteLine(responseBody);
            }
            catch (HttpRequestException e)
            {
                Console.WriteLine($"Request error: {e.Message}");
            }
        }
    }
}
require 'net/http'
require 'uri'
require 'json'

id = '61a5e8b7584b770052abcdef'
uri = URI.parse("https://api.example.com/api/v1/pursehistories/#{id}")
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

if response.code == '200'
  purse_history = JSON.parse(response.body)
  puts purse_history
else
  puts "Error: #{response.code} - #{response.message}"
end
<?php
$id = "61a5e8b7584b770052abcdef";
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.example.com/api/v1/pursehistories/" . $id,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
?>
GET /api/v1/pursehistories/61a5e8b7584b770052abcdef HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
curl -X GET \
  https://api.example.com/api/v1/pursehistories/61a5e8b7584b770052abcdef \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
import Foundation

let id = "61a5e8b7584b770052abcdef"
let url = URL(string: "https://api.example.com/api/v1/pursehistories/\(id)")!
var request = URLRequest(url: url)
request.httpMethod = "GET"
request.addValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")

let task = URLSession.shared.dataTask(with: request) { data, response, error in
    guard let data = data, error == nil else {
        print("Error: \(error?.localizedDescription ?? "Unknown error")")
        return
    }
    if let httpResponse = response as? HTTPURLResponse, httpResponse.statusCode == 200 {
        print(String(data: data, encoding: .utf8) ?? "No response body")
    } else {
        print("Error: Invalid response")
    }
}
task.resume()

This endpoint retrieves a specific purse history record by its ID.

GET /api/v1/pursehistories/:id

Input Arguments

Name Type Description
token string Authentication token.
id hexadecimal Used to identify unique record from API, referenced to "_id" field from purse history`s structure.

Output Arguments

Name Type Description
purse history Array List of Purse History object

Streak History

Streak History maintains a record of all expired, cancelled, and completed streaks, ensuring transparency and accountability for streak progression and status changes with in a member.

Streak History Structure

Sample Streak History Object

{
  "startedAt": "2025-04-09T21:09:00.000Z",
  "changedAt": "2021-04-09T21:09:00.000Z",
  "status": "Complete",
  "value": 0,
  "currGoal": null,
  "goals": 
  [
    {
      "name": "Goal streak",
      "startedAt": "2025-04-17T17:48:00.000Z",
      "changedAt": "2025-04-17T17:48:00.000Z",
      "endedAt": "2025-04-17T17:48:00.000Z",
      "target": 5,
      "status": "Expired",
      "value": 0,
      "_id": "6806377d24b2ae7cbf4722a5",
      "createdAt": "2025-04-21T12:18:05.795Z",
      "updatedAt": "2025-04-21T12:18:52.258Z",
      "createdBy": "62c534b461e88400278e212a",
      "updatedBy": "62c534b461e88400278e212a"
    }
  ],
  "policyId": "663c91910458f6003e6a645a",
  "memberId": "6658658e4e476e003fd4bdf3",
  "org": "663c8ffb6430c2005533943b",
  "mergeIds": [],
  "_id": "67f6961b4194d7eae14b0867",
  "createdAt": "2025-04-09T15:45:31.043Z",
  "updatedAt": "2025-04-10T06:25:00.005Z",
  "createdBy": "663c8ffb6430c2005533943a",
  "updatedBy": "663c8ffb6430c2005533943a"
}
Field Type Description
startedAt Date The date and time when the streak was started
changedAt Date The date and time when the streak was last changed
status String The current status of the streak (e.g., "Complete")
value Number The value associated with the streak
currGoal Object The current goal associated with the streak (if any)
goals Array A list of goals associated with the streak
policyId ObjectId Reference to the _id field of the policy associated with the streak
memberId ObjectId Reference to the _id field of the member associated with the streak
org ObjectId Reference to the _id field of the organization associated with the streak
mergeIds Array List of merged member IDs associated with the purse

The object contains common fields.

Read All Streak Histories

Request Example

const axios = require('axios');

async function getAllStreakHistory() {
  try {
    const response = await axios.get('https://api.example.com/api/v1/streakhistories', {
      headers: {
        'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
      }
    });
    console.log(response.data);
    return response.data;
  } catch (error) {
    console.error('Error fetching streak history:', error);
  }
}

getAllStreakHistory();
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class GetAllStreakHistory {
    public static void main(String[] args) {
        try {
            URL url = new URL("https://api.example.com/api/v1/streakhistories");
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setRequestProperty("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");

            int responseCode = conn.getResponseCode();
            if (responseCode == 200) {
                BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();

                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }
                in.close();

                System.out.println(response.toString());
            } else {
                System.out.println("Error: " + responseCode);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
using System;
using System.IO;
using System.Net;
using System.Threading.Tasks;

class GetAllStreakHistory
{
  static async Task Main(string[] args)
  {
    string url = "https://api.example.com/api/v1/streakhistories";
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    request.Method = "GET";
    request.Headers["Authorization"] = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ";

    try
    {
      using (HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync())
      {
        if (response.StatusCode == HttpStatusCode.OK)
        {
          using (StreamReader reader = new StreamReader(response.GetResponseStream()))
          {
            string responseBody = await reader.ReadToEndAsync();
            Console.WriteLine(responseBody);
          }
        }
        else
        {
          Console.WriteLine($"Error: {response.StatusCode}");
        }
      }
    }
    catch (WebException ex)
    {
      Console.WriteLine($"Request error: {ex.Message}");
    }
  }
}
require 'net/http'
require 'uri'
require 'json'

uri = URI.parse('https://api.example.com/api/v1/streakhistories')
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

if response.code == '200'
  streak_history = JSON.parse(response.body)
  puts streak_history
else
  puts "Error: #{response.code} - #{response.message}"
end
<?php

function getAllStreakHistory() {
  $url = "https://api.example.com/api/v1/streakhistories";
  $token = "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ";

  $headers = [
    "Authorization: $token"
  ];

  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $url);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

  $response = curl_exec($ch);

  if (curl_errno($ch)) {
    echo 'Error: ' . curl_error($ch);
  } else {
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    if ($httpCode == 200) {
      echo $response;
    } else {
      echo "Error: HTTP Status Code $httpCode";
    }
  }

  curl_close($ch);
}

getAllStreakHistory();
?>
GET /api/v1/streakhistories HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
curl -X GET \
  https://api.example.com/api/v1/streakhistories \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
import Foundation

func getAllStreakHistory() {
  let url = URL(string: "https://api.example.com/api/v1/streakhistories")!
  var request = URLRequest(url: url)
  request.httpMethod = "GET"
  request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")

  let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let error = error {
      print("Error fetching streak history: \(error)")
      return
    }

    guard let data = data else {
      print("No data received")
      return
    }

    do {
      if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
        print(json)
      }
    } catch {
      print("Error parsing JSON: \(error)")
    }
  }

  task.resume()
}

getAllStreakHistory()

This endpoint retrieves all streak history records across all members. The results are paginated and can be filtered using query parameters.

GET /api/v1/streakhistories

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
streak history Array List of Streak History object

Read Streak History by ID

Request Example

const axios = require('axios');

async function getStreakHistoryById(id) {
  try {
    const response = await axios.get(`https://api.example.com/api/v1/streakhistories/${id}`, {
      headers: {
        'Authorization': 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
      }
    });
    console.log(response.data);
    return response.data;
  } catch (error) {
    console.error('Error fetching streak history:', error);
  }
}

getStreakHistoryById('63eddb6424e53a002702ae81');
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class GetStreakHistoryById {
    public static void main(String[] args) {
        try {
            String id = "63eddb6424e53a002702ae81";
            URL url = new URL("https://api.example.com/api/v1/streakhistories/" + id);
            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("GET");
            conn.setRequestProperty("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");

            int responseCode = conn.getResponseCode();
            if (responseCode == 200) {
                BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                String inputLine;
                StringBuffer response = new StringBuffer();

                while ((inputLine = in.readLine()) != null) {
                    response.append(inputLine);
                }
                in.close();

                System.out.println(response.toString());
            } else {
                System.out.println("Error: " + responseCode);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
using System;
using System.Net.Http;
using System.Threading.Tasks;

class Program
{
  private static readonly HttpClient client = new HttpClient();

  static async Task Main(string[] args)
  {
    string id = "63eddb6424e53a002702ae81";
    string url = $"https://api.example.com/api/v1/streakhistories/{id}";
    client.DefaultRequestHeaders.Add("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");

    try
    {
      HttpResponseMessage response = await client.GetAsync(url);
      response.EnsureSuccessStatusCode();
      string responseBody = await response.Content.ReadAsStringAsync();
      Console.WriteLine(responseBody);
    }
    catch (HttpRequestException e)
    {
      Console.WriteLine($"Request error: {e.Message}");
    }
  }
}
require 'net/http'
require 'uri'
require 'json'

id = '63eddb6424e53a002702ae81'
uri = URI.parse("https://api.example.com/api/v1/streakhistories/#{id}")
request = Net::HTTP::Get.new(uri)
request['Authorization'] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'

response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
  http.request(request)
end

if response.code == '200'
  streak_history = JSON.parse(response.body)
  puts streak_history
else
  puts "Error: #{response.code} - #{response.message}"
end
<?php
$id = "61a5e8b7584b770052abcdef";
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api.example.com/api/v1/streakhistories/". $id,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => array(
    "Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
?>
GET /api/v1/streakhistories/63eddb6424e53a002702ae81 HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
curl -X GET \
  https://api.example.com/api/v1/streakhistories/63eddb6424e53a002702ae81 \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
import Foundation

func getStreakHistoryById(id: String) {
  let url = URL(string: "https://api.example.com/api/v1/streakhistories/\(id)")!
  var request = URLRequest(url: url)
  request.httpMethod = "GET"
  request.setValue("Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ", forHTTPHeaderField: "Authorization")

  let task = URLSession.shared.dataTask(with: request) { data, response, error in
    if let error = error {
      print("Error fetching streak history: \(error)")
      return
    }

    guard let data = data else {
      print("No data received")
      return
    }

    do {
      if let json = try JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] {
        print(json)
      }
    } catch {
      print("Error parsing JSON: \(error)")
    }
  }

  task.resume()
}

getStreakHistoryById(id: "63eddb6424e53a002702ae81")

This endpoint retrieves a specific streak history record by its ID.

GET /api/v1/streakhistories/:id

Input Arguments

Name Type Description
token string Authentication token.
id hexadecimal Used to identify unique record from API, referenced to "_id" field from streak history`s structure.

Output Arguments

Name Type Description
streak history Array List of Streak History object

Purse Policies

This API is compliant with the query interface described in Advanced Queries.

A purse policy dictates what kinds of virtual currencies will be tracked for a member of the program. For example, we may track points for each dollar spent, frequency clubs such as punchcards, etc.

Purse Policy Structure

{
        "name": "Lifetime Points",
        "desc": "All the points ever accrued by customer",
        "expirationHours": 0,
        "escrowDays": 0,
        "activityBasedExpiration": false,
        "colors": [
            {
                "color": "#326ccd",
                "end": 1000000,
                "start": 0
            }
        ],
        "expiryWarningDays": [],
        "expirationSnapTo": "day",
        "escrowSnapTo": "day",
        "primary": false,
        "program": "59de86b7584b770052aaacaf",
        "_id": "59de8728584b770052aaacb5",
        "group": "Tier Credits",
        "periodStartDate": "2023-09-14T13:03:078Z",
        "periodEndDate": "2024-09-14T13:03:078Z",
        "periodCloseDate": "2023-09-20T13:03:078Z",
        "periodTimezone": "America/New_York",
        "createdAt": "2017-10-11T21:03:36.084Z",
        "updatedAt": "2017-10-11T21:03:36.084Z",
        "createdBy": "59de84708d69b9006b8295df",
        "updatedBy": "59de84708d69b9006b8295df"
    }
Field Type Description
_id ObjectId unique The id of the record
name String required Purse name
desc String Purse description
expirationHours Number The number of hours for which points are valid.
escrowDays Number The number of days to hold points in pending status before they can be redeemed
program ObjectId required Reference to Program
colors JSON Set of JSON obects with information about how different ranges of points will be shown (what colors).
primary Boolean Default: false If the purse will be primary or not.
activityBasedExpiration Boolean Default: false If this is set to true, the purse expiration will be considered since the last activity.
expirationSnapTo String When the expiration period begins. This is controled by Enums with type=SnapTo.
escrowSnapTo String When the escrow period begins. This is controled by Enums with type=SnapTo.
expiryWarningDays Array of Numbers Specifies the number of days before the expiration.
expiryUnit String default: 'Hours' Use either hour (s) or day (s) or month (s) or year (s) for the expiration of purse policy.
expiryValue Number default: 0 The number of units to expire the purse policy.
escrowUnit String default: 'Days' Measure of units for escrow.
escrowValue Number default: 0 Number of days after which purse points are available for redemption.
divisions Array It provides restriction to user groups.
group String The group to which the policy belongs.
periodStartDate Date The start date of the policy period.
periodEndDate Date The end date of the policy period.
periodCloseDate Date The date when the policy period closes.
periodTimezone String The timezone associated with the period dates.
aggregates Array Array of aggregate types (daily, weekly, monthly, quarterly, halfyearly, yearly and lifetime) to track for purse.

The object contains common fields

Read all Purse Policies

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/pursepolicies',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/pursepolicies")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/pursepolicies");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/pursepolicies")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/pursepolicies');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/pursepolicies HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/pursepolicies \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/pursepolicies")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Purse Policy objects.

This methods returns all pursepolicies in the system.

HTTP Request

GET /api/v1/pursepolicies

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
pursepolicies Array set of Purse Policy objects
status Number Status Codes.

Read Purse Policy by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/pursepolicies/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/pursepolicies/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/pursepolicies/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/pursepolicies/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/pursepolicies/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/pursepolicies/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/pursepolicies/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/pursepolicies/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Purse Policy object.

This method returns the specified purse policy.

HTTP Request

GET /api/v1/pursepolicies/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Purse Policy structure.
token string Authentication token.

Output Arguments

Name Type Description
purse policy JSON Purse Policy object
status Number Status Codes.

Create Purse Policy

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/pursepolicies',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    program: '59de86b7584b770052aaacaf',
    name: 'Free Drink Purse',
    desc: 'A frequency club for free drinks'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"desc\": \"A frequency club for free drinks\",\n    \"name\": \"Free Drink Purse\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/pursepolicies")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/pursepolicies");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"desc\": \"A frequency club for free drinks\",\n    \"name\": \"Free Drink Purse\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/pursepolicies")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"desc\": \"A frequency club for free drinks\",\n    \"name\": \"Free Drink Purse\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/pursepolicies');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "program": "59de86b7584b770052aaacaf",
    "desc": "A frequency club for free drinks",
    "name": "Free Drink Purse"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/pursepolicies HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "program": "59de86b7584b770052aaacaf",
    "desc": "A frequency club for free drinks",
    "name": "Free Drink Purse"
}
curl -X POST \
  http://dev:3000/api/v1/pursepolicies \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "program": "59de86b7584b770052aaacaf",
    "desc": "A frequency club for free drinks",
    "name": "Free Drink Purse"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "program": "59de86b7584b770052aaacaf",
    "desc": "A frequency club for free drinks",
    "name": "Free Drink Purse"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/pursepolicies")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Purse Policy object.

This method creates a new purse policy.

HTTP Request

POST /api/v1/pursepolicies/

Input Arguments

Name Type Description
token string Authentication token.
purse policy JSON Purse Policy object

Output Arguments

Name Type Description
purse policy JSON Purse Policy object
status Number Status Codes.

Update Purse Policy by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    desc: '30% Off any Brewed Coffee'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"30% Off any Brewed Coffee\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"30% Off any Brewed Coffee\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"30% Off any Brewed Coffee\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "desc": "30% Off any Brewed Coffee"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/pursepolicies/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "desc": "30% Off any Brewed Coffee"
}
curl -X PUT \
  http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "desc": "30% Off any Brewed Coffee"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "desc": "30% Off any Brewed Coffee"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Purse Policy object.

This method updates the specified purse policy.

HTTP Request

PUT /api/v1/pursepolicies/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Purse Policy structure.
purse policy JSON Purse Policy object

Output Arguments

Name Type Description
purse policy JSON Purse Policy object
status Number Status Codes.

Delete Purse Policy by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/pursepolicies/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/pursepolicies/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified purse policy.

HTTP Request

DELETE /api/v1/pursepolicies/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Purse Policy`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Referrals

This API is compliant with the query interface described in Advanced Queries.

Referrals are unique codes, which a member can give to non-members and when the non-members enroll, rewards can be earned for the referral.

Referral Structure

Sample Referral Object

{
    "code": "ByVEE0r6b",
    "expirationDate": "2017-11-19T07:28:44.429Z",
    "status": "pending",
    "referrer": "59df84e6bc4f61095c84be44",
    "referredMemberName": "John Higgs",
    "referredMemberContact": "john.higgs@gmail.com",
    "referredMemberHandle": "john.higgs",
    "org": "59de84708d69b9006b8295e0",
    "_id": "59e8542c31a6b90052ed4bc5",
    "createdAt": "2017-10-19T07:28:44.422Z",
    "updatedAt": "2017-10-19T07:28:44.422Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df"
}
Field Type Description
_id ObjectId required readonly unique ID of record
code String required Unique Referral Code generated by RCX to be handed out to the referred prospect
status String required Status of the referral code, valid values: [pending, completed]
referrer ObjectId required _id of the member, that created/initiated the referral code.
referredMemberId ObjectId A valid _id of the member, which was newly enrolled with a valid referral code.
referredMemberName String Name of the referred Member
referredMemberHandle String Social Handle of the referred Member (could be any social handle or even an email address)
referredMemberContact String Contact detail of the referred Member (could be email address or phone number)
completionDate Date Date of which the referral enrollment was completed and the referral was fulfilled
expirationDate Date required Date on which the referral entity expires, default is set to 1 month after creating the refferal

The object contains common fields

Read all Referrals

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/referrals',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/referrals")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/referrals");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/referrals")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/referrals');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/referrals HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/referrals \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/referrals")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Referrals objects.

This method returns all referrals in the system.

HTTP Request

GET /api/v1/referrals

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
referrals Array List of Referrals
status Number HTTP Status Code.

Read Referral by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/referrals/59e7e41531a6b90052ed4b16',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/referrals/59e7e41531a6b90052ed4b16")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/referrals/59e7e41531a6b90052ed4b16");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/referrals/59e7e41531a6b90052ed4b16")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/referrals/59e7e41531a6b90052ed4b16');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/referrals/59e7e41531a6b90052ed4b16 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/referrals/59e7e41531a6b90052ed4b16 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/referrals/59e7e41531a6b90052ed4b16")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a single Reward object.

This method reads a specific reward.

HTTP Request

GET /api/v1/rewards/:id

Input Arguments

Name Type Description
id hexadecimal Used to identify unique record from API. Value references to "_id" field from Reward`s structure.
token string Authentication token.

Output Arguments

Name Type Description
reward JSON Reward object
status Number Status Codes

Create Referral

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/referrals',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' },
  body: 
   { referrer: '59df84e6bc4f61095c84be44',
     referredMemberName: 'John Higgs',
     referredMemberContact: 'john.higgs@gmail.com',
     referredMemberHandle: 'john.higgs' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, " {\n\t\"referrer\": \"59df84e6bc4f61095c84be44\",\n    \"referredMemberName\": \"John Higgs\",\n    \"referredMemberContact\": \"john.higgs@gmail.com\",\n    \"referredMemberHandle\": \"john.higgs\"\n }");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/referrals")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/referrals");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.AddParameter("application/json", " {\n\t\"referrer\": \"59df84e6bc4f61095c84be44\",\n    \"referredMemberName\": \"John Higgs\",\n    \"referredMemberContact\": \"john.higgs@gmail.com\",\n    \"referredMemberHandle\": \"john.higgs\"\n }", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/referrals")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = " {\n\t\"referrer\": \"59df84e6bc4f61095c84be44\",\n    \"referredMemberName\": \"John Higgs\",\n    \"referredMemberContact\": \"john.higgs@gmail.com\",\n    \"referredMemberHandle\": \"john.higgs\"\n }"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/referrals');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

$request->setBody(' {
    "referrer": "59df84e6bc4f61095c84be44",
    "referredMemberName": "John Higgs",
    "referredMemberContact": "john.higgs@gmail.com",
    "referredMemberHandle": "john.higgs"
 }');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/referrals HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache

 {
    "referrer": "59df84e6bc4f61095c84be44",
    "referredMemberName": "John Higgs",
    "referredMemberContact": "john.higgs@gmail.com",
    "referredMemberHandle": "john.higgs"
 }
curl -X POST \
  http://dev:3000/api/v1/referrals \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d ' {
    "referrer": "59df84e6bc4f61095c84be44",
    "referredMemberName": "John Higgs",
    "referredMemberContact": "john.higgs@gmail.com",
    "referredMemberHandle": "john.higgs"
 }'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
  "referrer": "59df84e6bc4f61095c84be44",
  "referredMemberName": "John Higgs",
  "referredMemberContact": "john.higgs@gmail.com",
  "referredMemberHandle": "john.higgs"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/referrals")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a single Referral object.

This method creates a referral.

HTTP Request

POST /api/v1/referrals/

Input Arguments

Name Type Description
token string Authentication token
referral JSON Referral to be created

Output Arguments

Name Type Description
referral JSON Newly created Referral
status Number Status Codes.

Update Referral by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' },
  body: { status: 'complete' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n\t\"status\": \"complete\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
request.AddParameter("application/json", "{\n\t\"status\": \"complete\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n\t\"status\": \"complete\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

$request->setBody('{
    "status": "complete"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/referrals/59e8542c31a6b90052ed4bc5 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache

{
    "status": "complete"
}
curl -X PUT \
  http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "status": "complete"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = ["status": "complete"] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Referral object.

This method updates the specified referral.

HTTP Request

PUT /api/v1/referrals/:id

Input Arguments

Name Type Description
token string Authentication token.
id hexadecimal Used to identify unique record from API. Value references to "_id" field from Referral`s structure.
referral JSON Referral object

Output Arguments

Name Type Description
referral JSON Updated Referral object
status Number Status Codes.

Delete Referral by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/referrals/59e8542c31a6b90052ed4bc5 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/referrals/59e8542c31a6b90052ed4bc5")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified referral.

HTTP Request

Delete /api/v1/referrals/:id

Input Arguments

Name Type Description
token string Authentication token
id hexadecimal Used to identify unique record from API. Value references to "_id" field from Referral

Output Arguments

Name Type Description
status Number Status Codes

Redemption Items

This API is compliant with the query interface described in Advanced Queries.

Redemption items are the smallest blocks of points that are redeemed for a given activity. There is a one-to-many relationship between Redemption Items and Accrual Items as each redemption item tracks what accrual item it burned points from.

Note: While technically possible, you should never change/create/delete redemption items directly, as this will affect system integrity. Special permissions are required for any operations other than reading.

Redemption Item Structure

{
    "rule": "59de94bb584b770052aab602",
    "activity": "59df8534900914005c86c63a",
    "accrual": "59df8535900914005c86c640",
    "purse": "59df84e3bc4f61095c84af96",
    "points": 1,
    "dtBurned": "2017-10-12T15:07:34.737Z",
    "_id": "59df8536cea5b00055fdfdf5",
    "createdAt": "2017-10-12T15:07:33.430Z",
    "updatedAt": "2017-10-12T15:07:33.430Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df",
    "member": "59df84e2bc4f61095c84add2"
}
Field Type/Format Description
_id hexadecimal Unique id of the redemption
accrual hexadecimal The _id of the accrual from which points were redeemed in this redemption
activity ObjectId The _id of the parent activity that generated this redemption
dtBurned String Date of redemption burn
points Number points burned
purse hexadecimal Purse _id for which this redemption was done
rule hexadecimal Rule _id for rule which triggered this redemption
member hexadecimal required _id of the Member for which the redemption was generated.

The object contains common fields

Read all Redemption Items

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/redemptionitems',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/redemptionitems")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/redemptionitems");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/redemptionitems")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/redemptionitems');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/redemptionitems HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/redemptionitems \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/redemptionitems")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Redemption Item objects.

This methods returns all redemptionitems in the system.

HTTP Request

GET /api/v1/redemptionitems

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
redemptionitems Array set of Redemption Item objects
status Number Status Codes.

Read Redemption Item by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/redemptionitems/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/redemptionitems/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/redemptionitems/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/redemptionitems/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/redemptionitems/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/redemptionitems/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/redemptionitems/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/redemptionitems/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Redemption Item object.

This method returns the specified redemption item.

HTTP Request

GET /api/v1/redemptionitems/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Redemption Item structure.
token string Authentication token.

Output Arguments

Name Type Description
redemption item JSON Redemption Item object
status Number Status Codes.

Rewards

This API is compliant with the query interface described in Advanced Queries.

Rewards are earned coupons through the program rules, such as free items, discounts, etc. For example, you could have a program that automatically earns a free drink coupon with every 12 purchases.

Reward Structure

Sample Reward Object

{
    "name": "Free Drink",
    "code": "UNQ-123",
    "desc": "Free Drink Reward",
    "usesLeft": 1,
    "expiresOn": "2018-10-13T00:00:00.000Z",
    "policyId": "5db04e0fc983760048ee271e",
    "effectiveDate": "2017-10-12T15:07:33.441Z",
    "member": "59df84e3bc4f61095c84af94",
    "program": "59de86b7584b770052aaacaf",
    "_id": "59df8535900914005c86c645",
    "lockedTill": "2024-05-29T10:49:00.000Z",
    "lockDetails": [
      {
        "_id" : "66543decc872a5003708b501",
        "lockTxnId" : "test_123",
        "lockTill" : "2024-05-29T10:49:00.000Z",
        "lockAct" : "66543decc872a5003708b4fa",
        "lockedUses" : 1
      }
    ],
    "createdAt": "2017-10-12T15:07:33.442Z",
    "updatedAt": "2017-10-12T15:07:33.442Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df"
}
Field Type Description
_id hexadecimal required unique Unique ID
name String required The name of the reward. Comes from the policy
code String Unique reward code to be recognized by redemption channel (e.g. POS)
desc String required Description. Comes from the policy
usesLeft Number required Default: 1 Number of uses left on the reward (for multi-use rewards)
expiresOn Date required Date of expiration of the reward. Date Formats
effectiveDate Date Default:Date.now() Reward effective date. It can not be redeemed before this date/time. Date Formats
member ObjectId required _id of the Member] to which member the reward belongs to
policyId ObjectId required _id of the Reward Policy associated with this reward.
url String URL to a picture resource for this reward
upc String UPC code of the discount lineItem to be given when this reward is applied. Should usually exist in Products.
type String default: Reward type of reward(Reward)
redemptionDate Date UTC date on which the reward is utilized
redemptionLocalDate Date Local date on which the reward is utilized
activityUTCOffset Number Difference in minutes from Universal Time (UTC) for a particular place
rule ObjectId Unique ID of rule that triggered the offer utility
activity ObjectId Unique ID of the activity where the offer is utilized
isCancelled Boolean Indicates if the member reward is cancelled
canPreview Boolean Whether the reward can be used in arbitration before the effective date, only for members who have canPreview as true.
issueValue Number default: 0 placeholder to store value with which the reward is issued.
redmValue Number default: 0 placeholder to store value with which the reward is redeemed.
lockedTill Date The UTC date when the lock on the offer will expire
lockDetails Array set of lock details

The object contains common fields

Read all Rewards

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rewards',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewards")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewards");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewards")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewards');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rewards HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/rewards \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewards")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above code returns an array of Reward objects.

This method returns all rewards in the system.

HTTP Request

GET /api/v1/rewards

Input Arguments

Name Type Description
token string Authentication token

Output Arguments

Name Type Description
rewards Array set of Reward object
status Number Status Codes

Read Reward by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rewards/59df8535900914005c86c645',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewards/59df8535900914005c86c645")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewards/59df8535900914005c86c645");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewards/59df8535900914005c86c645")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewards/59df8535900914005c86c645');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rewards/59df8535900914005c86c645 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/rewards/59df8535900914005c86c645 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewards/59df8535900914005c86c645")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a single Reward object.

This method reads a specific reward.

HTTP Request

GET /api/v1/rewards/:id

Input Arguments

Name Type Description
id hexadecimal Used to identify unique record from API. Value references to "_id" field from Reward`s structure.
token string Authentication token.

Output Arguments

Name Type Description
reward JSON Reward object
status Number Status Codes

Create Reward

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/rewards',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' },
  body: 
   { name: 'Free Drink',
     code: 'code1234',
     desc: 'Free Drink Reward',
     usesLeft: 1,
     policyId: "5db04e0fc983760048ee271e",
     expiresOn: '2018-10-13T00:00:00.000Z',
     program: '59de86b7584b770052aaacaf',
     effectiveDate: '2017-10-12T15:07:33.441Z',
     member: '59df84e3bc4f61095c84af94' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"Free Drink\",\n    \"code\": \"code1234\",\n    \"desc\": \"Free Drink Reward\",\n    \"usesLeft\": 1,\n    \"expiresOn\": \"2018-10-13T00:00:00.000Z\",\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"effectiveDate\": \"2017-10-12T15:07:33.441Z\",\n    \"member\": \"59df84e3bc4f61095c84af94\",\n
\"policyId\": \"5db04e0fc983760048ee271e\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewards")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewards");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.AddParameter("application/json", "{\n    \"name\": \"Free Drink\",\n    \"code\": \"code1234\",\n    \"desc\": \"Free Drink Reward\",\n    \"usesLeft\": 1,\n    \"expiresOn\": \"2018-10-13T00:00:00.000Z\",\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"effectiveDate\": \"2017-10-12T15:07:33.441Z\",\n    \"member\": \"59df84e3bc4f61095c84af94\",\n
\"policyId\": \"5db04e0fc983760048ee271e\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewards")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"name\": \"Free Drink\",\n    \"code\": \"code1234\",\n    \"desc\": \"Free Drink Reward\",\n    \"usesLeft\": 1,\n    \"expiresOn\": \"2018-10-13T00:00:00.000Z\",\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"effectiveDate\": \"2017-10-12T15:07:33.441Z\",\n    \"member\": \"59df84e3bc4f61095c84af94\",\n \"policyId\": \"5db04e0fc983760048ee271e\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewards');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

$request->setBody('{
    "name": "Free Drink",
    "code": "code1234",
    "desc": "Free Drink Reward",
    "usesLeft": 1,
    "expiresOn": "2018-10-13T00:00:00.000Z",
    "program": "59de86b7584b770052aaacaf",
    "effectiveDate": "2017-10-12T15:07:33.441Z",
    "member": "59df84e3bc4f61095c84af94",
    "policyId": "5db04e0fc983760048ee271e"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/rewards HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
    "name": "Free Drink",
    "code": "code1234",
    "desc": "Free Drink Reward",
    "usesLeft": 1,
    "expiresOn": "2018-10-13T00:00:00.000Z",
    "program": "59de86b7584b770052aaacaf",
    "effectiveDate": "2017-10-12T15:07:33.441Z",
    "member": "59df84e3bc4f61095c84af94",
    "policyId": "5db04e0fc983760048ee271e"
}
curl -X POST \
  http://dev:3000/api/v1/rewards \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "name": "Free Drink",
    "code": "code1234",
    "desc": "Free Drink Reward",
    "usesLeft": 1,
    "expiresOn": "2018-10-13T00:00:00.000Z",
    "program": "59de86b7584b770052aaacaf",
    "effectiveDate": "2017-10-12T15:07:33.441Z",
    "member": "59df84e3bc4f61095c84af94",
    "policyId": "5db04e0fc983760048ee271e"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
  "name": "Free Drink",
  "code": "code1234",
  "desc": "Free Drink Reward",
  "usesLeft": 1,
  "expiresOn": "2018-10-13T00:00:00.000Z",
  "program": "59de86b7584b770052aaacaf",
  "effectiveDate": "2017-10-12T15:07:33.441Z",
  "member": "59df84e3bc4f61095c84af94",
  "policyId": "5db04e0fc983760048ee271e"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewards")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a single Reward object.

This method creates a new reward.

HTTP Request

POST /api/v1/rewards

Input Arguments

Name Type Description
token string Authentication token
reward JSON Reward object

Output Arguments

Name Type Description
reward JSON Reward object
status Number Status Codes

Update Reward by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' },
  body: { usesLeft: 2 },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"usesLeft\": 2\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
request.AddParameter("application/json", "{\n    \"usesLeft\": 2\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"usesLeft\": 2\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

$request->setBody('{
    "usesLeft": 2
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/rewards/59e84dbc31a6b90052ed4bc1 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache

{
    "usesLeft": 2
}
curl -X PUT \
  http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "usesLeft": 2
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = ["usesLeft": 2] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a single Reward object.

This method updates the specified reward.

HTTP Request

PUT /api/v1/rewards/:id

Input Arguments

Name Type Description
token string Authentication token.
id hexadecimal Used to identify unique record from API. Value references to "_id" field from Reward`s structure.
reward JSON Reward object

Output Arguments

Name Type Description
reward JSON Reward object
status Number Status Codes.

Delete Reward by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/rewards/59e84dbc31a6b90052ed4bc1 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ4UWlVdkdtcVBRT090bnY1aW4rY25IREpXNWx6ZzdzeWdVdXptcUZDZ2w4OUVHZ1cxTERrTXpXcy8rSVRhRVVhNkZjbVA5ZWNGQ21haGpoL2tiTVl3K2JzUGpBcFFYcGhRN3hCUW4xK0VlYmZXc0hkSHdvZTl4K0NZM0pjbWxvemxOT3EzQWVUclYwZ2xVNUNaQnFmWU4rVEtCbnhmcE9KdU1BVk1qa0R0dk1QbExkRVlMU3h6cjJZV1ZwZnNnRHgiLCJleHAiOjE1MDgzOTcxMDU2MjQsImlhdCI6MTUwODM2ODMwNX0.9RidMVxMenrylI4lA3GzZywNiiFzRV0-pO_Eba6fbWQ",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewards/59e84dbc31a6b90052ed4bc1")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified reward.

HTTP Request

Delete /api/v1/rewards/:id

Input Arguments

Name Type Description
token string Authentication token.
id hexadecimal Used to identify unique record from API. Value references to "_id" field from Reward`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Reward Policies

This API is compliant with the query interface described in Advanced Queries.

A Reward Policy manages the parameters of rewards and offers. It acts as a template for creating individual offers and rewards. Generally rewards and offers are quite similar, however, rewards are usually generated by redeeming points from a redemption catalog, while offers are generally loaded from external sources into the member wallet, or generated dynamically. There are three different types of policies that can be configured using the 'Rewards Policies' in RCX :

  1. Offers : Offers are like rewards, that are loaded externally for a member.In other words,these are the discounts provided to certain loyalty members based on different criteria.
  2. Global Offers : These are discounts provided to all the members and non-members of the loyalty program.
  3. Rewards : These are earned coupons through the program rules, such as free items, discounts, etc.

Both Offers and Rewards pariticipate in Lookup Best Offer action on the rule engine which allows for offer arbitration to occur and determine the best offer combination for the customer.

Reward Policy Structure

{
    "_id" : ObjectId("5d08809396880a008c735a48"),
    "desc" : "Sample RC Item",
    "isAppeasement" : false,
    "expirationHours" : 8616,
    "numUses" : 1,
    "perDayLimit" : 0,
    "perWeekLimit" : 0,
    "perOfferLimit" : 0,
    "countLimit" : 0,
    "redemptions" : 355,
    "activityBasedExpiration" : false,
    "expiryWarningDays" : [],
    "expirationSnapTo" : "now",
    "allowItemOverlap" : false,
    "priority" : 0,
    "segments" : [],
    "mandatorySegments" : [],
    "canPreview" : false,
    "expiryValue" : 359,
    "budget" : 0,
    "budgetUsed" : 0,
    "events" : [ 
        {
            "header" : {
                "name" : "ObjectInsertEvent",
                "timestamp" : Timestamp(1560838291, 0),
                "userId": "5c58d8570bf24c075fb5886b"
            },
            "payload" : {}
        }
    ],
    "name" : "Reward Catalog Item 1",
    "effectiveDate" : ISODate("2018-11-18T05:04:28.125Z"),
    "expirationDate" : Date(32503711078639),
    "intendedUse" : "Reward",
    "upc" : "12345678901234",
    "minPurchaseAmount" : 0,
    "locations" : {
        "isORQuery" : false,
        "isWildCardSearch" : false,
        "isIncluded" : true,
        "inclusionParams" : "{}",
        "query" : "{}"
    },
    "primaryProducts" : {
        "isDisabled" : false,
        "isORQuery" : false,
        "isWildCardSearch" : false,
        "isIncluded" : true,
        "inclusionParams" : "{"internalCode":{"isIncluded":true,"type":"string","searchStr":"240055,240592,240830,241260,241555,241556,241707,241709,241710,241717,241859,242708,243263"}}",
        "query" : "{"":[{"internalCode":{"":["240055","240592","240830","241260","241555","241556","241707","241709","241710","241717","241859","242708","243263"]}}]}",
        "count" : 0,
        "namedList" : ObjectId("5d08807696880a008c73344c")
    },
    "secondaryProducts" : {
        "isDisabled" : true,
        "isORQuery" : false,
        "isWildCardSearch" : false,
        "query" : "{}"
    },
    "tertiaryProducts" : {
        "isDisabled" : true,
        "isORQuery" : false,
        "isWildCardSearch" : false,
        "query" : "{}"
    },
    "excludedProducts" : {
        "isDisabled" : true,
        "isORQuery" : false,
        "isWildCardSearch" : false,
        "isIncluded" : true,
        "inclusionParams" : "{}",
        "query" : "{}"
    },
    "expiryUnit" : "Days",
    "discountType" : "Mix and Match",
    "price" : 100,
    "maxDiscountValue" : null,
    "pricingType" : "Package Percent Off",
    "primaryProductQuantity" : 1,
    "primaryProdPricingType" : null,
    "primaryProdDiscValue" : null,
    "primaryProdMaxDisc" : null,
    "secondaryProductQuantity" : null,
    "secondaryProdPricingType" : null,
    "secondaryProdDiscValue" : null,
    "secondaryProdMaxDisc" : null,
    "tertiaryProductQuantity" : null,
    "tertiaryProdPricingType" : null,
    "tertiaryProdDiscValue" : null,
    "tertiaryProdMaxDisc" : null,
    "availability" : {
        "sunday" : {
            "isEnabled" : true,
            "startHours" : 0,
            "startMins" : 0,
            "endHours" : 23,
            "endMins" : 59
        },
        "monday" : {
            "isEnabled" : true,
            "startHours" : 0,
            "startMins" : 0,
            "endHours" : 23,
            "endMins" : 59
        },
        "tuesday" : {
            "isEnabled" : true,
            "startHours" : 0,
            "startMins" : 0,
            "endHours" : 23,
            "endMins" : 59
        },
        "wednesday" : {
            "isEnabled" : true,
            "startHours" : 0,
            "startMins" : 0,
            "endHours" : 23,
            "endMins" : 59
        },
        "thursday" : {
            "isEnabled" : true,
            "startHours" : 0,
            "startMins" : 0,
            "endHours" : 23,
            "endMins" : 59
        },
        "friday" : {
            "isEnabled" : true,
            "startHours" : 0,
            "startMins" : 0,
            "endHours" : 23,
            "endMins" : 59
        },
        "saturday" : {
            "isEnabled" : true,
            "startHours" : 0,
            "startMins" : 0,
            "endHours" : 23,
            "endMins" : 59
        }
    },
    "availableRedemptions" : 1,
    "associatedId" : ObjectId("5d08809396880a008c735a48"),
    "ext" : {
        "isInRC" : true,
        "rewardCost" : 10,
        "couponDefId" : "0",
        "rewardDefId" : "0",
        "appeasementAllowed" : false,
        "displayOrder" : 0,
        "isAgeVerifyItem" : false,
        "isCatBAKERY" : false,
        "isCatCANDY" : false,
        "isCatCOMBOS" : false,
        "isCatDRINKS" : false,
        "isCatENERGY" : false,
        "isCatFRESHFOODS" : false,
        "isCatMOREDEALS" : false,
        "isCatSNACKS" : false
    },
    "nonce" : ObjectId("5cc7e88188a19500e1f6325b"),
    "upcMapping" : [],
    "org" : ObjectId("5d087a5536efd100954d403a"),
    "program" : ObjectId("5d08808296880a008c734fc1"),
    "createdAt" : ISODate("2019-06-18T06:11:31.116Z"),
    "updatedAt" : ISODate("2019-06-18T06:11:31.116Z"),
    "createdBy" : ObjectId("5d087a5536efd100954d4039"),
    "updatedBy" : ObjectId("5d087a5536efd100954d4039"),
    "__v" : 0,
    "applicableMemberStatus" : [],
    "transactionLimit": 1,
}
Field Type Description
_id ObjectId unique The id of the record
name String required Unique name of the reard/offer.
desc String Description of the reward/offer.
isAppeasement Boolean Whether this reward can be given from ui by customer support
perDayLimit Number Default is 0(unlimited). No of offers(global/regular) allowed per day per customer
perWeekLimit Number Default is 0(unlimited). No of offers(global/regular) allowed per week per customer
perOfferLimit Number Default is 0(unlimited). No of offers(global/regular) allowed per customer
transactionLimit Number Default is 0(unlimited). No of reedems allowed per transaction of a particular offer (only for offer and global offer).
countLimit Number Total no of offers to be given
redemptions Number Total no of offers redeemed so far
availableRedemptions Number Total no of offers avaiable for redemption
effectiveDate Date required Effective date. Date Formats
expirationDate Date required Expiration date. Date Formats
activityBasedExpiration Boolean Default: false Whether the expiration is activity based
expiryWarningDays Array Controls when to issue RewardExpirationWarningEvent - for example [5,10] means send out the event 10 days before, and 5 days before expiration.
expirationSnapTo String This dictates when the expiration window should start. It is controled by the Enum with type=SnapTo.
allowItemOverlap Boolean Determines whether this offer allows overlapping items with other offers
intendedUse String Can be one of Reward, Offer or Global Offer
upc String required. UPC code of the discount lineItem to be given when this offer is applied. Should usually exist in Products.
priority Number Priority of consideration during arbitration
program ObjectId Program for which the policy is created.
segments Array Array of _id of segments which apply to this offer
mandatorySegments Array Array of _id of mandataory segments which apply to this offer
canPreview Boolean Whether the policy can be used in arbitration before the effective date, only for members who have canPreview as true.
minPurchaseAmount Number The minimum purchase amount for the discount type Ticket to be applied.
url String URL to a picture resource for this offer
locations Object Defines the query structure for selecting locations eligible for offer redemption.
primaryProducts Object Defines the query structure for selecting primary products, associated with this offer (for Combo or Combo List or Mix and Match)
secondaryProducts Object Defines the query structure for selecting secondary products, associated with this offer (for Combo and Combo List)
tertiaryProducts Object Defines the query structure for selecting tertiary products, associated with this offer (for Combo and Combo List)
excludedProducts Object Defines the query structure of excluded products for the discount type Ticket.
expiryUnit String Either hours, days, months or years (for Rewards and Offers)
expiryValue Number Number of units to expiry (for Rewards and Offers),
budget Number Default: 0 (Unlimited) Total discount amount that can be disbursed for a Global Offer
budgetUsed Number Used discount amount
availableBudget Number Amount that is still available for disbursal for a Global Offer
discountType String required. One option among Combo, Mix and Match, Combolist, Ticket,
price Number required. Value expected when discountType is Mix and Match/Ticket/Combo. Accepts values 0 or greater than 0 when the pricingType is Package Price/Package Amount Off and between 0 and 100 when pricingType is Package Percent Off.
maxDiscountValue Number required. Maximum discount value for one application of this offer
pricingType String Value expected when discountType is Mix and Match/Ticket. Accepts Package Price/Package Amount Off/Package Percent Off when discountType is Mix and Match and Package Amount Off/Package Percent Off when discountType is Ticket.
primaryProductQuantity Number quantity of primary products (for Mix and Match, Combo, Combo List),if selected the products then it should maintain as required.
primaryProdPricingType String Primary product group pricing Type for Combo List discount. Value expected when discountType is Combo List. Accepts Package Price/Package Amount Off/Package Percent Off.
primaryProdMaxDisc Number Primary product group max discount for Combo List discount. Value expected when discountType is Combo List and primaryProdPricingType is Package Percent Off. Accepts values 0 or greater than 0.
primaryProdDiscValue Number required. Primary product group price for Combo List discount. Value expected when discountType is Combo List. Accepts values 0 or greater than 0 when the primaryProdPricingType is Package Price/Package Amount Off and between 0 and 100 when primaryProdPricingType is Package Percent Off.
secondaryProductQuantity Number quantity of secondary products (for Combo, Combo List),if selected the products then it should maintain as required.
secondaryProdPricingType String Secondary product group pricing Type for Combo List discount. Value expected when discountType is Combo List. Accepts Package Price/Package Amount Off/Package Percent Off.
secondaryProdDiscValue Number required. Secondary product group price for Combo List discount. Value expected when discountType is Combo List. Accepts values 0 or greater than 0 when the secondaryProdPricingType is Package Price/Package Amount Off and between 0 and 100 when secondaryProdPricingType is Package Percent Off.
secondaryProdMaxDisc Number Secondary product group max discount for Combo List discount. Value expected when discountType is Combo List and secondaryProdPricingType is Package Percent Off. Accepts values 0 or greater than 0.
tertiaryProductQuantity Number quantity of tertiary products (for Combo, Combo List),if selected the products then it should maintain as required.
tertiaryProdPricingType String Tertiary product group pricing Type for Combo List discount. Value expected when discountType is Combo List. Accepts Package Price/Package Amount Off/Package Percent Off.
tertiaryProdDiscValue Number required. Tertiary product group price for Combo List discount. Value expected when discountType is Combo List. Accepts values 0 or greater than 0 when the tertiaryProdPricingType is Package Price/Package Amount Off and between 0 and 100 when secondaryProdPricingType is Package Percent Off.
tertiaryProdMaxDisc Number Tertiary product group max discount for Combo List discount. Value expected when discountType is Combo List and tertiaryProdPricingType is Package Percent Off. Accepts values 0 or greater than 0.
availability Object The availability timing of the discount. Sample Value {"monday" : {"isEnabled" : true, "endMins" : 59, "endHours" : 5, "startMins" : 0, "startHours" : 1}, "Tuesday" : {"isEnabled" : false, "endMins" : 59, "endHours" : 0, "startMins" : 0, "startHours" : 0}}
upcMapping Array Product list vs UPC Code mapping
applicableMemberStatus Array Member statuses which is applicable for this offer
eligibilityQuery String Query to be evaluated on context as a part of arbitration.
numUses Number Number of uses allowed for each instance of reward/offer assigned to a member.
coolOffPeriod Number Default is 0. A time window frame (in minutes) where the member cannot use the same offer again within coolOffPeriod from his last used (for offer and global offer).
divisions Array It provides restriction to user groups

The object contains common fields

Read all Reward Policies

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rewardpolicies',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewardpolicies")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewardpolicies");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewardpolicies")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewardpolicies');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rewardpolicies HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/rewardpolicies \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewardpolicies")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Reward Policy objects.

This methods returns all rewardpolicies in the system.

HTTP Request

GET /api/v1/rewardpolicies

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
rewardpolicies Array set of Reward Policy objects
status Number Status Codes.

Read Reward Policy by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rewardpolicies/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Reward Policy object.

This method returns the specified reward policy.

HTTP Request

GET /api/v1/rewardpolicies/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Reward Policy structure.
token string Authentication token.

Output Arguments

Name Type Description
reward policy JSON Reward Policy object
status Number Status Codes.

Create Reward Policy

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/rewardpolicies',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    expirationDate: '2019-06-08T07:00:00.000Z',
    program: '59de86b7584b770052aaacaf',
    effectiveDate: '2017-11-28T11:58:00.000Z',
    name: 'Free Drink Reward',
    availability: '{"sunday": {"isEnabled": true,"startHours": 0,"startMins": 0,"endHours": 23,"endMins": 59}',
    desc: 'A free drink coupon earned through redemptions',
    discountType: 'Ticket',
    price: '50',
    upc: 'discount-upc',
    intendedUse: 'Global Offer',
    pricingType: 'Package Percent Off',
    isUnlimited: 'true'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"price\": \"50\",\n    \"availability\": \"{"sunday": {"isEnabled": true,"startHours": 0,"startMins": 0,"endHours": 23,"endMins": 59}\",\n    \"desc\": \"A free drink coupon earned through redemptions\",\n    \"discountType\": \"Ticket\",\n    \"name\": \"Free Drink Reward\",\n    \"isUnlimited\": \"true\",\n    \"pricingType\": \"Package Percent Off\",\n    \"intendedUse\": \"Global Offer\",\n    \"upc\": \"discount-upc\",\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"expirationDate\": \"2019-06-08T07:00:00.000Z\",\n    \"effectiveDate\": \"2017-11-28T11:58:00.000Z\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewardpolicies")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewardpolicies");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"price\": \"50\",\n    \"availability\": \"{"sunday": {"isEnabled": true,"startHours": 0,"startMins": 0,"endHours": 23,"endMins": 59}\",\n    \"desc\": \"A free drink coupon earned through redemptions\",\n    \"discountType\": \"Ticket\",\n    \"name\": \"Free Drink Reward\",\n    \"isUnlimited\": \"true\",\n    \"pricingType\": \"Package Percent Off\",\n    \"intendedUse\": \"Global Offer\",\n    \"upc\": \"discount-upc\",\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"expirationDate\": \"2019-06-08T07:00:00.000Z\",\n    \"effectiveDate\": \"2017-11-28T11:58:00.000Z\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewardpolicies")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"price\": \"50\",\n    \"availability\": \"{"sunday": {"isEnabled": true,"startHours": 0,"startMins": 0,"endHours": 23,"endMins": 59}\",\n    \"desc\": \"A free drink coupon earned through redemptions\",\n    \"discountType\": \"Ticket\",\n    \"name\": \"Free Drink Reward\",\n    \"isUnlimited\": \"true\",\n    \"pricingType\": \"Package Percent Off\",\n    \"intendedUse\": \"Global Offer\",\n    \"upc\": \"discount-upc\",\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"expirationDate\": \"2019-06-08T07:00:00.000Z\",\n    \"effectiveDate\": \"2017-11-28T11:58:00.000Z\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewardpolicies');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "program": "59de86b7584b770052aaacaf",
    "expirationDate": "2019-06-08T07:00:00.000Z",
    "effectiveDate": "2017-11-28T11:58:00.000Z",
    "price": "50",
    "discountType": "Ticket",
    "desc": "A free drink coupon earned through redemptions",
    "availability": "{"sunday": {"isEnabled": true,"startHours": 0,"startMins": 0,"endHours": 23,"endMins": 59}",
    "name": "Free Drink Reward",
    "isUnlimited": "true",
    "pricingType": "Package Percent Off",
    "intendedUse": "Global Offer",
    "upc": "discount-upc"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/rewardpolicies HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "program": "59de86b7584b770052aaacaf",
    "expirationDate": "2019-06-08T07:00:00.000Z",
    "effectiveDate": "2017-11-28T11:58:00.000Z",
    "price": "50",
    "discountType": "Ticket",
    "desc": "A free drink coupon earned through redemptions",
    "availability": "{"sunday": {"isEnabled": true,"startHours": 0,"startMins": 0,"endHours": 23,"endMins": 59}",
    "name": "Free Drink Reward",
    "isUnlimited": "true",
    "pricingType": "Package Percent Off",
    "intendedUse": "Global Offer",
    "upc": "discount-upc"
}
curl -X POST \
  http://dev:3000/api/v1/rewardpolicies \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "program": "59de86b7584b770052aaacaf",
    "expirationDate": "2019-06-08T07:00:00.000Z",
    "effectiveDate": "2017-11-28T11:58:00.000Z",
    "price": "50",
    "discountType": "Ticket",
    "desc": "A free drink coupon earned through redemptions",
    "availability": "{"sunday": {"isEnabled": true,"startHours": 0,"startMins": 0,"endHours": 23,"endMins": 59}",
    "name": "Free Drink Reward",
    "isUnlimited": "true",
    "pricingType": "Package Percent Off",
    "intendedUse": "Global Offer",
    "upc": "discount-upc"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "program": "59de86b7584b770052aaacaf",
    "expirationDate": "2019-06-08T07:00:00.000Z",
    "effectiveDate": "2017-11-28T11:58:00.000Z",
    "price": "50",
    "discountType": "Ticket",
    "desc": "A free drink coupon earned through redemptions",
    "availability": "{"sunday": {"isEnabled": true,"startHours": 0,"startMins": 0,"endHours": 23,"endMins": 59}",
    "name": "Free Drink Reward",
    "isUnlimited": "true",
    "pricingType": "Package Percent Off",
    "intendedUse": "Global Offer",
    "upc": "discount-upc"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewardpolicies")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Reward Policy object.

This method creates a new reward policy.

HTTP Request

POST /api/v1/rewardpolicies/

Input Arguments

Name Type Description
token string Authentication token.
reward policy JSON Reward Policy object

Output Arguments

Name Type Description
reward policy JSON Reward Policy object
status Number Status Codes.

Update Reward Policy by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    desc: '30% Off any Brewed Coffee'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"30% Off any Brewed Coffee\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"30% Off any Brewed Coffee\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"30% Off any Brewed Coffee\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "desc": "30% Off any Brewed Coffee"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/rewardpolicies/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "desc": "30% Off any Brewed Coffee"
}
curl -X PUT \
  http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "desc": "30% Off any Brewed Coffee"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "desc": "30% Off any Brewed Coffee"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Reward Policy object.

This method updates the specified reward policy.

HTTP Request

PUT /api/v1/rewardpolicies/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Reward Policy structure.
reward policy JSON Reward Policy object

Output Arguments

Name Type Description
reward policy JSON Reward Policy object
status Number Status Codes.

Delete Reward Policy by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/rewardpolicies/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewardpolicies/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified reward policy.

HTTP Request

DELETE /api/v1/rewardpolicies/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Reward Policy`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Reward Policy Locations

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/locations',
  qs: 
   { lat: '32.90081',
     long: '-96.987533',
     limit: '10',
     distance: '20',
     skip: '5' },
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/locations');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'lat' => '32.90081',
  'long' => '-96.987533',
  'limit' => '10',
  'distance' => '20',
  'skip' => '5'
));

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&amp;long=-96.987533&amp;limit=10&amp;distance=20&amp;skip=5 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  'http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/locations?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Location objects.

This method returns the locations associated with a Reward Policy. It will sort them ascending by distance if lat/long parametres are specified.

HTTP Request

GET /api/v1/rewardpolicies/:id/locations

Input Arguments

Name Type Description
token String Authentication token.
id ObjectId The _id field of the Reward Policy.
lat Number If location is available, this is the latitude of the current location.
long Number If location is available, this is the longitude of the current location.
limit Number This is used to limit the number of results.
skip Number This is used to skip a number of records (for pagination).
distance Number This is defaulted to 20 currently and is the radius for the location search.
select String It accepts comma separated string and returns only the fields in select. Ex:select=name,program

Output Arguments

Name Type Description
locations Array set of Location objects.
status Number Status Codes.

Reward Policy Primary Products

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts',
  qs: 
     limit: '10',
     skip: '5' },
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&skip=5")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&skip=5");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&skip=5")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'limit' => '10',
  'skip' => '5'
));

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&amp;skip=5 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  'http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&skip=5' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/primaryproducts?limit=10&skip=5")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Products objects.

This method returns the primary products associated with a Reward Policy.

HTTP Request

GET /api/v1/rewardpolicies/:id/primaryproducts

Input Arguments

Name Type Description
token String Authentication token.
id ObjectId The _id field of the Reward Policy.
limit Number This is used to limit the number of results.
skip Number This is used to skip a number of records (for pagination).

Output Arguments

Name Type Description
products Array set of Products objects.
status Number Status Codes.

Reward Policy Secondary Products

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts',
  qs: 
     limit: '10',
     skip: '5' },
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?limit=10&skip=5")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?limit=10&skip=5");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'limit' => '10',
  'skip' => '5'
));

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?lat=32.90081&amp;long=-96.987533&amp;limit=10&amp;distance=20&amp;skip=5 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  'http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?limit=10&skip=5' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/secondaryproducts?limit=10&skip=5")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Products objects.

This method returns the secondary products associated with a Reward Policy.

HTTP Request

GET /api/v1/rewardpolicies/:id/secondaryproducts

Input Arguments

Name Type Description
token String Authentication token.
id ObjectId The _id field of the Reward Policy.
limit Number This is used to limit the number of results.
skip Number This is used to skip a number of records (for pagination).

Output Arguments

Name Type Description
products Array set of Products objects.
status Number Status Codes.

Reward Policy Tertiary Products

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts',
  qs: 
     limit: '10',
     skip: '5' },
  headers: 
   { 'Cache-Control': 'no-cache',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?limit=10&skip=5")
  .get()
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ")
  .addHeader("Cache-Control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?limit=10&skip=5");
var request = new RestRequest(Method.GET);
request.AddHeader("Cache-Control", "no-cache");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?lat=32.90081&long=-96.987533&limit=10&distance=20&skip=5")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
request["Cache-Control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts');
$request->setMethod(HTTP_METH_GET);

$request->setQueryData(array(
  'limit' => '10',
  'skip' => '5'
));

$request->setHeaders(array(
  'Cache-Control' => 'no-cache',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?lat=32.90081&amp;long=-96.987533&amp;limit=10&amp;distance=20&amp;skip=5 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ
Cache-Control: no-cache
curl -X GET \
  'http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?limit=10&skip=5' \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ' \
  -H 'Cache-Control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJacmhxTndzb01pT1dJbjl0aUNKL2pLZlVacXphSExvUEh4YytBQWNuVmRjb3ZTc01wWER3NTNrOWZCYWx1citneXBoRnoyUko0b3duWCtZT2hOK242Q04wNnZxdXFZMkNkWTJDR09WbU9pekpZMWE0TVlpQmdNY1JzUEJJRzlRM1F2T25mY2tNdzZoVmlMaEFJSnVTQ2xuSTQvb0xGaWR1V0FRa05pWUNaMldCamJMZ1RsU2IwUzdGbzhyTmJ1Q3MiLCJleHAiOjE1MTgwNzYwMDQ0NjgsImlhdCI6MTUxODA0NzIwNH0.yiZE1k7kRGhzn9-Ju5PNFIRMkh1J3LWF2XBaFYZf4NQ",
  "Cache-Control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewardpolicies/59de97de584b770052aab641/tertiaryproducts?limit=10&skip=5")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Products objects.

This method returns the tertiary products associated with a Reward Policy.

HTTP Request

GET /api/v1/rewardpolicies/:id/tertiaryproducts

Input Arguments

Name Type Description
token String Authentication token.
id ObjectId The _id field of the Reward Policy.
limit Number This is used to limit the number of results.
skip Number This is used to skip a number of records (for pagination).

Output Arguments

Name Type Description
products Array set of Products objects.
status Number Status Codes.

Rules

This API is compliant with the query interface described in Advanced Queries.

A rule is an object which encapsulates a list of conditions, and a list of actions. During activity processing, if a rule's conditions are true then its actions will be executed. A rule may exist in a folder or be a top-level program rule.

Rule Structure

{
    "_id": "5575cc7cbee6c00300164e24",
    "createdAt": "2015-06-08T17:10:20.792Z",
    "updatedAt": "2015-06-08T17:10:20.792Z",
    "program": "5575cc7cbee6c00300164e23",
    "ruleFolder": "5575cc7cbee6c00300164e25",
    "name": "Stars and Levels",
    "desc": "Default stars accrual.",
    "actions": [
        {
            "name": "Default Level",
            "logicJSON": "[{"name":"addPoints","data":{}}]",
            "_id": "5575cc7cbee6c00300164e26"
        }
    ],
    "conditions": [
        {
            "name": "Default Level",
            "logicJSON": "{"group":{"operator":"and","rules":[]}}",
            "_id": "5575cc7cbee6c00300164e25"
        }
    ],
    "effectiveFrom": "2015-06-08T17:10:20.792Z",
    "effectiveTo": "2015-06-08T17:10:20.792Z",
    "priority": 0,
    "segments": [{"_id":"5a03bfd8ec729a0056e91fd4"}],
    "locations": {"isIncluded":true,"inclusionParams":"{}"},
    "primaryProducts": {
        "isDisabled":true,
        "isIncluded":true,
        "inclusionParams":"{}"
    },
    "secondaryProducts": {
        "isDisabled":true,
        "isIncluded":true,
        "inclusionParams":"{}"
    },
    "tertiaryProducts": {
        "isDisabled":true,
        "isIncluded":true,
        "inclusionParams":"{}"
    },
    "availability": {
        "sunday": {
            "isEnabled": true, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
        },
        "monday": {
            "isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
        },
        "tuesday": {
            "isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
        },
        "wednesday": {
            "isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
        },
        "thursday": {
            "isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
        },
        "friday": {
            "isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
        },
        "saturday": {
            "isEnabled": false, "startHours": 0, "startMins": 0, "endHours": 23, "endMins": 59
        }
    },
}
Field Type/Format Description
_id ObjectId readonly unique Unique ID
name String required Name of the rule.
program String required Program's ID.
ruleFolder String Rule folder's ID
conditions Array required Set of objects referring to condition schema.
actions Array required Set of objects referring to action schema.
desc String Full description.
effectiveFrom Date required Rule effective from date. Date Formats
effectiveTo Date Rule effective to date. Date Formats
priority Number Rule execution priority.
canPreview Boolean Whether rule can be applied before effective date, only for members who have canPreview as true.
segments Array Array of segment ids which are eligible for this Rule.
locations Object Defines the query structure for selecting locations, eligible for this Rule.
primaryProducts Object Defines the query structure for selecting primary products, associated with this Rule.
secondaryProducts Object Defines the query structure for selecting secondary products, associated with this Rule.
tertiaryProducts Object Defines the query structure for selecting tertiary products, associated with this Rule.
availability Object required The availability timing of the rule. Sample Value {"monday" : {"isEnabled" : true, "endMins" : 59, "endHours" : 5, "startMins" : 0, "startHours" : 1}, "tuesday" : {"isEnabled" : false, "endMins" : 59, "endHours" : 0, "startMins" : 0, "startHours" : 0}}
divisions Array It provides restriction to user groups.

The object contains common fields

Read all Rules

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rules',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rules")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rules");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rules")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rules');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rules HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/rules \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rules")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Rule objects.

This methods returns all rules in the system.

HTTP Request

GET /api/v1/rules

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
rules Array set of Rule objects
status Number Status Codes.

Read Rule by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rules/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rules/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rules/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rules/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rules/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rules/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/rules/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rules/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Rule object.

This method returns the specified rule.

HTTP Request

GET /api/v1/rules/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Rule structure.
token string Authentication token.

Output Arguments

Name Type Description
rule JSON Rule object
status Number Status Codes.

Create Rule

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/rules',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    program: '5db04e0fc983760048ee271e',
    name: 'Hot Drink Promotion',
    effectiveFrom: '2015-06-08T17:10:20.792Z',
    desc: 'Special promotion for hot drinks.'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"Special promotion for hot drinks.\",\n    \"effectiveFrom\": \"2015-06-08T17:10:20.792Z\",\n    \"program\": \"5db04e0fc983760048ee271e\",\n    \"name\": \"Hot Drink Promotion\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rules")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rules");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"Special promotion for hot drinks.\",\n    \"effectiveFrom\": \"2015-06-08T17:10:20.792Z\",\n    \"program\": \"5db04e0fc983760048ee271e\",\n    \"name\": \"Hot Drink Promotion\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rules")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"Special promotion for hot drinks.\",\n    \"effectiveFrom\": \"2015-06-08T17:10:20.792Z\",\n    \"program\": \"5db04e0fc983760048ee271e\",\n    \"name\": \"Hot Drink Promotion\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rules');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "desc": "Special promotion for hot drinks.",
    "effectiveFrom": "2015-06-08T17:10:20.792Z",
    "name": "Hot Drink Promotion",
    "program": "5db04e0fc983760048ee271e"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/rules HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "desc": "Special promotion for hot drinks.",
    "effectiveFrom": "2015-06-08T17:10:20.792Z",
    "name": "Hot Drink Promotion",
    "program": "5db04e0fc983760048ee271e"
}
curl -X POST \
  http://dev:3000/api/v1/rules \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "desc": "Special promotion for hot drinks.",
    "effectiveFrom": "2015-06-08T17:10:20.792Z",
    "name": "Hot Drink Promotion",
    "program": "5db04e0fc983760048ee271e"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "desc": "Special promotion for hot drinks.",
    "effectiveFrom": "2015-06-08T17:10:20.792Z",
    "name": "Hot Drink Promotion",
    "program": "5db04e0fc983760048ee271e"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rules")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Rule object.

This method creates a new rule.

HTTP Request

POST /api/v1/rules/

Input Arguments

Name Type Description
token string Authentication token.
rule JSON Rule object

Output Arguments

Name Type Description
rule JSON Rule object
status Number Status Codes.

Update Rule by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/rules/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    desc: 'Promotion which gives an extra 1 point for every additional hot drink.'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"Promotion which gives an extra 1 point for every additional hot drink.\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rules/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rules/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"Promotion which gives an extra 1 point for every additional hot drink.\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rules/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"Promotion which gives an extra 1 point for every additional hot drink.\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rules/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "desc": "Promotion which gives an extra 1 point for every additional hot drink."
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/rules/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "desc": "Promotion which gives an extra 1 point for every additional hot drink."
}
curl -X PUT \
  http://dev:3000/api/v1/rules/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "desc": "Promotion which gives an extra 1 point for every additional hot drink."
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "desc": "Promotion which gives an extra 1 point for every additional hot drink."
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rules/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Rule object.

This method updates the specified rule.

HTTP Request

PUT /api/v1/rules/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Rule structure.
rule JSON Rule object

Output Arguments

Name Type Description
rule JSON Rule object
status Number Status Codes.

Delete Rule by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/rules/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rules/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rules/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rules/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rules/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/rules/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/rules/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rules/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified rule.

HTTP Request

DELETE /api/v1/rules/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Rule`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Rule Folders

This API is compliant with the query interface described in Advanced Queries.

Rule Folders are hierarchical folders in which rules can be stored in order to manage them more efficiently. A folder can contain both Rules and other Rule Folders. Each Rule can only belong in one Rule Folder at any one time.

Rule Folder Structure


{
    "_id": "5575cc7cbee6c00300164e24",
    "createdAt": "2015-06-08T17:10:20.792Z",
    "updatedAt": "2015-06-08T17:10:20.792Z",
    "program": "5575cc7cbee6c00300164e23",
    "name": "Stars and Levels",
    "desc": "Default stars accrual.",
    "flow": "5575cc7cbee6c00300164e25",
    "org": "5575cc7cbee6c00300164e23",
    "parentFolder": "5575cc7cbee6c00300164e26",
    "priority": 0,
    "isPromoFolder": false

}
Field Type/Format Description
_id ObjectId readonly unique Unique ID
name String required Name of the rule.
program String required Program's ID.
desc String Full description.
parentFolder String Parent folder ID.
flow String Flow ID associated with the folder.
priority Number Folder execution priority.
isPromoFolder Boolean default:false Field to indicate if folder contains promo rules
divisions Array It provides restriction to user groups

The object contains common fields

Read all Rule Folders

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rulefolders',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rulefolders")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rulefolders");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rulefolders")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rulefolders');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rulefolders HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/rulefolders \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rulefolders")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Rule Folder objects.

This methods returns all rulefolders in the system.

HTTP Request

GET /api/v1/rulefolders

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
rulefolders Array set of Rule Folder objects
status Number Status Codes.

Read Rule Folder by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rulefolders/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rulefolders/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rulefolders/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rulefolders/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rulefolders/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rulefolders/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/rulefolders/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rulefolders/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Rule Folder object.

This method returns the specified rule folder.

HTTP Request

GET /api/v1/rulefolders/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Rule Folder structure.
token string Authentication token.

Output Arguments

Name Type Description
rule folder JSON Rule Folder object
status Number Status Codes.

Create Rule Folder

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/rulefolders',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    program: '5575cc7cbee6c00300164e23',
    name: 'Special Promotions Folder'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"name\": \"Special Promotions Folder\",\n    \"program\": \"5575cc7cbee6c00300164e23\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rulefolders")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rulefolders");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"name\": \"Special Promotions Folder\",\n    \"program\": \"5575cc7cbee6c00300164e23\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rulefolders")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"name\": \"Special Promotions Folder\",\n    \"program\": \"5575cc7cbee6c00300164e23\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rulefolders');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "name": "Special Promotions Folder",
    "program": "5575cc7cbee6c00300164e23"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/rulefolders HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "name": "Special Promotions Folder",
    "program": "5575cc7cbee6c00300164e23"
}
curl -X POST \
  http://dev:3000/api/v1/rulefolders \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "name": "Special Promotions Folder",
    "program": "5575cc7cbee6c00300164e23"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "name": "Special Promotions Folder",
    "program": "5575cc7cbee6c00300164e23"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rulefolders")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Rule Folder object.

This method creates a new rule folder.

HTTP Request

POST /api/v1/rulefolders/

Input Arguments

Name Type Description
token string Authentication token.
rule folder JSON Rule Folder object

Output Arguments

Name Type Description
rule folder JSON Rule Folder object
status Number Status Codes.

Update Rule Folder by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    desc: 'Default folder for special promos.'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"Default folder for special promos.\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"Default folder for special promos.\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"Default folder for special promos.\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "desc": "Default folder for special promos."
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/rulefolders/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "desc": "Default folder for special promos."
}
curl -X PUT \
  http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "desc": "Default folder for special promos."
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "desc": "Default folder for special promos."
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Rule Folder object.

This method updates the specified rule folder.

HTTP Request

PUT /api/v1/rulefolders/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Rule Folder structure.
rule folder JSON Rule Folder object

Output Arguments

Name Type Description
rule folder JSON Rule Folder object
status Number Status Codes.

Delete Rule Folder by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/rulefolders/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rulefolders/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified rule folder.

HTTP Request

DELETE /api/v1/rulefolders/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Rule Folder`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Rule Match Structure

Sample Rule Match

{
    "primaryLines" : [
        1
    ],
    "primaryQty" : 2,
    "primaryReqQty" : 1,
    "primaryAllocation" : [
        1,
        1
    ],
    "secondaryLines" : [],
    "secondaryQty" : -1,
    "secondaryReqQty" : -1,
    "secondaryAllocation" : [],
    "tertiaryLines" : [],
    "tertiaryQty" : -1,
    "tertiaryReqQty" : -1,
    "tertiaryAllocation" : [],
    "_id" : "5cefa3178150f10109a51183",
    "ruleRunId" : "5cefa3178150f10109a51182",
    "ruleId" : "5c59007d9a65de010d8e0daa",
    "matchCount" : 2
}
Field Type/Format Description
ruleRunId ObjectId New objectId if same rule ran more than once
ruleId ObjectId Unique ID of the rule
matchCount Number The matchCount is equal to the min( primaryQty/primaryExpectedQty, secondaryQty/secondaryExpectedQty, tertiaryQty/tertiaryExpectedQty)
primaryLines Number Line numbers from the context that belong to the Primary Product Group for which the rule is applicable for
primaryQty Number Actual matching quantity of products belonging to Primary Product Group from the context
primaryReqQty Number Minimum matching quantity of products specified at the rule, belonging to Primary Product Group
secondaryLines Number Line numbers from the context that belong to the Secondary Product Group for which the rule is applicable for
secondaryQty Number Actual matching quantity of products belonging to Secondary Product Group from the context
secondaryReqQty Number Minimum matching quantity of products specified at the rule, belonging to Secondary Product Group
tertiaryLines Number Line numbers from the context that belong to the Tertiary Product Group for which the rule is applicable for
tertiaryQty Number Actual matching quantity of products belonging to Tertiary Product Group from the context
tertiaryReqQty Number Minimum matching quantity of products specified at the rule, belonging to Tertiary Product Group
ruleFired Boolean Indicates if the rule is triggered
executionCount Number Number of times the rule has to be triggered, this variables overrides the per member limits on the rule.
memberOfferLimit Number Maximum number of times the respective Offer can be applied on the context.

Segments

This API is compliant with the query interface described in Advanced Queries.

Segments are named groups of memebers that identify some commonality between the members belonging to the segment. For example, "Morning Coffee Drinker", "Power Mom", etc.

Segment Structure

 {
    "name": "Compatible",
    "description": "tertiary",
    "type": "static",
    "_id": "59df84fe65fe8a098573896b",
    "createdAt": "2011-12-17T08:31:08.067Z",
    "updatedAt": "2017-04-28T14:17:11.009Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df"
}
field Type/Format Description
_id ObjectId required unique Unique ID
name String required name of the segment
description String the description of the segment
type String the type of the segment.

The object contains common fields

Read all Segments

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/segments',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/segments")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/segments");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/segments")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/segments');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/segments HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/segments \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/segments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Segment objects.

This methods returns all segments in the system.

HTTP Request

GET /api/v1/segments

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
segments Array set of Segment objects
status Number Status Codes.

Read Segment by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/segments/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/segments/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/segments/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/segments/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/segments/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/segments/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/segments/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/segments/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Segment object.

This method returns the specified segment.

HTTP Request

GET /api/v1/segments/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Segment structure.
token string Authentication token.

Output Arguments

Name Type Description
segment JSON Segment object
status Number Status Codes.

Create Segment

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/segments',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    desc: 'Evening shopper who is a mother and works.',
    name: 'Working Mom',
    type: 'static'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"Evening shopper who is a mother and works.\",\n    \"name\": \"Working Mom\",\n    \"type\": \"static\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/segments")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/segments");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"Evening shopper who is a mother and works.\",\n    \"name\": \"Working Mom\",\n    \"type\": \"static\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/segments")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"Evening shopper who is a mother and works.\",\n    \"name\": \"Working Mom\",\n    \"type\": \"static\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/segments');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "type": "static",
    "name": "Working Mom",
    "desc": "Evening shopper who is a mother and works."
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/segments HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "type": "static",
    "name": "Working Mom",
    "desc": "Evening shopper who is a mother and works."
}
curl -X POST \
  http://dev:3000/api/v1/segments \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "type": "static",
    "name": "Working Mom",
    "desc": "Evening shopper who is a mother and works."
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "type": "static",
    "name": "Working Mom",
    "desc": "Evening shopper who is a mother and works."
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/segments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Segment object.

This method creates a new segment.

HTTP Request

POST /api/v1/segments/

Input Arguments

Name Type Description
token string Authentication token.
segment JSON Segment object

Output Arguments

Name Type Description
segment JSON Segment object
status Number Status Codes.

Update Segment by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/segments/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    desc: 'Morning Coffee Drinker'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"desc\": \"Morning Coffee Drinker\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/segments/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/segments/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"desc\": \"Morning Coffee Drinker\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/segments/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"desc\": \"Morning Coffee Drinker\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/segments/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "desc": "Morning Coffee Drinker"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/segments/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "desc": "Morning Coffee Drinker"
}
curl -X PUT \
  http://dev:3000/api/v1/segments/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "desc": "Morning Coffee Drinker"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "desc": "Morning Coffee Drinker"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/segments/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Segment object.

This method updates the specified segment.

HTTP Request

PUT /api/v1/segments/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Segment structure.
segment JSON Segment object

Output Arguments

Name Type Description
segment JSON Segment object
status Number Status Codes.

Delete Segment by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/segments/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/segments/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/segments/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/segments/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/segments/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/segments/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/segments/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/segments/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified segment.

HTTP Request

DELETE /api/v1/segments/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Segment`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Streak Event Log

The Streak Event Log is an immutable record of changes to streak goal values that occurred for a Member.

Streak Event Log Structure

{
    "_id" : "63eddb6424e53a002702ae81",
    "eventName" : "StreakGoalAdvanceEvent",
    "eventId" : "cle2fryz90xya12o5ya272z7i",
    "eventDate" : "2023-02-13T06:30:30Z",
    "memberId" : "63e9d7c01df15b00270b5e8b",
    "streakId" : "63e9d7c11df15b00270b5ee4",
    "streakPolicyId" : "638a0611c452b100273c0bc4",
    "goalName" : "Hotel",
    "goalPrevValue" : 0,
    "goalNewValue" : 30,
    "goalPrevStatus" : "Active",
    "goalNewStatus" : "Active",
    "actDate" : "2023-01-29T11:59:00Z",
    "actUTCOffset" : 0,
    "actType" : "NGL Accrual",
    "actValue" : 30,
    "actCurrencyCode" : "USD",
    "actId" : "63e9d9063369890026006a37",
    "actLocationId" : "60f105c9f5226401eb832ff4",
    "actReasonCode" : "",
    "actSubReasonCode" : "",
    "actLoyaltyID" : "84567694",
    "createdAt" : "2023-02-16T07:29:40.611Z",
    "updatedAt" : "2023-02-16T07:29:40.611Z",
    "createdBy" : "621670caa1b79e00593ad0dc",
    "updatedBy" : "621670caa1b79e00593ad0dc",
    "org" : "62155636e7327700939e83cd",
    "__v" : 0
}
field Type/Format Description
_id ObjectId required unique Unique ID for the record.
eventName String required Name of the event that triggered the streak update.
eventId String unique Event ID associated with the streak update.
eventDate Date Date when event was triggered.
memberId ObjectId The Member ID for whom the streak was updated.
streakId ObjectId The Streak ID that was updated.
streakPolicyId ObjectId ID of the Streak Policy associated with the updated streak.
goalId ObjectId ID of the updated Member Streak Goal.
goalName String Name of the Member Streak Goal that was updated.
goalPrevValue Number Goal value of member streak before current update.
goalNewValue Number Goal value of member streak after current update.
goalPrevTarget Number Goal target of member streak before current update.
goalNewTarget Number Goal target of member streak after current update.
goalPrevStatus String Goal status of member streak before current update.
goalNewStatus String Goal status of member streak after current update.
actDate Date Date of the activity through which streak updated.
actUTCOffset Number UTC offset of the activity time.
actType String Type of activity that led to the streak update.
actValue Number Value of the activity that triggered the streak update.
actCurrencyCode String Currency code of the activity that updated the streak.
actId ObjectId ID of the Activity related to the streak update.
actLocationId ObjectId ID of the location related to the activity.
actReasonCode String Reason code of the activity.
actSubReadonCode String Sub reason code of the activity.
actLoyaltyID String Loyalty ID of the member associated with the activity.

The object contains common fields

Read all Streak Event Logs

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/streakeventlogs',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/streakeventlogs")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/streakeventlogs");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/streakeventlogs")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/streakeventlogs');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/streakeventlogs HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/streakeventlogs \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/streakeventlogs")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Streak Event Log objects.

HTTP Request

GET /api/v1/streakeventlogs

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
streak event logs Array set of Streak Event Log object
status Number Status Codes.

Tiers and Levels

Tiers are objects contained inside Member objects under the Member.tiers array. Each Tier further contains a current level, under its level element. Here we will describe both tiers and levels.

Tier and Level Structure

Sample Tier and Level

{
    "name": "Standard",
    "level": {
        "name": "Welcome",
                "number": 1,
        "_id": "59df84e2bc4f61095c84adad"
    },
    "achievedOn": "2017-10-11T19:07:18.314Z",
    "requalsOn": "2017-11-18T07:55:16.559Z",
    "primary": true,
    "reason": "10002",
    "program": "59de86b7584b770052aaacaf",
    "policyId": "59de86b7584b770052abcdef",
    "_id": "59df84e2bc4f61095c84adae",
    "createdAt": "2017-08-31T01:22:22.589Z",
    "updatedAt": "2017-03-12T21:29:07.800Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df"
}
Field Type Default Description
name String required The name of the tier. Comes from the policy
level Level required Current level. All levels comply with the Tier Policy
achievedOn Date required Date when the current level was achieved.
reason String optional Reason code of the last activity which set the tier.
requalifiesOn Date required Date when the current level will expire and need to be requalified.
primary Boolean false required Primary flag. Used to show as primary tier in member's tiers
program ObjectId required Reference to [Program] (#programs)
policyId ObjectId required _id of the Tier Policy

A level has these fields:

Field Type Default Description
name String required The name of the tier. Comes from the policy
number Number required The numeric order of the tier. Comes from the policy

The object contains common fields

Tier Methods

Tier Manipulation Examples

Add Tier

A new Tier to a Member is only initiated during enrollment and durin gprogram upgrades requiring additional Tier types.

If necessary a new Tier can be added to a Member by adding an instance of Tier and updating the member.

Note: Adding tiers to Members outside of enrollment process or Program upgrade process is highly discouraged, and only available with appropriate permissions.

Update Tier

While technically possible, Tiers are generally not changed directly. Instead, they are changed by the rules engine in response to an Activity posting.

A Tier can be changed by changing it wihin the Member.tiers array and then updating the member.

Note: Changing TIer levels directly outside of Activity posting is highly discoraged and is only available with appropriate permissions.

Delete Tier

Deleting a Tier from a Member can be achieved by manipulating the Member's tiers array and then updating the resulting updated Member record.

Note: Deleting Tiers is highly discouraged, and is only available with appropriate permissions.

Tier History

Tier history is an immutable record of the tier changes which took place for a Member.

Tier History Structure

{
    "_id" : "57738d77e1f9731e70f59861",
    "createdAt" : "2016-06-29T08:57:27.052Z",
    "updatedAt" : "2016-06-29T08:57:27.052Z",
    "date" : 6.30153583727215e+18,
    "tier" : "577376d92f16bafa5a00abcd",
    "newTierLevel" : "Gold",
    "oldTierLevel" : "Green",
    "eventId" : "ciq0nffsf00014s4wcz4wsjmc",
    "memberId" : "577376d92f16bafa5a00137b"
}
field Type/Format Description
_id ObjectId required unique Unique ID
date Number The upgrade/downgrade action timestamp
tier ObjectId required _id of the Tier
newTierLevel String The updated tier level
oldTierLevel String tier level before upgrade/downgrade
eventId String unique Event ID, from which the data was collected
memberId ObjectId required Member ID for which history is collected

The object contains common fields

Read all Tier History

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/tierhistories',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/tierhistories")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/tierhistories");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/tierhistories")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/tierhistories');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/tierhistories HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/tierhistories \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/tierhistories")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Tier History objects.

HTTP Request

GET /api/v1/tierhistories

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
tierhistory Array set of Tier History object
status Number Status Codes.

Tier Policies

This API is compliant with the query interface described in Advanced Queries.

Tiers are structures that express what levels can be awarded to members. A level in a Tier is awarded when a member achieves a certain milestone.

Tier Policy Structure

{
    "name": "Standard",
    "levels": [
        {
            "name": "Welcome",
            "color": "#c18f21",
            "defaultLevel": true,
            "expirationHours": 0,
            "expirationSnapTo": "day",
            "expiryWarningDays": [],
            "activityBasedExpiration": false,
            "expiryUnit":"Hours",
            "expiryValue":10,
            "_id": "59de87c3584b770052aaacbe"
        }
    ],
    "primary": true,
    "program": "59de86b7584b770052aaacaf",
    "_id": "59de87c3584b770052aaacbd",
    "createdAt": "2017-10-11T21:06:11.820Z",
    "updatedAt": "2017-10-11T21:06:24.865Z",
    "createdBy": "59de84708d69b9006b8295df",
    "updatedBy": "59de84708d69b9006b8295df"
}

The structure consists of levels.

Field Type Description
_id ObjectId unique _id of the record
name String unique required Name of the Tier structure
levels Array required An array of Tier levels
primary boolean Whether the Tier structure is the primary one.
program ObjectId Which program the Tier belongs to
divisions Array It provides restriction to user groups

The structure for each level.

Field Type Description
_id ObjectId unique _id of the record
name String required Name of the level (e.g. Welcome, Gold, Platinum, etc.)
number Number required Number in the order of levels. Inidicates the order in which levels are achieved.
threshold Number required In some programs, this is used to indicates number of qualifying points needed to achieve the level.
color String A color code to display for this level
defaultLevel boolean If this is the default level for new members when they are enrolled
expirationHours Number Number of hours after which this level will need to be requalified
expirationSnapTo String When the expiration period begins. This is controlled by the Enum structure with type=SnapTo
expirationWarningDays Array An array of numbers indicating when to generate TierExpirationWarningEvent.
activityBasedExpiration boolean Whether expiration period is considered since the last activity.
expiryUnit String Either 'Days' or 'Hours'
expiryValue Number Default: 0 Number of units to expiry

The object contains common fields

Read all Tier Policies

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/tierpolicies',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/tierpolicies")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/tierpolicies");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/tierpolicies")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/tierpolicies');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/tierpolicies HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/tierpolicies \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/tierpolicies")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Tier Policy objects.

This methods returns all tierpolicies in the system.

HTTP Request

GET /api/v1/tierpolicies

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
tierpolicies Array set of Tier Policy objects
status Number Status Codes.

Read Tier Policy by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/tierpolicies/59de97de584b770052aab641',
  headers: 
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/tierpolicies/59de97de584b770052aab641")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/tierpolicies/59de97de584b770052aab641");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/tierpolicies/59de97de584b770052aab641")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/tierpolicies/59de97de584b770052aab641');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/tierpolicies/59de97de584b770052aab641 HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/tierpolicies/59de97de584b770052aab641 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/tierpolicies/59de97de584b770052aab641")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Tier Policy object.

This method returns the specified tier policy.

HTTP Request

GET /api/v1/tierpolicies/:id

Input Arguments

Name Type Description
id Hexadecimal Value references to "_id" field from Tier Policy structure.
token string Authentication token.

Output Arguments

Name Type Description
tier policy JSON Tier Policy object
status Number Status Codes.

Create Tier Policy

var request = require("request");

var options = { method: 'POST',
  url: 'http://dev:3000/api/v1/tierpolicies',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: 
  {
    levels: [ {     'name':  } ],
    name: 'Free Drink Purse',
    program: '59de86b7584b770052aaacaf'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"levels\": [ {     \"name\":  } ],\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"name\": \"Free Drink Purse\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/tierpolicies")
  .post(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/tierpolicies");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"levels\": [ {     \"name\":  } ],\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"name\": \"Free Drink Purse\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/tierpolicies")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"levels\": [ {     \"name\":  } ],\n    \"program\": \"59de86b7584b770052aaacaf\",\n    \"name\": \"Free Drink Purse\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/tierpolicies');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "levels": "ARRAY(0x560b8d4e5020)",
    "program": "59de86b7584b770052aaacaf",
    "name": "Free Drink Purse"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/tierpolicies HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "levels": "ARRAY(0x560b8d4e5020)",
    "program": "59de86b7584b770052aaacaf",
    "name": "Free Drink Purse"
}
curl -X POST \
  http://dev:3000/api/v1/tierpolicies \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "levels": "ARRAY(0x560b8d4e5020)",
    "program": "59de86b7584b770052aaacaf",
    "name": "Free Drink Purse"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "levels": "ARRAY(0x560b8d4e5020)",
    "program": "59de86b7584b770052aaacaf",
    "name": "Free Drink Purse"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/tierpolicies")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Tier Policy object.

This method creates a new tier policy.

HTTP Request

POST /api/v1/tierpolicies/

Input Arguments

Name Type Description
token string Authentication token.
tier policy JSON Tier Policy object

Output Arguments

Name Type Description
tier policy JSON Tier Policy object
status Number Status Codes.

Update Tier Policy by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' },
  body: {
    primary: 'false'},
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"primary\": \"false\"\n}");
Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d")
  .put(body)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d");
var request = new RestRequest(Method.PUT);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
request.AddParameter("application/json", "{\n    \"primary\": \"false\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"primary\": \"false\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

$request->setBody('{
    "primary": "false"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/tierpolicies/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache

{
    "primary": "false"
}
curl -X PUT \
  http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json' \
  -d '{
    "primary": "false"
}'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
    "primary": "false"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Tier Policy object.

This method updates the specified tier policy.

HTTP Request

PUT /api/v1/tierpolicies/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Value references to "_id" field from Tier Policy structure.
tier policy JSON Tier Policy object

Output Arguments

Name Type Description
tier policy JSON Tier Policy object
status Number Status Codes.

Delete Tier Policy by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d',
  headers: 
   { 'cache-control': 'no-cache',
     'content-type': 'application/json',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d")
  .delete(null)
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("content-type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d");
var request = new RestRequest(Method.DELETE);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["content-type"] = 'application/json'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'content-type' => 'application/json',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/tierpolicies/59e918777e09760050c8272d HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Content-Type: application/json
Cache-Control: no-cache
curl -X DELETE \
  http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache' \
  -H 'content-type: application/json'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "content-type": "application/json",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/tierpolicies/59e918777e09760050c8272d")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified tier policy.

HTTP Request

DELETE /api/v1/tierpolicies/:id

Input Arguments

Name Type Description
token string Authentication token.
id Hexadecimal Used to identify unique record from API. Value references to "_id" field from Tier Policy`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Reward Usage History

This API is compliant with the query interface described in Advanced Queries.

Reward usage history is an immutable record of the reward usage changes which took place for a Reward.

Reward Usage History Structure

{
    "_id" : "57738d77e1f9731e70f59861",
    "createdAt" : "2016-06-29T08:57:27.052Z",
    "updatedAt" : "2016-06-29T08:57:27.052Z",
    "date" : "2016-06-29T08:57:27.052Z",
    "timesUsed": 1
    "eventId" : "ciq0nffsf00014s4wcz4wsjmc",
    "member" : "577376d92f16bafa5a00137b",
    "activity" : "577376d92f16bafa5a00138b",
    "rule" : "577376d92f16bafa5a001310",

}
Field Type/Format Description
_id ObjectId required unique Unique ID
date Number The activity date using/reverting the reward
timesUsed Number The number of times the reward was used
eventId String unique Event ID, from which the data was collected
member ObjectId required Member ID for which history is collected
activity ObjectId required Activity ID which used/reverted the reward
rule ObjectId required Rule ID which used/reverted the reward

The object contains common fields

Read all Reward Usage History

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/rewardusagehistories',
  headers:
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/rewardusagehistories")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/rewardusagehistories");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/rewardusagehistories")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/rewardusagehistories');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/rewardusagehistories HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/rewareusagehistories \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/rewardusagehistories")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Reward Usage History objects.

HTTP Request

GET /api/v1/rewardusagehistories

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
rewardUsagehistory Array set of Reward Usage History object
status Number Status Codes.

Offer Usage History

This API is compliant with the query interface described in Advanced Queries.

Offer usage history is an immutable record of the offer usage changes which took place for a Offer.

Offer Usage History Structure

{
    "_id" : "57738d77e1f9731e70f59861",
    "createdAt" : "2016-06-29T08:57:27.052Z",
    "updatedAt" : "2016-06-29T08:57:27.052Z",
    "date" : "2016-06-29T08:57:27.052Z",
    "timesUsed": 1
    "eventId" : "ciq0nffsf00014s4wcz4wsjmc",
    "member" : "577376d92f16bafa5a00137b",
    "activity" : "577376d92f16bafa5a00138b",
    "rule" : "577376d92f16bafa5a001310",

}
Field Type/Format Description
_id ObjectId required unique Unique ID
date Number The activity date using/reverting the offer
timesUsed Number The number of times the offer was used
eventId String unique Event ID, from which the data was collected
member ObjectId required Member ID for which history is collected
activity ObjectId required Activity ID which used/reverted the offer
rule ObjectId required Rule ID which used/reverted the offer

The object contains common fields

Read all Offer Usage History

var request = require("request");

var options = { method: 'GET',
  url: 'http://dev:3000/api/v1/offerusagehistories',
  headers:
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://dev:3000/api/v1/offerusagehistories")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://dev:3000/api/v1/offerusagehistories");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://dev:3000/api/v1/offerusagehistories")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://dev:3000/api/v1/offerusagehistories');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/offerusagehistories HTTP/1.1
Host: dev:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI
Cache-Control: no-cache
curl -X GET \
  http://dev:3000/api/v1/rewareusagehistories \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/offerusagehistories")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Offer Usage History objects.

HTTP Request

GET /api/v1/offerusagehistories

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
offerUsagehistory Array set of Offer Usage History object
status Number Status Codes.

Loyalty Cards

Loyalty Cards are the pre saved loyalty id cards which can be used to validate the loyalty id being added.

Loyalty Card Structure

{
  "cardType": "Digital Card",
  "loyaltyType": "CardID",
  "status": "Active",
  "channel": "Mobile",
  "loyaltyId": "007722",
  "org": "5c58d8570bf24c075fb5886c",
  "_id": "5c63a72f1968fb010440d665",
  "createdAt": "2019-02-13T05:12:15.767Z",
  "updatedAt": "2019-02-13T06:42:48.658Z",
  "createdBy": "5c58f3c65c7f2d01074c8bc7",
  "updatedBy": "5c58f3c65c7f2d01074c8bc7"
}
field Type/Format Description
_id ObjectId required unique Unique ID
cardType String required Type of loyalty card(Digital Card/Physical Card)
loyaltyType String required The type of loyalty id(SVC Card/Gift Card).
status String default: 'New' Status of the loyalty card
channel String Channel through which loyalty card has been added
loyaltyId String unique required loyalty id.

The object contains common fields

Read all Loyalty Card

var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:3000/api/v1/loyaltycards',
  headers:
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/loyaltycards")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/loyaltycards");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/loyaltycards")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/loyaltycards');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/loyaltycards HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
  http://localhost:3000/api/v1/loyaltycards \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJZbEZ5VWxWS2tBREZlZWJmMlJ5VWlZL3J3ZGk3OVZNZGplQVB1L0pnZXIwWklkSktLZW5YR2RpaVgzMG1IMlpscmIyNlVaYzgwWkhrNkNxSTFWaFdGQWI5SEhjVXVRS29oTGNmSlRYajAyMjBTbC9zVGhwWktiRlBVVjhjVGdxTnk2d3hWa1hVbk1zYkorQW8zeXBHYmZocXZvdThadzFUK1ZMcHZrdzRGVTJiMVNZRm9pNWpveUVuNnViUHNqSTYiLCJleHAiOjE1MDg0NjMzNDQyMDEsImlhdCI6MTUwODQzNDU0NH0.HrxSQdZLOmoAGRJ4XpW4wCFMwcsl0F2kdi7bWplTTmI' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/loyaltycards")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns an array of Loyalty cards objects.

HTTP Request

GET /api/v1/loyaltycards

Input Arguments

Name Type Description
token string Authentication token.

Output Arguments

Name Type Description
loyaltycards Array set of Loyalty card object
status Number Status Codes.

Read Loyalty Card by ID

var request = require("request");

var options = { method: 'GET',
  url: 'http://localhost:3000/api/v1/loyaltycards/59e8598131a6b90052ed4c48',
  headers:
   { 'cache-control': 'no-cache',
     authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/loyaltycards/59e8598131a6b90052ed4c48")
  .get()
  .addHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA")
  .addHeader("cache-control", "no-cache")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/loyaltycards/59e8598131a6b90052ed4c48");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/loyaltycards/59e8598131a6b90052ed4c48")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Get.new(url)
request["authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
request["cache-control"] = 'no-cache'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/loyaltycards/59e8598131a6b90052ed4c48');
$request->setMethod(HTTP_METH_GET);

$request->setHeaders(array(
  'cache-control' => 'no-cache',
  'authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
GET /api/v1/loyaltycards/59e8598131a6b90052ed4c48 HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA
Cache-Control: no-cache
curl -X GET \
  http://localhost:3000/api/v1/loyaltycards/59e8598131a6b90052ed4c48 \
  -H 'authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "cache-control": "no-cache"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/loyaltycards/59e8598131a6b90052ed4c48")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a loyaltycards object.

This method reads the specified Loyalty Card.

HTTP Request

GET /api/v1/loyaltycards/:id

Input Arguments

Name Type Description
id hexadecimal Used to identify unique record from API. Value references to "_id" field from loyaltycards`s structure.
token string Authentication token.

Output Arguments

Name Type Description
loyaltycards JSON loyaltycards object
status Number Status Codes.

Create Loyalty Card

var request = require("request");

var options = { method: 'POST',
  url: 'http://localhost:3000/api/v1/loyaltycards',
  headers: 
   { 'Postman-Token': 'af7e9a46-65a9-4d47-bb6b-6137ffe5e566',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' },
  body: 
   { loyaltyId: '10',
     loyaltyType: 'loyalty card',
     cardType: 'Digital Card',
     channel: 'Mobile',
     status: 'Active' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"loyaltyId\": \"10\",\n    \"loyaltyType\": \"loyalty card\",\n    \"cardType\": \"Digital Card\",\n    \"channel\": \"Mobile\",\n    \"status\": \"Active\"\n}");
Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/loyaltycards")
  .post(body)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "b4ae97da-7794-4b96-884e-5b77b9a1cfbc")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/loyaltycards");
var request = new RestRequest(Method.POST);
request.AddHeader("Postman-Token", "b292c026-5be3-4429-bf4c-f2e8889b2570");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
request.AddParameter("undefined", "{\n    \"loyaltyId\": \"10\",\n    \"loyaltyType\": \"loyalty card\",\n    \"cardType\": \"Digital Card\",\n    \"channel\": \"Mobile\",\n    \"status\": \"Active\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/loyaltycards")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = 'b511e3b3-88c6-42d7-aa97-6391bef3e96b'
request.body = "{\n    \"loyaltyId\": \"10\",\n    \"loyaltyType\": \"loyalty card\",\n    \"cardType\": \"Digital Card\",\n    \"channel\": \"Mobile\",\n    \"status\": \"Active\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/loyaltycards');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders(array(
  'Postman-Token' => '2b27d59b-4ba4-4d8a-9738-e4c4a59eb960',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo'
));

$request->setBody('{
    "loyaltyId": "10",
    "loyaltyType": "loyalty card",
    "cardType": "Digital Card",
    "channel": "Mobile",
    "status": "Active"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/loyaltycards HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Content-Type: application/json
cache-control: no-cache
Postman-Token: 802f37dd-5e06-4451-be10-9ee2c9898eca
{
    "loyaltyId": "10",
    "loyaltyType": "loyalty card",
    "cardType": "Digital Card",
    "channel": "Mobile",
    "status": "Active"
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X POST \
  http://localhost:3000/api/v1/loyaltycards \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: 3be22ec1-5517-4e8a-b0fa-d55d394a55fa' \
  -H 'cache-control: no-cache' \
  -d '{
    "loyaltyId": "10",
    "loyaltyType": "loyalty card",
    "cardType": "Digital Card",
    "channel": "Mobile",
    "status": "Active"
}'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "472fddf7-ff43-4fdd-97ef-350b415632f0"
]
let parameters = [
  "loyaltyId": "10",
  "loyaltyType": "loyalty card",
  "cardType": "Digital Card",
  "channel": "Mobile",
  "status": "Active"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/loyaltycards")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a single LoyaltyCards object.

This method creates a new loyalty card.

HTTP Request

POST /api/v1/loyaltycards/

Input Arguments

Name Type Description
token string Authentication token.
loyaltycard JSON LoyaltyCard object

Output Arguments

Name Type Description
loyaltyCard JSON LoyaltyCard object
status Number Status Codes.

Update LoyaltyCard by ID

var request = require("request");

var options = { method: 'PUT',
  url: 'http://localhost:3000/api/v1/loyaltycards/5c6abe891968fb010451af13',
  headers: 
   { 'Postman-Token': '13db3006-8e0d-4f1e-a982-9c849ef48658',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' },
  body: { cardType: 'Digital Card', channel: 'POS' },
  json: true };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"cardType\": \"Digital Card\",\n    \"channel\": \"POS\"\n}");
Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/loyaltycards/5c6abe891968fb010451af13")
  .put(body)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "d32ee277-164a-4948-a3c4-b88f15b1506c")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/loyaltycards/5c6abe891968fb010451af13");
var request = new RestRequest(Method.PUT);
request.AddHeader("Postman-Token", "af3bcb3f-32fa-4e70-89ba-1c7d9c2390c7");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
request.AddParameter("undefined", "{\n    \"cardType\": \"Digital Card\",\n    \"channel\": \"POS\"\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/loyaltycards/5c6abe891968fb010451af13")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = 'a02c4181-c4de-4768-af02-0e2bf1d34bb4'
request.body = "{\n    \"cardType\": \"Digital Card\",\n    \"channel\": \"POS\"\n}"

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/loyaltycards/5c6abe891968fb010451af13');
$request->setMethod(HTTP_METH_PUT);

$request->setHeaders(array(
  'Postman-Token' => '68ef55ff-d823-4076-ac63-5f1388a4cb24',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo'
));

$request->setBody('{
    "cardType": "Digital Card",
    "channel": "POS"
}');

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PUT /api/v1/loyaltycards/5c6abe891968fb010451af13 HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Content-Type: application/json
cache-control: no-cache
Postman-Token: 7c32e7d3-530d-4805-bc04-ae54e87c91ab
{
    "cardType": "Digital Card",
    "channel": "POS"
}------WebKitFormBoundary7MA4YWxkTrZu0gW--
curl -X PUT \
  http://localhost:3000/api/v1/loyaltycards/5c6abe891968fb010451af13 \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: a1786822-9c3e-49b3-a07e-cd0b17998b33' \
  -H 'cache-control: no-cache' \
  -d '{
    "cardType": "Digital Card",
    "channel": "POS"
}'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "86a44481-dda7-4952-889f-754a5de07add"
]
let parameters = [
  "cardType": "Digital Card",
  "channel": "POS"
] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/loyaltycards/5c6abe891968fb010451af13")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PUT"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns a Loyalty Card object.

This method updates the specified loyalty card.

HTTP Request

PUT /api/v1/loyaltycards/:id

Input Arguments

Name Type Description
token string Authentication token.
id hexadecimal Used to identify unique record from API. Value references to "_id" field from LoyaltyCard`s structure.
loyaltycard JSON Loyalty Card object

Output Arguments

Name Type Description
loyaltyCard JSON Loyalty Card object
status Number Status Codes.

Delete LoyaltyCard by ID

var request = require("request");

var options = { method: 'DELETE',
  url: 'http://localhost:3000/api/v1/loyaltycards/5c63a72f1968fb010440d665',
  headers: 
   { 'Postman-Token': 'f9ad26ce-0cc2-4003-88c8-6f0fe3922f8f',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' } };

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/loyaltycards/5c63a72f1968fb010440d665")
  .delete(null)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .addHeader("Postman-Token", "b5f75f09-546c-4c98-b045-58da22560db8")
  .build();

Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/loyaltycards/5c63a72f1968fb010440d665");
var request = new RestRequest(Method.DELETE);
request.AddHeader("Postman-Token", "66d6d823-050e-4ef6-8c14-623c44142476");
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo");
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'

url = URI("http://localhost:3000/api/v1/loyaltycards/5c63a72f1968fb010440d665")

http = Net::HTTP.new(url.host, url.port)

request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request["Postman-Token"] = '80dc4094-a84c-4ee8-9103-45c8c94a7629'

response = http.request(request)
puts response.read_body
<?php

$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/loyaltycards/5c63a72f1968fb010440d665');
$request->setMethod(HTTP_METH_DELETE);

$request->setHeaders(array(
  'Postman-Token' => '362bea48-8757-4e0b-9d70-8714972d57f0',
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo'
));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
DELETE /api/v1/loyaltycards/5c63a72f1968fb010440d665 HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo
Content-Type: application/json
cache-control: no-cache
Postman-Token: f6a47bad-9633-441b-8f1f-44c2f25344d8
curl -X DELETE \
  http://localhost:3000/api/v1/loyaltycards/5c63a72f1968fb010440d665 \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo' \
  -H 'Content-Type: application/json' \
  -H 'Postman-Token: d6fa1a9b-798d-4dd1-8d31-b2179a2b10c2' \
  -H 'cache-control: no-cache'
import Foundation

let headers = [
  "Authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJBbG01dEdQeHNZYkVyY3ZUQnpaWURTeE15MVplNDV2L0tRL05jdkk3bWJycm9rT0pIQWdWVjhZL2Ivd2tkeHdGMHpTTTFxbHAxUFg3QU1CdzZ0cC9KRHlScHpQNU5qbkd6NGpidXhZWFRCbnRBZTV3OWJJZnlXWG9ueGZzb0NCTnl1SGNEVXB0L0tISVZ0L01MVUNhYUVmMmVKQkZDelYxSHdTVnJSRjRRY0xwM3phc3VGYmg1eW9KcjlZM3o0by8iLCJleHAiOjE1NzQxNjg4MTk2ODgsImlhdCI6MTU3NDE0MDAxOX0.PdkhPOsGfkcATa3vs9F5rwyHaaablEcclGL2tdxMLmo",
  "Content-Type": "application/json",
  "cache-control": "no-cache",
  "Postman-Token": "19afd0dc-a3e7-4fc9-a801-eaf58f6edf0f"
]

let request = NSMutableURLRequest(url: NSURL(string: "http://localhost:3000/api/v1/loyaltycards/5c63a72f1968fb010440d665")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "DELETE"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()

The above command returns only Status. If Status === 204, the record is deleted.

This method deletes the specified loyalty card.

HTTP Request

DELETE /api/v1/loyaltycards/:id

Input Arguments

Name Type Description
token string Authentication token.
id ObjectId Value references to "_id" field from Loyalty Card`s structure.

Output Arguments

Name Type Description
status Number Status Codes.

Bulk Operations

Bulk operations consists of two main API's Multi Edit and Multi Delete. These API's perform the bulk updations and deletions on mongoose models.

Bulk Update Structure

{
  "ids": [],
  "ignoreId": false,
  "update": {
    "email": "bhjh@bhbh.com"
  },
  "org": "5c58d8570bf24c075fb5886c",
  "program": "5d4d65493efbd30059ace16a",
  "model": "Partner",
  "queryParams": {
    "program": {
      "isIncluded": true,
      "type": "objectid",
      "ids": [
        "5d4d65493efbd30059ace16a"
      ]
    }
  }
}
Field Description
model name of mongoose model that needs to be updated
ids list of objectIds of records that needs to be updated or ignored based on ignoreId flag
ignoreId true if the ids in id list needs to be ignored
queryParams argument required to build query Selection-Criteria
update object containing fields and their corresponding value to be updated

Bulk Delete Structure

{
   "ids": [],
   "ignoreId": false,
   "org": "5c58d8570bf24c075fb5886c",
   "program": "5d4d65493efbd30059ace16a",
   "model": "Partner",
   "queryParams": {
     "program": {
       "isIncluded": true,
       "type": "objectid",
       "isWildCardSearch": false,
       "ids": [
         "5d4d65493efbd30059ace16a"
       ]
     }
   },
   "isORQuery": false,
   "isWildCardSearch": false
}
Field Description
model name of mongoose model that needs to be updated
ids list of objectIds of records that needs to be deleted or ignored based on ignoreId flag
ignoreId true if the ids in id list needs to be ignored
queryParams argument required to build query Selection-Criteria

Multi Edit

API for bulk update of records in mongoose model.

var request = require("request");
 var options = { method: 'PATCH',
  url: 'http://localhost:3000/api/v1/multiedit',
  headers: 
   { 'Postman-Token': '75ccf91f-ec6f-4c57-8c01-f1283e4db4d9',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM' },
  body: 
   { ids: [],
     ignoreId: false,
     update: { email: 'asdf@lkj.qwert' },
     org: '5c58d8570bf24c075fb5886c',
     program: '5d4d65493efbd30059ace16a',
     model: 'Partner',
     queryParams: 
      { program: 
         { isIncluded: true,
           type: 'objectid',
           ids: [ '5d4d65493efbd30059ace16a' ] } },
     isORQuery: false,
     isWildCardSearch: false },
  json: true };
 request(options, function (error, response, body) {
  if (error) throw new Error(error);
   console.log(body);
});
OkHttpClient client = new OkHttpClient();
 MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n    \"ids\": [],\n    \"ignoreId\": false,\n    \"update\": {\n        \"email\": \"asdf@lkj.qwert\"\n    },\n    \"org\": \"5c58d8570bf24c075fb5886c\",\n    \"program\": \"5d4d65493efbd30059ace16a\",\n    \"model\": \"Partner\",\n    \"queryParams\": {\n        \"program\": {\n            \"isIncluded\": true,\n            \"type\": \"objectid\",\n            \"ids\": [\n                \"5d4d65493efbd30059ace16a\"\n            ]\n        }\n    },\n    \"isORQuery\": false,\n    \"isWildCardSearch\": false\n}");
Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/multiedit")
  .patch(body)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();
 Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/multiedit");
var request = new RestRequest(Method.PATCH);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM");
request.AddParameter("application/json", "{\n    \"ids\": [],\n    \"ignoreId\": false,\n    \"update\": {\n        \"email\": \"asdf@lkj.qwert\"\n    },\n    \"org\": \"5c58d8570bf24c075fb5886c\",\n    \"program\": \"5d4d65493efbd30059ace16a\",\n    \"model\": \"Partner\",\n    \"queryParams\": {\n        \"program\": {\n            \"isIncluded\": true,\n            \"type\": \"objectid\",\n            \"ids\": [\n                \"5d4d65493efbd30059ace16a\"\n            ]\n        }\n    },\n    \"isORQuery\": false,\n    \"isWildCardSearch\": false\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'
 url = URI("http://localhost:3000/api/v1/multiedit")
 http = Net::HTTP.new(url.host, url.port)
 request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n    \"ids\": [],\n    \"ignoreId\": false,\n    \"update\": {\n        \"email\": \"asdf@lkj.qwert\"\n    },\n    \"org\": \"5c58d8570bf24c075fb5886c\",\n    \"program\": \"5d4d65493efbd30059ace16a\",\n    \"model\": \"Partner\",\n    \"queryParams\": {\n        \"program\": {\n            \"isIncluded\": true,\n            \"type\": \"objectid\",\n            \"ids\": [\n                \"5d4d65493efbd30059ace16a\"\n            ]\n        }\n    },\n    \"isORQuery\": false,\n    \"isWildCardSearch\": false\n}"
 response = http.request(request)
puts response.read_body
<?php
 HttpRequest::methodRegister('PATCH');
$request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/multiedit');
$request->setMethod(HttpRequest::HTTP_METH_PATCH);
 $request->setHeaders(array(
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM'
));
 $request->setBody('{
    "ids": [],
    "ignoreId": false,
    "update": {
        "email": "asdf@lkj.qwert"
    },
    "org": "5c58d8570bf24c075fb5886c",
    "program": "5d4d65493efbd30059ace16a",
    "model": "Partner",
    "queryParams": {
        "program": {
            "isIncluded": true,
            "type": "objectid",
            "ids": [
                "5d4d65493efbd30059ace16a"
            ]
        }
    },
    "isORQuery": false,
    "isWildCardSearch": false
}');
 try {
  $response = $request->send();
   echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
PATCH /api/v1/multiedit HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM
Content-Type: application/json
cache-control: no-cache
{
    "ids": [],
    "ignoreId": false,
    "update": {
        "email": "asdf@lkj.qwert"
    },
    "org": "5c58d8570bf24c075fb5886c",
    "program": "5d4d65493efbd30059ace16a",
    "model": "Partner",
    "queryParams": {
        "program": {
            "isIncluded": true,
            "type": "objectid",
            "ids": [
                "5d4d65493efbd30059ace16a"
            ]
        }
    },
    "isORQuery": false,
    "isWildCardSearch": false
}
curl -X PATCH \
  http://localhost:3000/api/v1/multiedit \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
    "ids": [],
    "ignoreId": false,
    "update": {
        "email": "asdf@lkj.qwert"
    },
    "org": "5c58d8570bf24c075fb5886c",
    "program": "5d4d65493efbd30059ace16a",
    "model": "Partner",
    "queryParams": {
        "program": {
            "isIncluded": true,
            "type": "objectid",
            "ids": [
                "5d4d65493efbd30059ace16a"
            ]
        }
    },
    "isORQuery": false,
    "isWildCardSearch": false
}'
import Foundation
 let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
  "ids": [],
    "ignoreId": false,
    "update": {
        "email": "asdf@lkj.qwert"
    },
    "org": "5c58d8570bf24c075fb5886c",
    "program": "5d4d65493efbd30059ace16a",
    "model": "Partner",
    "queryParams": {
        "program": {
            "isIncluded": true,
            "type": "objectid",
            "ids": [
                "5d4d65493efbd30059ace16a"
            ]
        }
    },
    "isORQuery": false,
    "isWildCardSearch": false
] as [String : Any]
 let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
 let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/multiedit")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "PATCH"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
 let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})
 dataTask.resume()
{
    "status": "success",
    "message": "2 Records updated"
}

The above command returns response object with status and message of bulk operation.

HTTP Request

PATCH /api/v1/multiedit/

Input Arguments

Name Type Description
token string Authentication token.
data JSON Bulk Update Object

Output Arguments

Name Type Description
res JSON Returns status and message of bulk operation
status Number Status Codes.

Multi Delete

API for bulk delete of records in mongoose model.

var request = require("request");
 var options = { method: 'POST',
  url: 'http://localhost:3000/api/v1/multidelete',
  headers: 
   { 'Postman-Token': 'e6e9aed4-7694-44e7-bd4d-58e89d85cc1e',
     'cache-control': 'no-cache',
     'Content-Type': 'application/json',
     Authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM' },
  body: 
   { ids: [],
     ignoreId: false,
     org: '5c58d8570bf24c075fb5886c',
     program: '5d4d65493efbd30059ace16a',
     model: 'Partner',
     queryParams: 
      { program: 
         { isIncluded: true,
           type: 'objectid',
           isWildCardSearch: false,
           ids: [ '5d4d65493efbd30059ace16a' ] } },
     isORQuery: false,
     isWildCardSearch: false },
  json: true };
 request(options, function (error, response, body) {
  if (error) throw new Error(error);
   console.log(body);
});
OkHttpClient client = new OkHttpClient();
 MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n   \"ids\": [],\n   \"ignoreId\": false,\n   \"org\": \"5c58d8570bf24c075fb5886c\",\n   \"program\": \"5d4d65493efbd30059ace16a\",\n   \"model\": \"Partner\",\n   \"queryParams\": {\n     \"program\": {\n       \"isIncluded\": true,\n       \"type\": \"objectid\",\n       \"isWildCardSearch\": false,\n       \"ids\": [\n         \"5d4d65493efbd30059ace16a\"\n       ]\n     }\n   },\n   \"isORQuery\": false,\n   \"isWildCardSearch\": false\n}");
Request request = new Request.Builder()
  .url("http://localhost:3000/api/v1/multidelete")
  .post(body)
  .addHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM")
  .addHeader("Content-Type", "application/json")
  .addHeader("cache-control", "no-cache")
  .build();
 Response response = client.newCall(request).execute();
var client = new RestClient("http://localhost:3000/api/v1/multidelete");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("Content-Type", "application/json");
request.AddHeader("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM");
request.AddParameter("application/json", "{\n   \"ids\": [],\n   \"ignoreId\": false,\n   \"org\": \"5c58d8570bf24c075fb5886c\",\n   \"program\": \"5d4d65493efbd30059ace16a\",\n   \"model\": \"Partner\",\n   \"queryParams\": {\n     \"program\": {\n       \"isIncluded\": true,\n       \"type\": \"objectid\",\n       \"isWildCardSearch\": false,\n       \"ids\": [\n         \"5d4d65493efbd30059ace16a\"\n       ]\n     }\n   },\n   \"isORQuery\": false,\n   \"isWildCardSearch\": false\n}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
require 'uri'
require 'net/http'
 url = URI("http://localhost:3000/api/v1/multidelete")
 http = Net::HTTP.new(url.host, url.port)
 request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM'
request["Content-Type"] = 'application/json'
request["cache-control"] = 'no-cache'
request.body = "{\n   \"ids\": [],\n   \"ignoreId\": false,\n   \"org\": \"5c58d8570bf24c075fb5886c\",\n   \"program\": \"5d4d65493efbd30059ace16a\",\n   \"model\": \"Partner\",\n   \"queryParams\": {\n     \"program\": {\n       \"isIncluded\": true,\n       \"type\": \"objectid\",\n       \"isWildCardSearch\": false,\n       \"ids\": [\n         \"5d4d65493efbd30059ace16a\"\n       ]\n     }\n   },\n   \"isORQuery\": false,\n   \"isWildCardSearch\": false\n}"
 response = http.request(request)
puts response.read_body
<?php
 $request = new HttpRequest();
$request->setUrl('http://localhost:3000/api/v1/multidelete');
$request->setMethod(HTTP_METH_POST);
 $request->setHeaders(array(
  'cache-control' => 'no-cache',
  'Content-Type' => 'application/json',
  'Authorization' => 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM'
));
 $request->setBody('{
   "ids": [],
   "ignoreId": false,
   "org": "5c58d8570bf24c075fb5886c",
   "program": "5d4d65493efbd30059ace16a",
   "model": "Partner",
   "queryParams": {
     "program": {
       "isIncluded": true,
       "type": "objectid",
       "isWildCardSearch": false,
       "ids": [
         "5d4d65493efbd30059ace16a"
       ]
     }
   },
   "isORQuery": false,
   "isWildCardSearch": false
}');
 try {
  $response = $request->send();
   echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
POST /api/v1/multidelete HTTP/1.1
Host: localhost:3000
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM
Content-Type: application/json
cache-control: no-cache
{
   "ids": [],
   "ignoreId": false,
   "org": "5c58d8570bf24c075fb5886c",
   "program": "5d4d65493efbd30059ace16a",
   "model": "Partner",
   "queryParams": {
     "program": {
       "isIncluded": true,
       "type": "objectid",
       "isWildCardSearch": false,
       "ids": [
         "5d4d65493efbd30059ace16a"
       ]
     }
   },
   "isORQuery": false,
   "isWildCardSearch": false
}
curl -X POST \
  http://localhost:3000/api/v1/multidelete \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJoVVJEZEtPdXY4a21MTjZSU0gvTVczRjVMRDVhQXdXdGNUK0JxNXk4Y0VNOHlET1dPbDVGK25XZVdwS0FUTFkxM1NzVWwwM1htY0RXVFhKZUxsbGt4Z2tuY211NGdyRDZiam14bEl6UjNpVWMwVGxhTk9SSmI0RnE2QnJOVjRFVmcwMFpUcUZwL0p4bTNhcHhpZit3QWxsN1lsQ2JqUG1sWEtlTnRHdlF5cWlKdlV3U3JIR0J4bGprd09md0FqZE0iLCJleHAiOjE1Njk1MjA3NDI3NTQsImlhdCI6MTU2OTQ5MTk0Mn0.Bb7Z7MB_ipUKyuDJLeOPmDG086H1ZTt43CUbFYCjHuM' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
   "ids": [],
   "ignoreId": false,
   "org": "5c58d8570bf24c075fb5886c",
   "program": "5d4d65493efbd30059ace16a",
   "model": "Partner",
   "queryParams": {
     "program": {
       "isIncluded": true,
       "type": "objectid",
       "isWildCardSearch": false,
       "ids": [
         "5d4d65493efbd30059ace16a"
       ]
     }
   },
   "isORQuery": false,
   "isWildCardSearch": false
}'
import Foundation
 let headers = [
  "authorization": "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIzUWh6T0RPcjl4R0k0MGtldWdYM1NEMlNVM2xtY1hQbmZRQlpCTDVudWpET2JraGw1c2xJc3l6TjdFVDFDTTl3dHdVQXpWa3hZaE9KVG44WDFYK2VsTTZKNVBkWEhTZzlIY09yR1JrV2duaUIzTmVFMEhQd0MzdG5kRWF6MTVmdzZIVUlQWitSY0RIZndhTmdib2JUemJMMzhsVHBIcjNNdnk3V3JreW5zVzlNejkyNjduUExGSEp3bG9BcnB3bzciLCJleHAiOjE1MDg0MjYyMjQ5MDUsImlhdCI6MTUwODM5NzQyNH0.-cr7DEUt4U9vbPStvbqMdRkTOebr6ib4KkVh_gk9iDA",
  "content-type": "application/json",
  "cache-control": "no-cache"
]
let parameters = [
  "ids": [],
   "ignoreId": false,
   "org": "5c58d8570bf24c075fb5886c",
   "program": "5d4d65493efbd30059ace16a",
   "model": "Partner",
   "queryParams": {
     "program": {
       "isIncluded": true,
       "type": "objectid",
       "isWildCardSearch": false,
       "ids": [
         "5d4d65493efbd30059ace16a"
       ]
     }
   },
   "isORQuery": false,
   "isWildCardSearch": false
] as [String : Any]
 let postData = JSONSerialization.data(withJSONObject: parameters, options: [])
 let request = NSMutableURLRequest(url: NSURL(string: "http://dev:3000/api/v1/multidelete")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
 let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})
 dataTask.resume()
{
    "status": "success",
    "message": "2 Records deleted"
}

The above command returns response object with status and message of bulk operation.

HTTP Request

POST /api/v1/multidelete/

Input Arguments

Name Type Description
token string Authentication token.
data JSON Bulk Delete Object

Output Arguments

Name Type Description
res JSON Returns status and message of bulk operation
status Number Status Codes.

Event API

The event API consists of two main types of events:

Event Structure

Events have a header and payload section.

The header is always the same and has the following fields:

Field Type Description
id ObjectId Unique ID of the event. This can be used to deduplicate multiple deliveries of the same event in at-least-once-delivery types of systems.
name String The name of the event - e.g. EnrollmentEvent, ObjectUpdateEvent, etc.
status String Either pending, error or processed. Used internally only.
timestamp Long Event timestamp, which is an opaque number, guaranteed to be monotonically increasing for events, and used for ordering.
error String If status is error this field will contain the error message. Used internally only.
userId String User ID
entityType String The name of the entity database collection - e.g. 'members', 'locations'.
affectedObjId ObjectId ID of the affected document.

The payload will vary depending on the event type. Please see the description of each event for more information

Extension Fields in Payloads

ReactorCX allows the user to specify extension fields for any entity via a JSON Schema that extends the payload. Any extensions defined for an entity will be under the ext object, for example, if we wanted to add managerName to Location, it would be stored under ext.managerName as shown in the example to the right of this paragraph.

Sample of what extensions look like in the JSON of a standard ReactorCX entity.

{
    "number": 123,
    "name": "Downtown Store",
    "ext" : {
        managerName: "John Smith"
    }
}

To future proof your event code, it is advisable to ignore unknown fields and only consume what you need from the payload.

Level 1 Replication Events

Level 1 events are CRUD events for entities stored in ReactorCX. Please see Event API overview for Level 1 general info.

ObjectUpdateEvent

Sample ObjectUpdateEvent for an update entry (Sample Entity - Location)

{
  "header" : {
    "name" : "ObjectUpdateEvent",
    "timestamp" : "6523029319361495041",
    "affectedObjId" : "5a826c5fe05949006006de05",
    "userId" : "5c58d8570bf24c075fb5886c"
  },
  "payload" : {
    "name" : "test location",
    "updatedAt" : "2018-02-16T06:05:15.332Z"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload Object The document update object.

ObjectInsertEvent

Sample ObjectInsertEvent object for an insert. (Sample Entity - Referral)

{
  "header" : {
    "name" : "ObjectInsertEvent",
    "timestamp" : "6523035774697340929",
    "userId" : "5c58d8570bf24c075fb5886b"
  },
  "payload" : {}
}
Field Type Description
header Object See Event Structure for header details.
payload Object The inserted document object.

ObjectDeleteEvent

Sample ObjectDeleteEvent object (Sample Entity - Referral)

{
  "header" : {
    "name" : "ObjectDeleteEvent",
    "id" : "cjdpk1vm000061np9tx8qo09b",
    "timestamp" : "6523035787582242817",
    "status" : "processed",
    "error" : null,
    "affectedObjId" : "5a867a7aa095a00636a06bdd",
    "entityType" : "referrals"
  },
  "payload" : {
    "_id" : "5a867a7aa095a00636a06bdd"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload._id String Object ID of the deleted document.

Level 2 Semantic Events

These events are higher-level signals indicating things like point balance changes, tier upgrades, etc. and typically used to drive program communications, or other triggered responses. Please see Event API overview for Level 2 general info.

EnrollmentEvent

Sample EnrollmentEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "EnrollmentEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5a867a7aa095a00636a06bdd"
  },
  "payload": {
    "member": Object
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.member Object Newly enrolled member object with Member Structure.

AddPointsEvent

Sample AddPointsEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "AddPointsEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "memberId": ObjectId,
    "purseBefore": Object,
    "purseAfter": Object,
    "points": 10
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String object id of the updated member object.
payload.purseBefore Object purse object before adding points. See Purse Structure for purse details.
payload.purseAfter Object purse object after adding points. See Purse Structure for purse details.
payload.points Number Number of points added to the purse.

RedeemPointsEvent

Sample RedeemPointsEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "RedeemPointsEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "memberId": ObjectId,
    "purseBefore": Object,
    "purseAfter": Object,
    "points": 10
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String object id of the updated member object.
payload.purseBefore Object purse object before points redemption. See Purse Structure for purse details.
payload.purseAfter Object purse object after points redemption. See Purse Structure for purse details.
payload.points Number Number of points redeemed.

AddRewardEvent

Sample AddRewardEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "AddRewardEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "reward": Object
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.reward Object New Reward Object. See Reward Structure for reward details.

UseOfferByCodeEvent

Sample UseOfferByCodeEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "UseOfferByCodeEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "memberId": ObjectId,
    "offerBefore": Object,
    "offerAfter": Object,
    "activity": ObjectId,
    "rule": ObjectId,
    "date": Date,
    "localDate": Date,
    "utcOffset": Number
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String object id of the updated member object.
payload.offerBefore Object Offer object before use. See Offer Structure for offer details.
payload.offerAfter Object Offer object after use. See Offer Structure for offer details.
payload.activity ObjectId Object id of the activity using the offer.
payload.rule ObjectId Object id of the rule using the offer.
payload.date Date Date of the activity using the offer.

UseRecentOfferByTypeEvent

Sample UseRecentOfferByTypeEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "UseRecentOfferByTypeEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "memberId": ObjectId,
    "offerBefore": Object,
    "offerAfter": Object,
    "activity": ObjectId,
    "rule": ObjectId,
    "date": Date
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String object id of the updated member object.
payload.offerBefore Object Offer object before use. See Offer Structure for offer details.
payload.offerAfter Object Offer object after use. See Offer Structure for offer details.
payload.activity ObjectId Object id of the activity using the offer.
payload.rule ObjectId Object id of the rule using the offer.
payload.date Date Date of the activity using the offer.

OfferReversalEvent

Sample OfferReversalEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "OfferReversalEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "memberId": ObjectId,
    "offerBefore": Object,
    "offerAfter": Object,
    "activity": ObjectId,
    "rule": ObjectId,
    "date": Date
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String object id of the updated member object.
payload.offerBefore Object Offer object before use. See Offer Structure for reward details.
payload.offerAfter Object Offer object after use. See Offer Structure for reward details.
payload.activity ObjectId Object id of the activity being cancelled.
payload.rule ObjectId Object id of the rule being reverted as part of activity cancellation.
payload.date Date Date of the activity cancellation.

UseRewardByCodeEvent

Sample UseRewardByCodeEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "UseRewardByCodeEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "memberId": ObjectId,
    "rewardBefore": Object,
    "rewardAfter": Object,
    "activity": ObjectId,
    "rule": ObjectId,
    "date": Date
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId ObjectId object id of the updated member object.
payload.rewardBefore Object Reward object before use. See Reward Structure for reward details.
payload.rewardAfter Object Reward object after use. See Reward Structure for reward details.
payload.activity ObjectId Object id of the activity using the reward.
payload.rule ObjectId Object id of the rule using the reward.
payload.date Date Date of the activity using the reward.

UseRecentRewardByTypeEvent

Sample UseRecentRewardByTypeEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "UseRecentRewardByTypeEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "memberId": ObjectId,
    "rewardBefore": Object,
    "rewardAfter": Object,
    "activity": ObjectId,
    "rule": ObjectId,
    "date": Date
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String object id of the updated member object.
payload.rewardBefore Object Reward object before use. See Reward Structure for reward details.
payload.rewardAfter Object Reward object after use. See Reward Structure for reward details.
payload.activity ObjectId Object id of the activity using the reward.
payload.rule ObjectId Object id of the rule using the reward.
payload.date Date Date of the activity using the reward.

RewardReversalEvent

Sample RewardReversalEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "RewardReversalEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "memberId": ObjectId,
    "rewardBefore": Object,
    "rewardAfter": Object,
    "activity": ObjectId,
    "rule": ObjectId,
    "date": Date
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId ObjectId object id of the updated member object.
payload.rewardBefore Object Reward object before use. See Reward Structure for reward details.
payload.rewardAfter Object Reward object after use. See Reward Structure for reward details.
payload.activity ObjectId Object id of the activity being cancelled.
payload.rule ObjectId Object id of the rule being reverted as part of activity cancellation.
payload.date Date Date of the activity cancellation.

AddBadgeEvent

Sample AddBadgeEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "AddBadgeEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "badge": Object
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.badge Object Newly added badge object. See Badge Strcture for badge details.

UpgradeTierEvent

Sample UpgradeTierEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "UpgradeTierEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "tierBefore": Object,
    "tierAfter": Object
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.tierBefore Object Tier object before upgrade. See Tier Structure for details on Tier object.
payload.tierAfter Object Tier object after upgrade. See Tier Structure for details on Tier object.

DowngradeTierEvent

Sample DowngradeTierEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "DowngradeTierEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "tierBefore": Object,
    "tierAfter": Object
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.tierBefore Object Tier object before downgrade. See Tier Structure for details on Tier object.
payload.tierAfter Object Tier object after downgrade. See Tier Structure for details on Tier object.

SetTierEvent

Sample SetTierEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "SetTierEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "tierBefore": Object,
    "tierAfter": Object
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.tierBefore Object Tier object before setting tier level. See Tier Structure for details on Tier object.
payload.tierAfter Object Tier object after setting tier level. See Tier Structure for details on Tier object.

CustomActionEvent

Sample CustomActionEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "CustomActionEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "customData": Object
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.customData Object Any custom data that is pushed during the custom action. This is defined through the RCX Rule engine as needed.

ProcessActivityEvent

Sample ProcessActivityEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "ProcessActivityEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "activity": Object
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.activity Object Processed activity object. See Activity Structure for details on Activity object.

GenerateReferralEvent

Sample GenerateReferralEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "GenerateReferralEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "memberId": ObjectId,
    "referral": Object
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String object id of the member, to which the referral object was generated.
payload.referral Object Newly generated referral object. See Refereal Structure for details on Referal object.

CompleteReferralEvent

Sample CompleteReferralEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "CompleteReferralEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5a826c5fe05949006006de05"
  },
  "payload": {
    "memberId": ObjectId,
    "referral": Object
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String object id of the member, to which the referral object is related.
payload.referral Object referral object. See Refereal Structure for details on Referal object.

AccrualExpiryEvent

Sample AccrualExpiryEvent object

{
  "header" : {
    "id" : "cjg3hp4qc000h22mudthh9tt7",
    "name" : "AccrualExpiryEvent",
    "status" : "processed",
    "timestamp" : "6545353030357745666",
    "error" : null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5ad5c39174517d13b20ad304"
  },
  "payload" : {
    "accrual" : ObjectId,
    "purseBefore" : Object,
    "purseAfter" : Object,
    "memberId" : ObjectId
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String object id of the updated member object.
payload.accrual String object id of the accrual object.
payload.purseBefore Object purse object before update balance. See Purse Structure for purse details.
payload.purseAfter Object purse object after update balance. See Purse Structure for purse details.

AccrualEscrowEvent

Sample AccrualEscrowEvent object

{
  "header" : {
    "id" : "cjg3hp4qc000h22mudthh9tt7",
    "name" : "AccrualEscrowEvent",
    "status" : "processed",
    "timestamp" : "6545353030357745666",
    "error" : null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId" : "5ad5c39174517d13b20ad304"
  },
  "payload" : {
    "accrual" : ObjectId,
    "purseBefore" : Object,
    "purseAfter" : Object,
    "memberId" : ObjectId,
    "escrowDate": Date,
    "jobId": UUID
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String object id of the updated member object.
payload.accrual String object id of the accrual object.
payload.purseBefore Object purse object before update balance. See Purse Structure for purse details.
payload.purseAfter Object purse object after update balance. See Purse Structure for purse details.

ExpirationWarningEvent

Sample ExpirationWarningEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "ExpirationWarningEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
  },
  "payload": {
    "memberId": "5ad5c39174517d13b20ad304",
    "expiryWarningDays": 5,
    "expiringPoints": 10,
    "purseName": "Points",
    "dateExpiresOn": "2018-12-06T15:44:00.000"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String Member _id of member whose points are expiring.
payload.expiryWarningDays Number How many days ahead of expiration this warning is issued.
payload.expiringPoints Number How many points are about to expire.
payload.purseName String From which purse are points about to expire.
payload.dateExpiresOn Date When are the points going to expire.

TierExpirationWarningEvent

Sample TierExpirationWarningEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "TierExpirationWarningEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
  },
  "payload": {
    "memberId": "5ad5c39174517d13b20ad304",
    "expiryWarningDays": 5,
    "tierName": "Standard",
    "levelName": "Gold",
    "expirationDate": "2018-12-06T15:44:00.000",
    "achievedOnDate": "2017-12-06T15:44:00.000"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String Member _id of member whose points are expiring.
payload.expiryWarningDays Number How many days ahead of expiration this warning is issued.
payload.tierName String Which Tier is the level that is about to expire.
payload.levelName String Which level is about to expire.
payload.expirationDate Date When is the level going to expire.
payload.achievedOnDate Date When was the level achieved.

RewardExpirationWarningEvent

Sample RewardExpirationWarningEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "RewardExpirationWarningEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
  },
  "payload": {
    "memberId": "5ad5c39174517d13b20ad304",
    "expiryWarningDays": 5,
    "rewardName": "Free Drink",
    "rewardCode": "FD1234",
    "dateExpiresOn": "2018-12-06T15:44:00.000",
    "achievedOnDate": "2017-12-06T15:44:00.000"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String Member _id of member whose points are expiring.
payload.expiryWarningDays Number How many days ahead of expiration this warning is issued.
payload.rewardName String Reward name of the reward that is about to expire.
payload.rewardCode String Unique reward code of the reward that is about to expire.
payload.expirationDate Date When is the reward going to expire.
payload.achievedOnDate Date When was the reward given/achieved.

OfferExpirationWarningEvent

Sample OfferExpirationWarningEvent object

{
  "header": {
    "id": "ch72gsb320000udocl363eofy",
    "name": "RewardExpirationWarningEvent",
    "status": "processed",
    "timestamp": 1465367887237,
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
  },
  "payload": {
    "memberId": "5ad5c39174517d13b20ad304",
    "expiryWarningDays": 5,
    "offerName": "50c Off Coffee",
    "offerCode": "COFFEE-50-OFF-1234",
    "dateExpiresOn": "2018-12-06T15:44:00.000"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.memberId String Member _id of member whose points are expiring.
payload.expiryWarningDays Number How many days ahead of expiration this warning is issued.
payload.offerName String Reward name of the offer that is about to expire.
payload.offerCode String Unique offer code of the offer that is about to expire.
payload.expirationDate Date When is the offer going to expire.

MemberMergeEvent

Sample MemberMergeEvent object

{
  "header": {
    "name": "MemberMergeEvent",
    "id": "ck5szjm9y1mtk7fpg1y8iupit",
    "timestamp": null,
    "status": "pending",
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId": "5e2baa4b1835a5010b2df157"
  },
  "payload": {
    "survivor": "5e2baa4ab83449010b60b8c2",
    "victim": "5e2baa4b1835a5010b2df157",
    "txnDate": "2020-01-25T02:39:08.412Z",
    "memberId": "5e2baa4b1835a5010b2df157"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.survivor ObjectId object id of the survivor member object.
payload.victim ObjectId object id of the victim member object.
payload.txnDate Date Date&Time on which member merge happened.
payload.memberId ObjectId Id of the member(Victim Member).

MergeCompleteEvent

Sample MergeCompleteEvent object

{
  "header": {
    "name": "MergeCompleteEvent",
    "id": "ck843j24e00qs1qkbmop5twns",
    "timestamp": null,
    "status": "pending",
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId": "5e67199ada23c900449fa634"
  },
  "payload": {
    "survivor": "5e67199ada23c900449fa634",
    "victim": "5e7856c8623f61003ea53c05",
    "txnDate": "2020-03-23T06:35:32.466Z"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.survivor ObjectId object id of the survivor member object.
payload.victim ObjectId object id of the victim member object.
payload.txnDate Date Date&Time on which member merge happens.

MergeUpdateEvent

Sample MergeUpdateEvent object

{
  "header": {
    "name": "MergeUpdateEvent",
    "id": "ck843j24e00qs1qkbmop5twns",
    "timestamp": null,
    "status": "pending",
    "error": null,
    "userId": "5c58d8570bf24c075fb5886b",
    "affectedObjId": "5e67199ada23c900449fa634",
    "entityType": "members"
  },
  "payload": {
    "survivor": "5e67199ada23c900449fa634",
    "victim": "5e7856c8623f61003ea53c05",
    "txnDate": "2020-03-23T06:35:32.466Z"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.survivor ObjectId object id of the survivor member object.
payload.victim ObjectId object id of the victim member object.
payload.txnDate Date Date&Time on which member merge happens.

StreakCompletionEvent

Sample StreakCompletionEvent object

{
  "header": {
    "name": "StreakCompletionEvent",
    "id": "cley2mjm5006y1ip5og8fil7a",
    "timestamp": 1678182650,
    "status": "pending",
    "error": null,
    "userId": "63ee1ae34e8e460066b1ba18",
    "affectedObjId": "6407023786d242003b5a99f5"
  },
  "payload": {
    "streakPolicyId": "63ef28846042aa004e9c43ac",
    "streakId": "6407058b54d42c0036e40114",
    "memberId": "6407023786d242003b5a99f5",
    "actDate": "2023-03-07T15:15:00.000Z",
    "actUTCOffset": 0,
    "actType": "Streak End",
    "actValue": 0,
    "actCurrencyCode": "USD",
    "actId": "6407090354d42c0036e40565",
    "actLocationId": "60f105c9f5226401eb832ff4",
    "actReasonCode": "110",
    "actSubReasonCode": "100",
    "actLoyaltyID": "64378875"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.streakPolicyId ObjectId Object id of the streak policy.
payload.streakId ObjectId Object id of the streak.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date & Time of the streak completion event.
payload.actUTCOffset Number UTC offset for the actDate.
payload.actType String Type of action related to the streak.
payload.actValue Number Value of the action.
payload.actCurrencyCode String Currency code for the action value.
payload.actId ObjectId Object id of the action.
payload.actLocationId ObjectId Object id of the location where the action took place.
payload.actReasonCode String Reason code for the action.
payload.actSubReasonCode String Sub-reason code for the action.
payload.actLoyaltyID String Loyalty ID associated with the action.

StreakExpirationEvent

Sample StreakExpirationEvent object

{
  "header": {
    "name": "StreakExpirationEvent",
    "id": "cley2qjrq008j1ip52ht55b45",
    "timestamp": 1678182846,
    "status": "pending",
    "error": null,
    "userId": "63ee1ae34e8e460066b1ba18",
    "affectedObjId": "6407023786d242003b5a99f5"
  },
  "payload": {
    "streakPolicyId": "63ef28846042aa004e9c43ac",
    "streakId": "6407094154d42c0036e40618",
    "memberId": "6407023786d242003b5a99f5",
    "actDate": "2023-03-24T15:22:00.000Z",
    "actUTCOffset": 0,
    "actType": "Streak End",
    "actValue": 0,
    "actCurrencyCode": "USD",
    "actId": "640709be54d42c0036e4062a",
    "actLocationId": "60f105c9f5226401eb832ff4",
    "actReasonCode": "110",
    "actSubReasonCode": "100",
    "actLoyaltyID": "64378875"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.streakPolicyId ObjectId Object id of the streak policy.
payload.streakId ObjectId Object id of the streak.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date & Time of the streak expiration event.
payload.actUTCOffset Number UTC offset for the actDate.
payload.actType String Type of action related to the streak.
payload.actValue Number Value of the action.
payload.actCurrencyCode String Currency code for the action value.
payload.actId ObjectId Object id of the action.
payload.actLocationId ObjectId Object id of the location where the action took place.
payload.actReasonCode String Reason code for the action.
payload.actSubReasonCode String Sub-reason code for the action.
payload.actLoyaltyID String Loyalty ID associated with the action.

StreakGoalCompletionEvent

Sample StreakGoalCompletionEvent object

{
  "header": {
    "name": "StreakGoalCompletionEvent",
    "id": "cley2mjm3006x1ip5ep6k7q36",
    "timestamp": 1678182659,
    "status": "pending",
    "error": null,
    "userId": "63ee1ae34e8e460066b1ba18",
    "affectedObjId": "6407023786d242003b5a99f5"
  },
  "payload": {
    "streakPolicyId": "63ef28846042aa004e9c43ac",
    "streakId": "6407058b54d42c0036e40114",
    "goalName": "Hotel",
    "memberId": "6407023786d242003b5a99f5",
    "actDate": "2023-03-07T15:15:00.000Z",
    "actUTCOffset": 0,
    "actType": "Streak End",
    "actValue": 0,
    "actCurrencyCode": "USD",
    "actId": "6407090354d42c0036e40565",
    "actLocationId": "60f105c9f5226401eb832ff4",
    "actReasonCode": "110",
    "actSubReasonCode": "100",
    "actLoyaltyID": "64378875"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.streakPolicyId ObjectId Object id of the streak policy.
payload.streakId ObjectId Object id of the streak.
payload.goalName String Name of the goal associated with the streak.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date & Time of the streak goal completion event.
payload.actUTCOffset Number UTC offset for the actDate.
payload.actType String Type of action related to the streak.
payload.actValue Number Value of the action.
payload.actCurrencyCode String Currency code for the action value.
payload.actId ObjectId Object id of the action.
payload.actLocationId ObjectId Object id of the location where the action took place.
payload.actReasonCode String Reason code for the action.
payload.actSubReasonCode String Sub-reason code for the action.
payload.actLoyaltyID String Loyalty ID associated with the action.

StreakGoalExpirationEvent

Sample StreakGoalExpirationEvent object

{
  "header": {
    "name": "StreakGoalExpirationEvent",
    "id": "cley2qjrn008i1ip5py09glxz",
    "timestamp": 1678182846,
    "status": "pending",
    "error": null,
    "userId": "63ee1ae34e8e460066b1ba18",
    "affectedObjId": "6407023786d242003b5a99f5"
  },
  "payload": {
    "streakPolicyId": "63ef28846042aa004e9c43ac",
    "streakId": "6407094154d42c0036e40618",
    "goal": {
      "status": "Expired",
      "value": 0,
      "_id": "6407094154d42c0036e40617",
      "name": "Hotel",
      "target": 10,
      "createdAt": "2023-03-07T09:52:01.907Z",
      "updatedAt": "2023-03-07T09:54:06.610Z",
      "createdBy": "63ee1ae34e8e460066b1ba18",
      "updatedBy": "63ee1ae34e8e460066b1ba18",
      "endedAt": "2023-03-24T15:32:00.000Z",
      "changedAt": "2023-03-24T15:32:00.000Z",
      "startedAt": "2023-03-24T15:22:00.000Z"
    },
    "snapDate": "2023-03-07T15:00:00.000Z",
    "goalTarget": 10,
    "goalTimeLimit": 5,
    "goalTimeLimitSnap": "Start of Streak",
    "memberId": "6407023786d242003b5a99f5",
    "actDate": "2023-03-24T15:32:00.000Z",
    "actUTCOffset": 0,
    "actType": "Streak End",
    "actValue": 0,
    "actCurrencyCode": "USD",
    "actId": "640709be54d42c0036e4062a",
    "actLocationId": "60f105c9f5226401eb832ff4",
    "actReasonCode": "110",
    "actSubReasonCode": "100",
    "actLoyaltyID": "64378875"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.streakPolicyId ObjectId Object id of the streak policy.
payload.streakId ObjectId Object id of the streak.
payload.goal Object Streak goal object.
payload.snapDate Date Date&Time of the snapshot.
payload.goalTarget Number Target value of the streak goal.
payload.goalTimeLimit Number Time limit for the streak goal.
payload.goalTimeLimitSnap String Reference point for the time limit.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date&Time of the activity that caused the goal expiration.
payload.actUTCOffset Number UTC offset for the activity date.
payload.actType String Type of the activity (e.g., "Streak End").
payload.actValue Number Value associated with the activity.
payload.actCurrencyCode String Currency code for the activity value (e.g., "USD").
payload.actId ObjectId Object id of the activity.
payload.actLocationId ObjectId Object id of the location where the activity occurred.
payload.actReasonCode String Reason code for the activity.
payload.actSubReasonCode String Sub-reason code for the activity.
payload.actLoyaltyID String Loyalty program ID associated with the activity.

StreakInstanceLimitExceededEvent

Sample StreakInstanceLimitExceededEvent object

{
  "header": {
    "name": "StreakInstanceLimitExceededEvent",
    "id": "cley2mjm3006x1ip5ep6k7q36",
    "timestamp": 1678182659,
    "status": "pending",
    "error": null,
    "userId": "63ee1ae34e8e460066b1ba18",
    "affectedObjId": "6407023786d242003b5a99f5"
  },
  "payload": {
    "streakPolicyId": "63ef28846042aa004e9c43ac",
    "instanceLimit": 10,
    "instanceCount": 10,
    "memberId": "6407023786d242003b5a99f5",
    "actDate": "2023-03-07T15:15:00.000Z",
    "actUTCOffset": 0,
    "actType": "Streak Opt-in",
    "actValue": 0,
    "actCurrencyCode": "USD",
    "actId": "6407090354d42c0036e40565",
    "actLocationId": "60f105c9f5226401eb832ff4",
    "actReasonCode": "110",
    "actSubReasonCode": "100",
    "actLoyaltyID": "64378875"
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.streakPolicyId ObjectId Object id of the streak policy.
payload.instanceLimit Number Instance limit of the streak.
payload.instanceCount Number Current instance count.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date&Time of the activity.
payload.actUTCOffset Number The UTC offset of the activity.
payload.actType String Type of activity.
payload.actValue Number Value associated with the activity.
payload.actCurrencyCode String Currency code of the activity.
payload.actId ObjectId Object id of the activity.
payload.actLocationId ObjectId Object id of the location.
payload.actReasonCode String Reason code of the activity.
payload.actSubReasonCode String Sub-reason code of the activity.
payload.actLoyaltyID String Loyalty ID associated with the activity.

StreakInstanceCoolOffSkipEvent

Sample StreakInstanceCoolOffSkipEvent object

{
    "header" : {
        "name" : "StreakInstanceCoolOffSkipEvent",
        "id" : "cley2mjm3006x1ip5ep6k7q36",
        "timestamp" : 1678182659,
        "status" : "pending",
        "error" : null,
        "userId" : "63ee1ae34e8e460066b1ba18",
        "affectedObjId" : "6407023786d242003b5a99f5"
    },
    "payload" : {
        "coolOffTime": 10,
        "prevStreak": {
            "status" : "Complete",
            "value" : 0,
            "_id" : "6407058b54d42c0036e40114",
            "goals" : [ 
                {
                    "status" : "Complete",
                    "value" : 10,
                    "_id" : "6407058b54d42c0036e40113",
                    "name" : "Hotel",
                    "target" : 10,
                    "createdAt" : "2023-03-07T09:36:11.226Z",
                    "updatedAt" : "2023-03-07T09:50:59.786Z",
                    "createdBy" : "63ee1ae34e8e460066b1ba18",
                    "updatedBy" : "63ee1ae34e8e460066b1ba18",
                    "changedAt" : "2023-03-23T15:30:00.000Z",
                    "startedAt" : "2023-03-21T12:10:00.000Z",
                    "endedAt" : "2023-03-23T15:30:00.000Z"
                }
            ],
            "policyId" : "63ef28846042aa004e9c43ac",
            "currGoal" : null,
            "startedAt" : "2023-03-21T12:10:00.000Z",
            "changedAt" : "2023-03-23T15:30:00.000Z",
            "createdAt" : "2023-03-21T09:36:11.226Z",
            "updatedAt" : "2023-03-23T09:50:59.786Z",
            "createdBy" : "63ee1ae34e8e460066b1ba18",
            "updatedBy" : "63ee1ae34e8e460066b1ba18",
            "endedAt" : "2023-03-23T15:30:00.000Z"
        },
        "memberId" : "6407023786d242003b5a99f5",
        "actDate" : "2023-03-23T15:35:00.000Z",
        "actUTCOffset" : 0,
        "actType" : "Streak Opt-in",
        "actValue" : 0,
        "actCurrencyCode" : "USD",
        "actId" : "6407090354d42c0036e40565",
        "actLocationId" : "60f105c9f5226401eb832ff4",
        "actReasonCode" : "110",
        "actSubReasonCode" : "100",
        "actLoyaltyID" : "64378875"
    }
}

The parameter coolOffTime on Streak Policy tells us that a member cannot opt-in to a new streak before coolOffTime minutes from the end (Expire or Complete) of his last streak of the same Streak Policy

Example:

Field Type Description
header Object See Event Structure for header details.
payload.coolOffTime Number Cool off time in minutes defined in the Streak Policy.
payload.prevStreak Object Details of the previous streak.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date & Time of the activity.
payload.actUTCOffset Number The UTC offset of the activity.
payload.actType String Type of activity.
payload.actValue Number Value associated with the activity.
payload.actCurrencyCode String Currency code of the activity.
payload.actId ObjectId Object id of the activity.
payload.actLocationId ObjectId Object id of the location.
payload.actReasonCode String Reason code of the activity.
payload.actSubReasonCode String Sub-reason code of the activity.
payload.actLoyaltyID String Loyalty ID associated with the activity.

StreakStartEvent

Sample StreakStartEvent object

{
    "header" : {
        "name" : "StreakStartEvent",
        "id" : "cley2mjm3006x1ip5ep6k7q36",
        "timestamp" : 1678182659,
        "status" : "pending",
        "error" : null,
        "userId" : "63ee1ae34e8e460066b1ba18",
        "affectedObjId" : "6407023786d242003b5a99f5"
    },
    "payload" : {
        "streak": {
            "status" : "Active",
            "value" : 0,
            "_id" : "6407058b54d42c0036e40114",
            "goals" : [ 
                {
                    "status" : "Not Started",
                    "value" : 0,
                    "_id" : "6407058b54d42c0036e40113",
                    "name" : "Hotel",
                    "target" : 10,
                    "createdAt" : "2023-03-07T09:36:11.226Z",
                    "updatedAt" : "2023-03-07T09:50:59.786Z",
                    "createdBy" : "63ee1ae34e8e460066b1ba18",
                    "updatedBy" : "63ee1ae34e8e460066b1ba18",
                    "changedAt" : "2023-03-23T15:30:00.000Z",
                    "startedAt" : "2023-03-21T12:10:00.000Z"
                }
            ],
            "policyId" : "63ef28846042aa004e9c43ac",
            "currGoal" : null,
            "startedAt" : "2023-03-21T12:10:00.000Z",
            "changedAt" : "2023-03-23T15:30:00.000Z",
            "createdAt" : "2023-03-21T09:36:11.226Z",
            "updatedAt" : "2023-03-23T09:50:59.786Z",
            "createdBy" : "63ee1ae34e8e460066b1ba18",
            "updatedBy" : "63ee1ae34e8e460066b1ba18",
            "ext" : {
                "sites" : "2",
                "tripStartDate" : "2023-03-21T00:00:00.000Z",
                "tripEndDate" : "2023-03-23T23:59:59.999Z"
            }
        },
        "memberId" : "6407023786d242003b5a99f5",
        "actDate" : "2023-03-23T15:35:00.000Z",
        "actUTCOffset" : 0,
        "actType" : "Streak Opt-in",
        "actValue" : 0,
        "actCurrencyCode" : "USD",
        "actId" : "6407090354d42c0036e40565",
        "actLocationId" : "60f105c9f5226401eb832ff4",
        "actReasonCode" : "110",
        "actSubReasonCode" : "100",
        "actLoyaltyID" : "64378875"
    }
}

If a member is eligible to opt-in to a streak and he performs an activity that starts the streak, then the streak is added to the member streaks and StreakStartEvent is emitted.

Field Type Description
header Object See Event Structure for header details.
payload.streak Object Details of the streak being started.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date & Time of the activity.
payload.actUTCOffset Number The UTC offset of the activity.
payload.actType String Type of activity.
payload.actValue Number Value associated with the activity.
payload.actCurrencyCode String Currency code of the activity.
payload.actId ObjectId Object id of the activity.
payload.actLocationId ObjectId Object id of the location.
payload.actReasonCode String Reason code of the activity.
payload.actSubReasonCode String Sub-reason code of the activity.
payload.actLoyaltyID String Loyalty ID associated with the activity.

StreakGoalAutoStartEvent

Sample StreakGoalAutoStartEvent object

{
    "header" : {
        "name" : "StreakGoalAutoStartEvent",
        "id" : "cley2mjm3006x1ip5ep6k7q36",
        "timestamp" : 1678182659,
        "status" : "pending",
        "error" : null,
        "userId" : "63ee1ae34e8e460066b1ba18",
        "affectedObjId" : "6407023786d242003b5a99f5"
    },
    "payload" : {
        "streakPolicyId" : "63ef28846042aa004e9c43ac",
        "streakId" : "6407058b54d42c0036e40114",
        "goalName": "Spend 200",
        "memberId" : "6407023786d242003b5a99f5",
        "actDate" : "2023-03-23T15:35:00.000Z",
        "actUTCOffset" : 0,
        "actType" : "Accrual",
        "actValue" : 20,
        "actCurrencyCode" : "USD",
        "actId" : "6407090354d42c0036e40565",
        "actLocationId" : "60f105c9f5226401eb832ff4",
        "actReasonCode" : "110",
        "actSubReasonCode" : "100",
        "actLoyaltyID" : "64378875"
    }
}

After a member opted into a streak, all goals will be in Not Started status. When the member first performs an activity that increases the goal value then the goal status will be changed to Active. Here, StreakGoalAutoStrartEvent is emitted by the engine.

Field Type Description
header Object See Event Structure for header details.
payload.streakPolicyId ObjectId Object id of the streak policy.
payload.streakId ObjectId Object id of the streak.
payload.goalName String Name of the goal associated with the streak.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date & Time of the activity.
payload.actUTCOffset Number The UTC offset of the activity.
payload.actType String Type of activity.
payload.actValue Number Value associated with the activity.
payload.actCurrencyCode String Currency code of the activity.
payload.actId ObjectId Object id of the activity.
payload.actLocationId ObjectId Object id of the location.
payload.actReasonCode String Reason code of the activity.
payload.actSubReasonCode String Sub-reason code of the activity.
payload.actLoyaltyID String Loyalty ID associated with the activity.

StreakGoalCoolOffSkipEvent

Sample StreakGoalCoolOffSkipEvent object

{
    "header" : {
        "name" : "StreakGoalCoolOffSkipEvent",
        "id" : "cley2mjm3006x1ip5ep6k7q36",
        "timestamp" : 1678182659,
        "status" : "pending",
        "error" : null,
        "userId" : "63ee1ae34e8e460066b1ba18",
        "affectedObjId" : "6407023786d242003b5a99f5"
    },
    "payload" : {
        "streakPolicyId" : "63ef28846042aa004e9c43ac",
        "streakId" : "6407058b54d42c0036e40114",
        "coolOffTime": 30,
        "goal": {
            "status" : "Active",
            "value" : 100,
            "_id" : "6407058b54d42c0036e40113",
            "name" : "Spend 200",
            "target" : 200,
            "createdAt" : "2023-03-07T09:36:11.226Z",
            "updatedAt" : "2023-03-07T09:50:59.786Z",
            "createdBy" : "63ee1ae34e8e460066b1ba18",
            "updatedBy" : "63ee1ae34e8e460066b1ba18",
            "changedAt" : "2023-03-23T15:30:00.000Z",
            "startedAt" : "2023-03-23T15:30:00.000Z"
        },
        "memberId" : "6407023786d242003b5a99f5",
        "actDate" : "2023-03-23T15:35:00.000Z",
        "actUTCOffset" : 0,
        "actType" : "Accrual",
        "actValue" : 0,
        "actCurrencyCode" : "USD",
        "actId" : "6407090354d42c0036e40565",
        "actLocationId" : "60f105c9f5226401eb832ff4",
        "actReasonCode" : "110",
        "actSubReasonCode" : "100",
        "actLoyaltyID" : "64378875"
    }
}

Goal Policy cool-off time means that a member cannot advance their goal value before coolOffTime minutes from the last advancement of that goal. In effect the cool-off time acts as a throttle to the advancement of the goal.

Example:

Field Type Description
header Object See Event Structure for header details.
payload.streakPolicyId ObjectId Object id of the streak policy.
payload.streakId ObjectId Object id of the streak.
payload.coolOffTime Number Cool off time in minutes.
payload.goal Object See Goal Structure for goal details.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date & Time of the activity.
payload.actUTCOffset Number The UTC offset of the activity.
payload.actType String Type of activity.
payload.actValue Number Value associated with the activity.
payload.actCurrencyCode String Currency code of the activity.
payload.actId ObjectId Object id of the activity.
payload.actLocationId ObjectId Object id of the location.
payload.actReasonCode String Reason code of the activity.
payload.actSubReasonCode String Sub-reason code of the activity.
payload.actLoyaltyID String Loyalty ID associated with the activity.

StreakGoalExpirationSkipEvent

Sample StreakGoalExpirationSkipEvent object

{
    "header" : {
        "name" : "StreakGoalExpirationSkipEvent",
        "id" : "cley2mjm3006x1ip5ep6k7q36",
        "timestamp" : 1678182659,
        "status" : "pending",
        "error" : null,
        "userId" : "63ee1ae34e8e460066b1ba18",
        "affectedObjId" : "6407023786d242003b5a99f5"
    },
    "payload" : {
        "streakPolicyId" : "63ef28846042aa004e9c43ac",
        "streakId" : "6407058b54d42c0036e40114",
        "goalName": "Spend 200",
        "timeLimt": 30,
        "timeLimitSnap": "goalStartedAt",
        "snapDate": "2023-03-23T15:30:00.000Z",
        "memberId" : "6407023786d242003b5a99f5",
        "actDate" : "2023-03-23T16:15:00.000Z",
        "actUTCOffset" : 0,
        "actType" : "Accrual",
        "actValue" : 0,
        "actCurrencyCode" : "USD",
        "actId" : "6407090354d42c0036e40565",
        "actLocationId" : "60f105c9f5226401eb832ff4",
        "actReasonCode" : "110",
        "actSubReasonCode" : "100",
        "actLoyaltyID" : "64378875"
    }
}

A Goal Policy will have timeLimit (default 0) defined in minutes. If a member tries to advance the goal values after timeLimit minutes from the snap date ( which could be Start of Streak or Start of Goal ) then the goal is considered to be expired and the value is not increased. To indicate the skipping the goal advance due to expiry the RCX engine will emit StreakGoalExpirationSkipEvent.

Example:

Field Type Description
header Object See Event Structure for header details.
payload.streakPolicyId ObjectId Object id of the streak policy.
payload.streakId ObjectId Object id of the streak.
payload.goalName String Name of the streak goal.
payload.timeLimt Number Time limit in days.
payload.timeLimitSnap String Snapshot field for the time limit.
payload.snapDate Date Date & Time of the snapshot.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date & Time of the activity.
payload.actUTCOffset Number The UTC offset of the activity.
payload.actType String Type of activity.
payload.actValue Number Value associated with the activity.
payload.actCurrencyCode String Currency code of the activity.
payload.actId ObjectId Object id of the activity.
payload.actLocationId ObjectId Object id of the location.
payload.actReasonCode String Reason code of the activity.
payload.actSubReasonCode String Sub-reason code of the activity.
payload.actLoyaltyID String Loyalty ID associated with the activity.

StreakGoalAdvanceEvent

Sample StreakGoalAdvanceEvent object

{
    "header" : {
        "name" : "StreakGoalAdvanceEvent",
        "id" : "cley2mjm3006x1ip5ep6k7q36",
        "timestamp" : 1678182659,
        "status" : "pending",
        "error" : null,
        "userId" : "63ee1ae34e8e460066b1ba18",
        "affectedObjId" : "6407023786d242003b5a99f5"
    },
    "payload" : {
        "streakPolicyId" : "63ef28846042aa004e9c43ac",
        "streakId" : "6407058b54d42c0036e40114",
        "goalBefore": {
            "status" : "Not Started",
            "value" : 100,
            "_id" : "6407058b54d42c0036e40113",
            "name" : "Spend 200",
            "target" : 200,
            "createdAt" : "2023-03-07T09:36:11.226Z",
            "updatedAt" : "2023-03-07T09:50:59.786Z",
            "createdBy" : "63ee1ae34e8e460066b1ba18",
            "updatedBy" : "63ee1ae34e8e460066b1ba18",
            "changedAt" : "2023-03-23T15:30:00.000Z",
            "startedAt" : "2023-03-23T15:30:00.000Z"
        },
        "goalAfter": {
            "status" : "Active",
            "value" : 50,
            "_id" : "6407058b54d42c0036e40113",
            "name" : "Spend 200",
            "target" : 200,
            "createdAt" : "2023-03-07T09:36:11.226Z",
            "updatedAt" : "2023-03-07T09:50:59.786Z",
            "createdBy" : "63ee1ae34e8e460066b1ba18",
            "updatedBy" : "63ee1ae34e8e460066b1ba18",
            "changedAt" : "2023-03-23T15:35:00.000Z",
            "startedAt" : "2023-03-23T15:30:00.000Z"
        },
        "goalTarget": 200,
        "goalTimeLimt": 30,
        "goalTimeLimitSnap": "goalStartedAt",
        "snapDate": "2023-03-23T15:30:00.000Z",
        "memberId" : "6407023786d242003b5a99f5",
        "actDate" : "2023-03-23T16:15:00.000Z",
        "actUTCOffset" : 0,
        "actType" : "Accrual",
        "actValue" : 0,
        "actCurrencyCode" : "USD",
        "actId" : "6407090354d42c0036e40565",
        "actLocationId" : "60f105c9f5226401eb832ff4",
        "actReasonCode" : "110",
        "actSubReasonCode" : "100",
        "actLoyaltyID" : "64378875"
    }
}

When a member opts to streak and he is eligible to advance his goal value, performs an activity that increases the goal value. Here, the RCX engine will emit the StreakGoalAdvanceEvent which says the goal value has changed and this event payload will store the previous and new (after increasing) versions of the goal object.

Field Type Description
header Object See Event Structure for header details.
payload.streakPolicyId ObjectId Object id of the streak policy.
payload.streakId ObjectId Object id of the streak.
payload.goalBefore Object Information about the streak goal before the event.
payload.goalAfter Object Information about the streak goal after the event.
payload.goalTarget Number The target value of the streak goal.
payload.goalTimeLimt Number Time limit in days for the goal.
payload.goalTimeLimitSnap String Snapshot field for the time limit.
payload.snapDate Date Date & Time of the snapshot.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date & Time of the activity.
payload.actUTCOffset Number The UTC offset of the activity.
payload.actType String Type of activity.
payload.actValue Number Value associated with the activity.
payload.actCurrencyCode String Currency code of the activity.
payload.actId ObjectId Object id of the activity.
payload.actLocationId ObjectId Object id of the location.
payload.actReasonCode String Reason code of the activity.
payload.actSubReasonCode String Sub-reason code of the activity.
payload.actLoyaltyID String Loyalty ID associated with the activity.

StreakCancelEvent

Sample StreakCancelEvent object

{
    "header" : {
        "name" : "StreakCancelEvent",
        "id" : "cley2mjm3006x1ip5ep6k7q36",
        "timestamp" : 1678182659,
        "status" : "pending",
        "error" : null,
        "userId" : "63ee1ae34e8e460066b1ba18",
        "affectedObjId" : "6407023786d242003b5a99f5"
    },
    "payload" : {
        "streakPolicyId" : "63ef28846042aa004e9c43ac",
        "streakId" : "6407058b54d42c0036e40114",
        "memberId" : "6407023786d242003b5a99f5",
        "actDate" : "2023-03-23T16:15:00.000Z",
        "actUTCOffset" : 0,
        "actType" : "Accrual",
        "actValue" : 0,
        "actCurrencyCode" : "USD",
        "actId" : "6407090354d42c0036e40565",
        "actLocationId" : "60f105c9f5226401eb832ff4",
        "actReasonCode" : "110",
        "actSubReasonCode" : "100",
        "actLoyaltyID" : "64378875"
    }
}

When a member decides he will not be able to complete the streak and wants to cancel it, then the streak status and all the goals status are marked as Cancelled by the Cancel Streak action. To acknowledge that the streak got canceled StreakCancelEvent is emitted.

Field Type Description
header Object See Event Structure for header details.
payload.streakPolicyId ObjectId Object id of the streak policy.
payload.streakId ObjectId Object id of the streak.
payload.memberId ObjectId Object id of the member.
payload.actDate Date Date & Time of the activity.
payload.actUTCOffset Number The UTC offset of the activity.
payload.actType String Type of activity.
payload.actValue Number Value associated with the activity.
payload.actCurrencyCode String Currency code of the activity.
payload.actId ObjectId Object id of the activity.
payload.actLocationId ObjectId Object id of the location.
payload.actReasonCode String Reason code of the activity.
payload.actSubReasonCode String Sub-reason code of the activity.
payload.actLoyaltyID String Loyalty ID associated with the activity.

LockOfferEvent

Sample LockOfferEvent object

{
    "header": {
        "name": "LockOfferEvent",
        "id": "qyr090amha4t0dfij62gmoeu",
        "timestamp": null,
        "status": "pending",
        "error": null,
        "userId": "67371abfcab1affa89859ae0",
        "affectedObjId": "677f5b783ab6c77d6b2901fa"
    },
    "payload": {
        "rewardOrOfferBefore": {
            "_id": "677f5b8f3ab6c77d6b290328",
            "name": "O1",
            "desc": "",
            "usesLeft": 1,
            "timesUsed": 0,
            "isGlobal": false,
            "expiresOn": "32503680000000",
            "effectiveDate": "2025-01-08T10:45:00.000Z",
            "member": "677f5b783ab6c77d6b2901fa",
            "upc": "Discount",
            "type": "Offer",
            "policyId": "677f5ae13ab6c77d6b28fff1",
            "isCancelled": false,
            "canPreview": false,
            "mergeIds": [],
            "singleUse": true,
            "lockDetails": [],
            "org": "67371abfcab1affa89859ae1",
            "createdAt": "2025-01-09T05:15:59.041Z",
            "updatedAt": "2025-01-09T05:15:59.041Z",
            "createdBy": "67371abfcab1affa89859ae0",
            "updatedBy": "67371abfcab1affa89859ae0",
            "code": "0ee41638-a57e-4da9-a632-b67f74e81a7c",
            "__v": 0
        },
        "rewardOrOfferAfter": {
            "_id": "677f5b8f3ab6c77d6b290328",
            "name": "O1",
            "desc": "",
            "usesLeft": 1,
            "timesUsed": 0,
            "isGlobal": false,
            "expiresOn": "32503680000000",
            "effectiveDate": "2025-01-08T10:45:00.000Z",
            "member": "677f5b783ab6c77d6b2901fa",
            "upc": "Discount",
            "type": "Offer",
            "policyId": "677f5ae13ab6c77d6b28fff1",
            "isCancelled": false,
            "canPreview": false,
            "mergeIds": [],
            "singleUse": true,
            "lockDetails": [
                {
                    "lockTxnId": "t1",
                    "lockTill": "2025-01-11T10:46:00.000Z",
                    "lockAct": "677f5c253ab6c77d6b2909b3",
                    "lockedUses": 1,
                    "_id": "677f5c263ab6c77d6b2909c9"
                }
            ],
            "org": "67371abfcab1affa89859ae1",
            "createdAt": "2025-01-09T05:15:59.041Z",
            "updatedAt": "2025-01-09T05:18:30.035Z",
            "createdBy": "67371abfcab1affa89859ae0",
            "updatedBy": "67371abfcab1affa89859ae0",
            "code": "0ee41638-a57e-4da9-a632-b67f74e81a7c",
            "__v": 0
        }
    }
}
Field Type Description
header Object See Event Structure for header details.
payload.rewardOrOfferBefore Object Offer object before locking. See Offer Structure for offer details.
payload.rewardOrOfferAfter Object Offer object after locking. See Offer Structure for offer details.
payload.rewardOrOfferAfter.lockDetails.lockTxnId String transaction id responsiable for that lock.
payload.rewardOrOfferAfter.lockDetails.lockedUses Number defines how many time the offer is locked.
payload.rewardOrOfferAfter.lockDetails.lockTill Date defines how long an offer should be locked.
payload.rewardOrOfferAfter.lockDetails.lockAct Object object id of the activity.

LockRewardEvent

Sample LockRewardEvent object

{
  "header": {
      "name": "LockRewardEvent",
      "id": "jqcavnnyutkvyikgq48y1fnu",
      "timestamp": null,
      "status": "pending",
      "error": null,
      "userId": "67371abfcab1affa89859ae0",
      "affectedObjId": "677f5b783ab6c77d6b2901fa"
  },
  "payload": {
      "rewardOrOfferBefore": {
          "_id": "677f5baf3ab6c77d6b29039c",
          "name": "R1",
          "desc": "",
          "usesLeft": 1,
          "expiresOn": "32503660200000",
          "effectiveDate": "2025-01-09T05:16:00.000Z",
          "member": "677f5b783ab6c77d6b2901fa",
          "upc": "Discount",
          "type": "Reward",
          "policyId": "677f5b333ab6c77d6b29007a",
          "isCancelled": false,
          "canPreview": false,
          "lockedTill": null,
          "mergeIds": [],
          "issueValue": 0,
          "redmValue": 0,
          "lockDetails": [],
          "org": "67371abfcab1affa89859ae1",
          "createdAt": "2025-01-09T05:16:31.160Z",
          "updatedAt": "2025-01-09T05:16:31.160Z",
          "createdBy": "67371abfcab1affa89859ae0",
          "updatedBy": "67371abfcab1affa89859ae0",
          "code": "bacbcd60-e4f2-45c7-beeb-81c888d9c36d",
          "__v": 0
      },
      "rewardOrOfferAfter": {
          "_id": "677f5baf3ab6c77d6b29039c",
          "name": "R1",
          "desc": "",
          "usesLeft": 1,
          "expiresOn": "32503660200000",
          "effectiveDate": "2025-01-09T05:16:00.000Z",
          "member": "677f5b783ab6c77d6b2901fa",
          "upc": "Discount",
          "type": "Reward",
          "policyId": "677f5b333ab6c77d6b29007a",
          "isCancelled": false,
          "canPreview": false,
          "lockedTill": null,
          "mergeIds": [],
          "issueValue": 0,
          "redmValue": 0,
          "lockDetails": [
              {
                  "lockTxnId": "t1",
                  "lockTill": "2025-01-11T10:46:00.000Z",
                  "lockAct": "677f5c253ab6c77d6b2909b3",
                  "lockedUses": 1,
                  "_id": "677f5c263ab6c77d6b2909ce"
              }
          ],
          "org": "67371abfcab1affa89859ae1",
          "createdAt": "2025-01-09T05:16:31.160Z",
          "updatedAt": "2025-01-09T05:18:30.046Z",
          "createdBy": "67371abfcab1affa89859ae0",
          "updatedBy": "67371abfcab1affa89859ae0",
          "code": "bacbcd60-e4f2-45c7-beeb-81c888d9c36d",
          "__v": 0
      }
  }
}
Field Type Description
header Object See Event Structure for header details.
payload.rewardOrOfferBefore Object Reward object before locking. See Reward Structure for offer details.
payload.rewardOrOfferAfter Object Reward object after locking. See Reward Structure for reward details.
payload.rewardOrOfferAfter.lockDetails.lockTxnId String transaction id responsiable for that lock.
payload.rewardOrOfferAfter.lockDetails.lockedUses Number defines how many time the reward is locked.
payload.rewardOrOfferAfter.lockDetails.lockTill Date defines how long a reward should be locked.
payload.rewardOrOfferAfter.lockDetails.lockAct Object object id of the activity.

UnLockOfferEvent

Sample UnLockOfferEvent object

{
        "header": {
            "name": "UnlockOfferEvent",
            "id": "g5hodslvya2jirusv27pxvj7",
            "timestamp": null,
            "status": "pending",
            "error": null,
            "userId": "67371abfcab1affa89859ae0",
            "affectedObjId": "677f5b783ab6c77d6b2901fa"
        },
        "payload": {
            "rewardOrOfferBefore": {
                "_id": "677f5b8f3ab6c77d6b290328",
                "name": "O1",
                "desc": "",
                "usesLeft": 1,
                "timesUsed": 0,
                "isGlobal": false,
                "expiresOn": "32503680000000",
                "effectiveDate": "2025-01-08T10:45:00.000Z",
                "member": "677f5b783ab6c77d6b2901fa",
                "upc": "Discount",
                "type": "Offer",
                "policyId": "677f5ae13ab6c77d6b28fff1",
                "isCancelled": false,
                "canPreview": false,
                "mergeIds": [],
                "singleUse": true,
                "lockDetails": [
                    {
                        "lockTxnId": "t1",
                        "lockTill": "2025-01-11T10:46:00.000Z",
                        "lockAct": "677f5c253ab6c77d6b2909b4",
                        "lockedUses": 1,
                        "_id": "677f5c263ab6c77d6b2909c4"
                    }
                ],
                "org": "67371abfcab1affa89859ae1",
                "createdAt": "2025-01-09T05:15:59.041Z",
                "updatedAt": "2025-01-09T05:18:30.323Z",
                "createdBy": "67371abfcab1affa89859ae0",
                "updatedBy": "67371abfcab1affa89859ae0",
                "code": "0ee41638-a57e-4da9-a632-b67f74e81a7c",
                "__v": 0
            },
            "rewardOrOfferAfter": {
                "_id": "677f5b8f3ab6c77d6b290328",
                "name": "O1",
                "desc": "",
                "usesLeft": 1,
                "timesUsed": 0,
                "isGlobal": false,
                "expiresOn": "32503680000000",
                "effectiveDate": "2025-01-08T10:45:00.000Z",
                "member": "677f5b783ab6c77d6b2901fa",
                "upc": "Discount",
                "type": "Offer",
                "policyId": "677f5ae13ab6c77d6b28fff1",
                "isCancelled": false,
                "canPreview": false,
                "mergeIds": [],
                "singleUse": true,
                "lockDetails": [],
                "org": "67371abfcab1affa89859ae1",
                "createdAt": "2025-01-09T05:15:59.041Z",
                "updatedAt": "2025-01-09T05:23:02.462Z",
                "createdBy": "67371abfcab1affa89859ae0",
                "updatedBy": "67371abfcab1affa89859ae0",
                "code": "0ee41638-a57e-4da9-a632-b67f74e81a7c",
                "__v": 0
            }
        }
    }
Field Type Description
header Object See Event Structure for header details.
payload.rewardOrOfferBefore Object Offer object before locking. See Offer Structure for offer details.
payload.rewardOrOfferAfter Object Offer object after locking. See Offer Structure for offer details.
payload.rewardOrOfferAfter.lockDetails Array Empty array represents the lock was removed/not locked.

UnLockRewardEvent

Sample UnLockRewardEvent object

{
    "header": {
        "name": "UnlockRewardEvent",
        "id": "ltyvklic4yopm27ghj1vc0yz",
        "timestamp": null,
        "status": "pending",
        "error": null,
        "userId": "67371abfcab1affa89859ae0",
        "affectedObjId": "677f5b783ab6c77d6b2901fa"
    },
    "payload": {
        "rewardOrOfferBefore": {
            "_id": "677f5baf3ab6c77d6b29039c",
            "name": "R1",
            "desc": "",
            "usesLeft": 1,
            "expiresOn": "32503660200000",
            "effectiveDate": "2025-01-09T05:16:00.000Z",
            "member": "677f5b783ab6c77d6b2901fa",
            "upc": "Discount",
            "type": "Reward",
            "policyId": "677f5b333ab6c77d6b29007a",
            "isCancelled": false,
            "canPreview": false,
            "lockedTill": null,
            "mergeIds": [],
            "issueValue": 0,
            "redmValue": 0,
            "lockDetails": [
              {
                  "lockTxnId": "t1",
                  "lockTill": "2025-01-11T10:46:00.000Z",
                  "lockAct": "677f5c253ab6c77d6b2909b4",
                  "lockedUses": 1,
                  "_id": "677f5c263ab6c77d6b2909c6"
              }
            ],
            "org": "67371abfcab1affa89859ae1",
            "createdAt": "2025-01-09T05:16:31.160Z",
            "updatedAt": "2025-01-09T05:18:30.342Z",
            "createdBy": "67371abfcab1affa89859ae0",
            "updatedBy": "67371abfcab1affa89859ae0",
            "code": "bacbcd60-e4f2-45c7-beeb-81c888d9c36d",
            "__v": 0
        },
        "rewardOrOfferAfter": {
            "_id": "677f5baf3ab6c77d6b29039c",
            "name": "R1",
            "desc": "",
            "usesLeft": 1,
            "expiresOn": "32503660200000",
            "effectiveDate": "2025-01-09T05:16:00.000Z",
            "member": "677f5b783ab6c77d6b2901fa",
            "upc": "Discount",
            "type": "Reward",
            "policyId": "677f5b333ab6c77d6b29007a",
            "isCancelled": false,
            "canPreview": false,
            "lockedTill": null,
            "mergeIds": [],
            "issueValue": 0,
            "redmValue": 0,
            "lockDetails": [],
            "org": "67371abfcab1affa89859ae1",
            "createdAt": "2025-01-09T05:16:31.160Z",
            "updatedAt": "2025-01-09T05:23:02.470Z",
            "createdBy": "67371abfcab1affa89859ae0",
            "updatedBy": "67371abfcab1affa89859ae0",
            "code": "bacbcd60-e4f2-45c7-beeb-81c888d9c36d",
            "__v": 0
        }
    }
}
Field Type Description
header Object See Event Structure for header details.
payload.rewardOrOfferBefore Object Offer object before locking. See Reward Structure for offer details.
payload.rewardOrOfferAfter Object Offer object after locking. See Reward Structure for offer details.
payload.rewardOrOfferAfter.lockDetails Array Empty array represents the lock was removed/not locked.

Appendix A - Error Reference

Authentication Errors (1000-1099)

Code HTTP status code Error message
1000 HTTP_STATUS.NOT_FOUND %s role not found
1001 HTTP_STATUS.BAD_REQUEST Model name is required
1002 HTTP_STATUS.FORBIDDEN %s is not valid permission in \"%s\" resource
1003 HTTP_STATUS.UNAUTHORIZED Your login credentials were not correct. Please try again.
1004 HTTP_STATUS.BAD_REQUEST Invalid locale value
1005 HTTP_STATUS.UNAUTHORIZED This user token is expired.
1006 HTTP_STATUS.UNAUTHORIZED Reset password request too old.
1007 HTTP_STATUS.NOT_FOUND User not found
1008 HTTP_STATUS.FORBIDDEN This user has been blocked.
1009 HTTP_STATUS.FORBIDDEN The user has already logged out.
1010 HTTP_STATUS.UNAUTHORIZED Unauthorized
1011 HTTP_STATUS.UNAUTHORIZED Login Name can not be changed.
1012 HTTP_STATUS.UNAUTHORIZED Your password is not correct. Please try again.
1013 HTTP_STATUS.UNAUTHORIZED Incorrect old password.
1014 HTTP_STATUS.BAD_REQUEST %s is not a valid resource

Authorization Errors (1100-1199)

Code HTTP status code Error message
1100 HTTP_STATUS.FORBIDDEN Not enough access privileges for this operation.
1101 HTTP_STATUS.NOT_FOUND User not set
1102 HTTP_STATUS.BAD_REQUEST Invalid model instance.
1103 HTTP_STATUS.UNAUTHORIZED Unsupported method %s.
1104 HTTP_STATUS.UNAUTHORIZED %s : No %s permission
1105 HTTP_STATUS.BAD_REQUEST Invalid API method %s
1106 HTTP_STATUS.BAD_REQUEST The properties %s cannot be updated using this API
1113 HTTP_STATUS.BAD_REQUEST Please provide possibleDivisions when providing division.
1114 HTTP_STATUS.BAD_REQUEST Old password and new password cannot be same
1115 HTTP_STATUS.FORBIDDEN %s are not valid permissions in \"%s\" resource

Validation Errors (1200-1299)

Code HTTP status code Error message
1200 HTTP_STATUS.UNPROCESSABLE_ENTITY Validation Error

System Errors (1300-1399)

Code HTTP status code Error message
1300 HTTP_STATUS.INTERNAL_SERVER_ERROR Unable to process. Database error #

API Errors (1500-1999)

Code HTTP status code Error message
1500 HTTP_STATUS.BAD_REQUEST Name must be unique within the parent folder
1501 HTTP_STATUS.BAD_REQUEST DMA has duplicate zip codes.
1502 HTTP_STATUS.BAD_REQUEST Path value is required.
1503 HTTP_STATUS.NOT_FOUND Model with name %s was not found while adding extension schema.
1504 HTTP_STATUS.BAD_REQUEST
1505 HTTP_STATUS.BAD_REQUEST extSchema: Please provide valid JSON Schema
1506 HTTP_STATUS.BAD_REQUEST uiDef: Please provide valid JSON
1507 HTTP_STATUS.BAD_REQUEST The extension schema does not exists, please add a schema to set the value or extention value.
1508 HTTP_STATUS.FORBIDDEN You can not remove fields - %s, please contact system administrator
1509 HTTP_STATUS.BAD_REQUEST Program cannot have more than one primary flows.
1510 HTTP_STATUS.FORBIDDEN The job to generate the new tree is already running.
1511 HTTP_STATUS.FORBIDDEN The job to import a program is already running.
1512 HTTP_STATUS.FORBIDDEN The job to import %s program is running.
1513 HTTP_STATUS.BAD_REQUEST Model name is required
1514 HTTP_STATUS.BAD_REQUEST %s is not a valid model.
1515 HTTP_STATUS.FORBIDDEN The job to refresh the NamedLists is already running.
1516 HTTP_STATUS.FORBIDDEN The job to create initial-sync events is already running.
1517 HTTP_STATUS.BAD_REQUEST Invalid organisation
1518 HTTP_STATUS.BAD_REQUEST Invalid Latitude - Valid latitude values are between -90 and 90 (both inclusive)
1519 HTTP_STATUS.BAD_REQUEST Invalid Longitude - Valid longitude values are between -180 and 180 (both inclusive)
1520 HTTP_STATUS.BAD_REQUEST Main member must differ from member defined for accrueTo in loyalty %s
1521 HTTP_STATUS.BAD_REQUEST Invalid %s
1522 HTTP_STATUS.BAD_REQUEST Only one Purse can be Primary for a Member
1523 HTTP_STATUS.BAD_REQUEST Achieved On date can not be greater than current date
1524 HTTP_STATUS.BAD_REQUEST Badge cannot have same name in a member
1525 HTTP_STATUS.BAD_REQUEST Member Program is not editable
1526 HTTP_STATUS.BAD_REQUEST Member Referral Code is not editable
1527 HTTP_STATUS.BAD_REQUEST Date of birth cannot be greater than the current date
1528 HTTP_STATUS.BAD_REQUEST Member-Segment relation for the segment %s already exists.
1529 HTTP_STATUS.BAD_REQUEST Invalid enroll location
1530 HTTP_STATUS.NOT_FOUND Named List not found
1531 HTTP_STATUS.BAD_REQUEST Invalid Member Preference.
1532 HTTP_STATUS.BAD_REQUEST Expiration Date cannot be less than opted in date.
1533 HTTP_STATUS.NOT_FOUND Program not found
1535 HTTP_STATUS.BAD_REQUEST Invalid import program structure.
1536 HTTP_STATUS.BAD_REQUEST Invalid organisation _id.
1537 HTTP_STATUS.BAD_REQUEST Creating flow path with _id %s failed. Circular node reference found.
1538 HTTP_STATUS.BAD_REQUEST Invalid organisation
1539 HTTP_STATUS.INTERNAL_SERVER_ERROR Import failed as the Extension Schemas could not be imported.
1540 HTTP_STATUS.INTERNAL_SERVER_ERROR Import failed as the program could not be imported.
1541 HTTP_STATUS.INTERNAL_SERVER_ERROR Import failed as the custom expressions could not be imported.
1542 HTTP_STATUS.INTERNAL_SERVER_ERROR Import failed as the rules could not be imported.
1543 HTTP_STATUS.BAD_REQUEST Import failed as the rule folder could not be imported.
1544 HTTP_STATUS.INTERNAL_SERVER_ERROR Import failed as the program policies could not be imported.
1545 HTTP_STATUS.INTERNAL_SERVER_ERROR Program Import failed: The Segments which are part of the Policies could not be imported.
1546 HTTP_STATUS.INTERNAL_SERVER_ERROR Import failed as the program flow could not be imported.
1547 HTTP_STATUS.BAD_REQUEST Purse Program is not same as Member Program
1548 HTTP_STATUS.BAD_REQUEST Purse with name %s not exist in Purse Policy.
1549 HTTP_STATUS.BAD_REQUEST Only one Purse Policy can be Primary
1550 HTTP_STATUS.BAD_REQUEST Please provide a valid number for the field %s.
1551 HTTP_STATUS.BAD_REQUEST Please provide a valid date for the field %s.
1552 HTTP_STATUS.BAD_REQUEST The model with name %s does not exist.
1553 HTTP_STATUS.BAD_REQUEST Please provide inclusion params.
1554 HTTP_STATUS.BAD_REQUEST Please provide valid inclusion params.
1555 HTTP_STATUS.BAD_REQUEST The field %s is not part of %s model.
1556 HTTP_STATUS.BAD_REQUEST Expiration date cannot be less than the current date.
1557 HTTP_STATUS.BAD_REQUEST Invalid referrer id - %s
1558 HTTP_STATUS.BAD_REQUEST Invalid referred member id - %s
1559 HTTP_STATUS.BAD_REQUEST Expiration Date cannot be less than effective date.
1561 HTTP_STATUS.NOT_FOUND Reward Policy %s not found
1562 HTTP_STATUS.INTERNAL_SERVER_ERROR Can not delete the folder which contains rules.
1563 HTTP_STATUS.BAD_REQUEST Can not delete the folder which contains rule folders.
1564 HTTP_STATUS.BAD_REQUEST Rule Folder name must be unique
1565 HTTP_STATUS.INTERNAL_SERVER_ERROR Error occurred while searching for trash folder.
1566 HTTP_STATUS.INTERNAL_SERVER_ERROR Failed to create trash folder
1567 HTTP_STATUS.BAD_REQUEST Trash folder cannot be moved.
1568 HTTP_STATUS.BAD_REQUEST Invalid Program
1569 HTTP_STATUS.BAD_REQUEST Rule name must be unique
1570 HTTP_STATUS.BAD_REQUEST Rule priority should be a positive integer
1571 HTTP_STATUS.BAD_REQUEST Invalid Rule name %s - rule name should start with a character
1572 HTTP_STATUS.BAD_REQUEST Schema-generator was called with invalid parameter array. If you are in DEBUG or TRACE, below is the array. %s
1573 HTTP_STATUS.BAD_REQUEST Invalid parameter OUTPUT
1574 HTTP_STATUS.NOT_FOUND Segment not found.
1575 HTTP_STATUS.BAD_REQUEST Segment Ids should be unique
1576 HTTP_STATUS.BAD_REQUEST Only one Tier Policy can be Primary
1577 HTTP_STATUS.BAD_REQUEST Tier Program is not same as Member Program
1578 HTTP_STATUS.BAD_REQUEST Tier with name %s does not exist in Tier Policy.
1579 HTTP_STATUS.BAD_REQUEST Tier level upgrade/downgrade failed as the tier policy has a single level
1580 HTTP_STATUS.BAD_REQUEST Preference value cannot be empty or undefined
1581 HTTP_STATUS.NOT_FOUND Organization with name %s not found.
1582 HTTP_STATUS.NOT_FOUND Program with name %s not found.
1583 HTTP_STATUS.NOT_FOUND While publishing program with name %s main flow was not found.
1584 HTTP_STATUS.UNPROCESSABLE_ENTITY Cannot delete all records at once
1585 HTTP_STATUS.BAD_REQUEST Invalid Initial Sync date %s
1586 HTTP_STATUS.BAD_REQUEST Name can not be modified when enrolled members are using this purse.
1587 HTTP_STATUS.BAD_REQUEST Name can not be modified when enrolled members are using this tier.
1588 HTTP_STATUS.BAD_REQUEST Invalid rule
1589 HTTP_STATUS.BAD_REQUEST Internal Enums cannot be updated/deleted
1590 HTTP_STATUS.BAD_REQUEST Invalid Enum display type
1591 HTTP_STATUS.BAD_REQUEST Inserting internal enum via API is not allowed, please contact system administrator
1592 HTTP_STATUS.BAD_REQUEST Primary product quantity should be greater than 0.
1593 HTTP_STATUS.BAD_REQUEST Secondary product quantity should be greater than 0.
1594 HTTP_STATUS.BAD_REQUEST Tertiary product quantity should be greater than 0.
1595 HTTP_STATUS.BAD_REQUEST Primary product discount value should be greater than or equal to 0.
1596 HTTP_STATUS.BAD_REQUEST Primary product discount value should be between 0-100 percent.
1597 HTTP_STATUS.BAD_REQUEST Secondary product discount value should be greater than or equal to 0.
1598 HTTP_STATUS.BAD_REQUEST Secondary product discount value should be between 0-100 percent.
1599 HTTP_STATUS.BAD_REQUEST Tertiary product discount value should be greater than or equal to 0.
1600 HTTP_STATUS.BAD_REQUEST Tertiary product discount value should be between 0-100 percent.
1601 HTTP_STATUS.BAD_REQUEST Discount price should be greater than or equal to 0.
1602 HTTP_STATUS.BAD_REQUEST Discount price should be between 0-100 percent.
1603 HTTP_STATUS.BAD_REQUEST Reward policy availability %s start hours is invalid.
1604 HTTP_STATUS.BAD_REQUEST Reward policy availability %s start minutes is invalid.
1605 HTTP_STATUS.BAD_REQUEST Reward policy availability %s end hours is invalid.
1606 HTTP_STATUS.BAD_REQUEST Reward policy availability %s end minutes is invalid.
1607 HTTP_STATUS.BAD_REQUEST Reward policy should be available on atleast one of the week days.
1608 HTTP_STATUS.BAD_REQUEST Please give a valid name
1609 HTTP_STATUS.BAD_REQUEST Levels cannot have same name in a Tier Policy.
1610 HTTP_STATUS.BAD_REQUEST Tier Policy cannot have more than one default level.
1611 HTTP_STATUS.BAD_REQUEST Reward cannot be awarded as policy is not effective.
1612 HTTP_STATUS.BAD_REQUEST Offer cannot be awarded as policy is not effective.
1613 HTTP_STATUS.BAD_REQUEST Reward policy count limit should be greater than or equal to 0.
1614 HTTP_STATUS.BAD_REQUEST numUses is required.
1616 HTTP_STATUS.BAD_REQUEST The policy awarding limit exceeded.
1617 HTTP_STATUS.BAD_REQUEST Reward policy intended use field is required.
1618 HTTP_STATUS.BAD_REQUEST Reward policy budget should be greater than equal 0.
1619 HTTP_STATUS.BAD_REQUEST Reward policy pricing type field is required.
1620 HTTP_STATUS.BAD_REQUEST Reward policy primary product pricing type field is required.
1621 HTTP_STATUS.BAD_REQUEST Reward policy secondary product pricing type field is required.
1622 HTTP_STATUS.BAD_REQUEST Reward policy tertiary product pricing type field is required.
1623 HTTP_STATUS.BAD_REQUEST Invalid segment ids
1624 HTTP_STATUS.BAD_REQUEST Trash folders can not be updated.
1625 HTTP_STATUS.BAD_REQUEST Trash folders can not be deleted.
1626 HTTP_STATUS.BAD_REQUEST Cannot delete a reward policy when enrolled members are using this reward policy.
1627 HTTP_STATUS.BAD_REQUEST Merge is in progress on the member. Please retry later.
1628 HTTP_STATUS.NOT_FOUND Could not find member with id 'xxxxx'. Please ensure that this member exists in the program
1629 HTTP_STATUS.NOT_FOUND Could not find member with id 'xxxxx'. Please ensure that this member exists in the program
1630 HTTP_STATUS.BAD_REQUEST Can not merge the member with same id '%xxxxx'. Please ensure that the members are different.
1631 HTTP_STATUS.BAD_REQUEST Cannot merge members enrolled to different programs
1632 HTTP_STATUS.BAD_REQUEST Exhausted retries to check for member.
1633 HTTP_STATUS.BAD_REQUEST Member 'xxxx' update failed, since member was updated elsewhere.
1634 HTTP_STATUS.BAD_REQUEST Purse Policy colors start cannot be greater than end.
1635 HTTP_STATUS.BAD_REQUEST Rule Folder can not be moved to its child folder.
1636 HTTP_STATUS.NOT_FOUND Tier Policy with id 'xxxx' not found.
1637 HTTP_STATUS.BAD_REQUEST Rule availability %s start hours is invalid.
1638 HTTP_STATUS.BAD_REQUEST Rule availability %s start minutes is invalid.
1639 HTTP_STATUS.BAD_REQUEST Rule policy availability %s end hours is invalid.
1640 HTTP_STATUS.BAD_REQUEST Rule availability %s end minutes is invalid.
1641 HTTP_STATUS.BAD_REQUEST Rule should be available on atleast one of the week days.
1642 HTTP_STATUS.BAD_REQUEST Invalid Enum value type
1643 HTTP_STATUS.BAD_REQUEST Primary product maximum discount should be greater than or equal to 0.
1644 HTTP_STATUS.BAD_REQUEST Secondary product maximum discount should be greater than or equal to 0.
1645 HTTP_STATUS.BAD_REQUEST Tertiary product maximum discount should be greater than or equal to 0.
1646 HTTP_STATUS.BAD_REQUEST Maximum discount should be greater than or equal to 0.
1647 HTTP_STATUS.BAD_REQUEST The loyalty id %s of type %s being added is not valid.
1648 HTTP_STATUS.BAD_REQUEST The loyalty id %s is already used.
1649 HTTP_STATUS.BAD_REQUEST Main member's program differs from the member defined for accrueTo in loyalty.
1650 HTTP_STATUS.BAD_REQUEST Atleast one loyalty id should be primary from group %s.
1651 HTTP_STATUS.BAD_REQUEST Loyalty Id name cannot be changed.
1652 HTTP_STATUS.BAD_REQUEST Auto enroll is already enabled on a different program.
1653 HTTP_STATUS.BAD_REQUEST The loyalty Id %s passed to get profile is not valid.
1654 HTTP_STATUS.BAD_REQUEST Loyalty Id %s is available for usage.
1655 HTTP_STATUS.BAD_REQUEST The multinational support is not enabled on the program passed.
1656 HTTP_STATUS.NOT_FOUND The member %s is not part of the account.
1657 HTTP_STATUS.BAD_REQUEST Invalid sequence name '%s'
1658 HTTP_STATUS.BAD_REQUEST Please provide valid member details to create a member
1659 HTTP_STATUS.BAD_REQUEST Member with details passed already exists in active state
1660 HTTP_STATUS.BAD_REQUEST '%s' namedList and isIncluded are required.
1661 HTTP_STATUS.BAD_REQUEST Preferences name should be unique, Please provide a different name for the preference.
1662 HTTP_STATUS.BAD_REQUEST Invalid Member ID \"%s\" provided while inserting/updating preferences.
1663 HTTP_STATUS.BAD_REQUEST Expiration Date cannot be less than effective date.
1664 HTTP_STATUS.BAD_REQUEST Program start of the week should be one of these values '%s'.
1665 HTTP_STATUS.BAD_REQUEST Product 'sku' is unique with in the effective and expiration dates.
1666 HTTP_STATUS.BAD_REQUEST Primary expected quantity should be whole number greater than 0.
1667 HTTP_STATUS.BAD_REQUEST Secondary expected quantity should be whole number greater than 0.
1668 HTTP_STATUS.BAD_REQUEST Tertiary expected quantity should be whole number greater than 0.
1669 HTTP_STATUS.BAD_REQUEST Partner not found.
1670 HTTP_STATUS.BAD_REQUEST Invalid Activity Based Expiration Filter Query.
1671 HTTP_STATUS.BAD_REQUEST Invalid member search query.
1672 HTTP_STATUS.BAD_REQUEST Member with id '%s' not exists in program with id '%s'.
1673 HTTP_STATUS.BAD_REQUEST Member details are not provided.
1674 HTTP_STATUS.BAD_REQUEST Activity details are not provided.
1675 HTTP_STATUS.BAD_REQUEST Member ID provided in member details is different from member ID in request member feild.
1676 HTTP_STATUS.BAD_REQUEST Cannot Accrue to a member which does not exist.
1677 HTTP_STATUS.BAD_REQUEST The policy budget limit exceeded.
1678 HTTP_STATUS.BAD_REQUEST Provided parent folder does not contain given child folder.
1679 HTTP_STATUS.BAD_REQUEST Loyalty Id with status 'Active' can be set as Primary.
1680 HTTP_STATUS.BAD_REQUEST %s cannot be added for member %s with status %s.
1681 HTTP_STATUS.BAD_REQUEST %s cannot be previewed as policy does not support.
1682 HTTP_STATUS.BAD_REQUEST Eligibility Query is Not Valid Object.
1683 HTTP_STATUS.BAD_REQUEST Email is invalid (%s).
1684 HTTP_STATUS.BAD_REQUEST %s does not belong to member program.
1685 HTTP_STATUS.BAD_REQUEST Expiration Date cannot be less than effective date.
1686 HTTP_STATUS.BAD_REQUEST Invalid phone number (%s).
1687 HTTP_STATUS.BAD_REQUEST Invalid zip code (%s).
1688 HTTP_STATUS.BAD_REQUEST Test data member segments does not contain rule mandatory segment.
1689 HTTP_STATUS.BAD_REQUEST Test data member status does not match with rule member status.
1690 HTTP_STATUS.BAD_REQUEST Test data activity lineitems does not contain rule %s.
1691 HTTP_STATUS.BAD_REQUEST Test data activity %s must contain required quantity.
1692 HTTP_STATUS.BAD_REQUEST Test data activityDate must be greater than rule effectiveTo date
1693 HTTP_STATUS.BAD_REQUEST Test data activity location does not match with rule location.
1694 HTTP_STATUS.BAD_REQUEST Test data member segment does not match with rule segment.
1797 HTTP_STATUS.NOT_FOUND Goal policy with name %s not found in streak policy %s.
1798 HTTP_STATUS.BAD_REQUEST You can not remove Named List %s because it is linked to the %s.
1800 HTTP_STATUS.BAD_REQUEST End date cannot be less than or equals to start date.
1801 HTTP_STATUS.BAD_REQUEST Atleast one level is required while creating tier policy.
1802 HTTP_STATUS.BAD_REQUEST Missing required query parameter: memberId
1803 HTTP_STATUS.BAD_REQUEST Expiration Date cannot be less than or equal to effective date.
1804 HTTP_STATUS.BAD_REQUEST Aggregate Policy name must not be same as existing Purse Policy.
1805 HTTP_STATUS.BAD_REQUEST Policy not found
1806 HTTP_STATUS.BAD_REQUEST AggregateType is required. Please set at least one AggregateType
1807 HTTP_STATUS.BAD_REQUEST Invalid action parameters in %s action
1808 HTTP_STATUS.BAD_REQUEST Reward policy cost should be an integer and greater than or equal to 0.
1809 HTTP_STATUS.BAD_REQUEST Aggregates cannot be enabled on grouped purse.
1810 HTTP_STATUS.BAD_REQUEST The model '%s' is not permitted for selective export.
1811 HTTP_STATUS.BAD_REQUEST The model '%s' can only be exported entirely. Selective export is not allowed.
1812 HTTP_STATUS.BAD_REQUEST The model '%s' requires specific data to be exported when 'all' is set to 'no'. Please include data in the 'data' array.
1813 HTTP_STATUS.BAD_REQUEST The '%s' with the %s(s) '%s' was not found in the db
1814 HTTP_STATUS.BAD_REQUEST The '%s' with the '%s' '%s' was not found in the db while resolving the model '%s' with name '%s'.
1815 HTTP_STATUS.BAD_REQUEST Trash folders with names '%s' are not found in DB
1816 HTTP_STATUS.BAD_REQUEST Unrecognized model '%s' for selective export. Verify the model name and try again.
1817 HTTP_STATUS.BAD_REQUEST Invalid Streak policy ID '%s'.
1818 HTTP_STATUS.BAD_REQUEST Streak policy with id %s not found.
1819 HTTP_STATUS.BAD_REQUEST The cloned streak policy name cannot match the original streak policy name. Please choose a different name.
1820 HTTP_STATUS.BAD_REQUEST Cloning is not allowed because there are multiple rule folders associated with the same streak policy ID.
1821 HTTP_STATUS.FORBIDDEN Schema version mismatch: expected \"%s\", actual \"%s\"
1822 HTTP_STATUS.BAD_REQUEST Rule Folder \"%s\" is not included in the import scope.
1823 HTTP_STATUS.BAD_REQUEST The activity '%s' cannot be cancelled as the redemption process is still ongoing.

Activity Errors (2000-3999)

Rule Action Errors (2000-2999)

Code HTTP status code Error message
2000 HTTP_STATUS.NOT_FOUND Activity item not found
2001 HTTP_STATUS.BAD_REQUEST Activity %s with status %s can not be processed. Only activities with "Processed" status can be canceled
2002 HTTP_STATUS.NOT_FOUND Member with id %s not found while canceling activity %s.
2003 HTTP_STATUS.INTERNAL_SERVER_ERROR Activity failed even after retries.
2004 HTTP_STATUS.NOT_FOUND No product found in lineItem
2006 HTTP_STATUS.BAD_REQUEST Invalid request - Please provide UPC for Giving reward
2007 HTTP_STATUS.NOT_FOUND
2010 HTTP_STATUS.UNPROCESSABLE_ENTITY Custom Action needs to be a function.
2011 HTTP_STATUS.NOT_FOUND Offer with code %s not found.
2012 HTTP_STATUS.BAD_REQUEST Failed to use offer %s. It will come into effective on %s.
2013 HTTP_STATUS.BAD_REQUEST Failed to use offer %s. It has alreay expired on %s.
2014 HTTP_STATUS.BAD_REQUEST Failed to use offer %s. No more uses left.
2015 HTTP_STATUS.BAD_REQUEST Offer not found
2016 HTTP_STATUS.BAD_REQUEST Invalid offer type %s
2017 HTTP_STATUS.NOT_FOUND Products with %s %s were not found.
2018 HTTP_STATUS.NOT_FOUND Can not find purse in member with _id %s.
2019 HTTP_STATUS.BAD_REQUEST Failed to redeem %d points from purse %s because it has only %d points available.
2020 HTTP_STATUS.INTERNAL_SERVER_ERROR Failed to create transaction to transfer between purses %s and %s .
2021 HTTP_STATUS.INTERNAL_SERVER_ERROR Not enough redemption to unpack packaged accrual %s in purse %s.
2023 HTTP_STATUS.BAD_REQUEST Reward Policy has already expired on %s.
2024 HTTP_STATUS.NOT_FOUND Reward related item not found
2025 HTTP_STATUS.BAD_REQUEST Failed to use offer %s. It will come into effective on %s.
2026 HTTP_STATUS.BAD_REQUEST Failed to use reward %s. It has alreay expired on %s.
2027 HTTP_STATUS.BAD_REQUEST Failed to use reward %s. No more uses left.
2028 HTTP_STATUS.BAD_REQUEST Invalid Request
2030 HTTP_STATUS.NOT_FOUND Tier is not found
2031 HTTP_STATUS.BAD_REQUEST Tier level upgrade failed as the current tier level is top level
2032 HTTP_STATUS.BAD_REQUEST Tier level downgrade failed as the current tier level is the lowest level
2033 HTTP_STATUS.NOT_FOUND Original activity with external Transaction Id %s not found for member %s.
2034 HTTP_STATUS.NOT_FOUND Original activity with _id %s not found for member %s
2035 HTTP_STATUS.NOT_FOUND Member id %s was not loaded into the flow. Please ensure you have Lookup Member action in your rules.
2036 HTTP_STATUS.NOT_FOUND Could not find member with id %s. Please ensure that this member exists in the program and has Active status.
2037 HTTP_STATUS.NOT_FOUND Both loyaltyID and memberID are missing. You have to specify either loyaltyID or memberID for an Activity.
2038 HTTP_STATUS.NOT_FOUND Could not find member with loyaltyID %s
2039 HTTP_STATUS.NOT_FOUND Could not find program where member id %s is enrolled.
2040 HTTP_STATUS.NOT_FOUND Can not find purse in member with _id %s.
2041 HTTP_STATUS.NOT_FOUND Reward with code %s not found.
2042 HTTP_STATUS.BAD_REQUEST Reward usesLeftfield has invalid value
2043 HTTP_STATUS.BAD_REQUEST Reward effectiveDate should be less than expiresOn.
2044 HTTP_STATUS.NOT_FOUND Usable rewards with types %s were not found.
2045 HTTP_STATUS.BAD_REQUEST Could not find tier in member with _id %s.
2046 HTTP_STATUS.BAD_REQUEST Tier policy with name %s and program %s was not found
2047 HTTP_STATUS.BAD_REQUEST Tier policy with name %s and program %s does not have level with value %s
2048 HTTP_STATUS.BAD_REQUEST Member '%s' is being merged. Please retry later.
2049 HTTP_STATUS.BAD_REQUEST The policy awarding limit exceeded.
2050 HTTP_STATUS.BAD_REQUEST The %s format is invalid.
2051 HTTP_STATUS.BAD_REQUEST The loyalty id %s passed as part of activity is not valid.
2052 HTTP_STATUS.BAD_REQUEST The points to be added to purse %s are invalid.
2053 HTTP_STATUS.BAD_REQUEST The points to be redeemed from purse %s are invalid.
2054 HTTP_STATUS.NOT_FOUND No program has autoenroll and the loyalty id '%s' does not exist.
2055 HTTP_STATUS.BAD_REQUEST The offer policies corresponding to best offers do not exist.
2056 HTTP_STATUS.BAD_REQUEST The offer policies corresponding to best offers lookup values %s do not exist.
2057 HTTP_STATUS.BAD_REQUEST The lookup field is not configured as part of the \"Lookup best offer policies\" action.
2058 HTTP_STATUS.BAD_REQUEST Can't return multiple products with same SKU.
2059 HTTP_STATUS.BAD_REQUEST Activity target program member not found.
2060 HTTP_STATUS.BAD_REQUEST Used rewards cannot be deleted.
2061 HTTP_STATUS.BAD_REQUEST Used offers cannot be deleted.
2062 HTTP_STATUS.BAD_REQUEST The policy budget limit exceeded.
2063 HTTP_STATUS.BAD_REQUEST Duplicate activity request with externalTxnId %s
2064 HTTP_STATUS.BAD_REQUEST Points cannot be added as policy %s is not effective.
2065 HTTP_STATUS.BAD_REQUEST Purse Policy %s has already expired on %s.
2067 HTTP_STATUS.BAD_REQUEST Policy lookup Query is not configured for fetching reward policies`
2068 HTTP_STATUS.NOT_FOUND Reward with code \"%s\" not found.
2069 HTTP_STATUS.NOT_FOUND Reward with code \"%s\" not found.
2070 HTTP_STATUS.BAD_REQUEST Expiration Failed for member %s with purse %s, accrual %s.
2072 HTTP_STATUS.BAD_REQUEST Rule count limit should be an integer and greater than or equal to 0.
2073 HTTP_STATUS.BAD_REQUEST Please provide lookup field and/or lookup value.
2074 HTTP_STATUS.BAD_REQUEST Please provide valid locked till date.
2075 HTTP_STATUS.BAD_REQUEST Locked till date cannot be updated since reward %s with code %s is already used.
2076 HTTP_STATUS.NOT_FOUND Locked till date cannot be updated since reward with field %s and value %s does not exist for the member.
2077 HTTP_STATUS.BAD_REQUEST Locked till date cannot be updated since reward %s with code %s is cancelled.
2078 HTTP_STATUS.BAD_REQUEST Locked till date cannot be updated since reward %s with code %s is already expired.
2080 HTTP_STATUS.BAD_REQUEST The points to be locked from purse %s are invalid.
2081 HTTP_STATUS.BAD_REQUEST Please provide lookup field and/or lookup value in unlock points action.
2083 HTTP_STATUS.BAD_REQUEST Cannot cancel reward which is in locked state.
2084 HTTP_STATUS.BAD_REQUEST Escrow Failed for member %s with purse %s, accrual %s.
2085 HTTP_STATUS.BAD_REQUEST As the linked members are from different programs, we cannot perform this operation.
2086 HTTP_STATUS.FORBIDDEN The job to generate the promo codes is already running.
2087 HTTP_STATUS.NOT_FOUND Promo campaign with code %s not found.
2088 HTTP_STATUS.BAD_REQUEST Promo campaign with code %s expired.
2089 HTTP_STATUS.BAD_REQUEST Promo code %s to be redeemed not found.
2090 HTTP_STATUS.BAD_REQUEST Promo campaign with code %s not started.
2091 HTTP_STATUS.BAD_REQUEST Linked member with id %s not found to add points.
2092 HTTP_STATUS.BAD_REQUEST Please use valid enum status type.
2093 HTTP_STATUS.BAD_REQUEST Please use valid enum parent type.
2094 HTTP_STATUS.BAD_REQUEST Please use valid enum parent value.
2095 HTTP_STATUS.BAD_REQUEST Period end date must be less than period close, expiration date and greater than effective date.
2096 HTTP_STATUS.BAD_REQUEST Period close date must be less than expiration date, and greater than effective date.
2097 HTTP_STATUS.BAD_REQUEST Period start date must be less than period end, close, expiration date, and greater than or equal to the effective date.
2098 HTTP_STATUS.BAD_REQUEST Period dates should not overlap with existing purse policy - %s (%s - %s) .
2099 HTTP_STATUS.BAD_REQUEST Period dates should be contiguous. Period should start on %s.
2100 HTTP_STATUS.BAD_REQUEST Period start date is required for a group purse.
2101 HTTP_STATUS.BAD_REQUEST Period end date is required for a group purse.
2102 HTTP_STATUS.BAD_REQUEST Period close date is required for a group purse.
2103 HTTP_STATUS.BAD_REQUEST Cannot delete %s as period dates should be contiguous.
2104 HTTP_STATUS.BAD_REQUEST The period time zone for all purses in a group must be the same. Please select %s as the period time zone.
2105 HTTP_STATUS.BAD_REQUEST Cannot add child enum with type \"%s\" and value \"%s\" because the specified parent enum with type \"%s\" and value \"%s\" does not exist.
2106 HTTP_STATUS.BAD_REQUEST Aggregate cannot be updated as policy %s is not effective.
2107 HTTP_STATUS.BAD_REQUEST Aggregate Policy %s has already expired on %s.
2108 HTTP_STATUS.BAD_REQUEST Please provide lookup field and/or lookup value
2109 HTTP_STATUS.BAD_REQUEST Please provide valid locked till date
2110 HTTP_STATUS.BAD_REQUEST Locked till date cannot be updated since offer %s with code %s is already used.
2111 HTTP_STATUS.NOT_FOUND Locked till date cannot be updated since offer with field %s and value %s does not exist for the member.
2112 HTTP_STATUS.BAD_REQUEST Locked till date cannot be updated since offer %s with code %s is cancelled.
2113 HTTP_STATUS.BAD_REQUEST Locked till date cannot be updated since offer %s with code %s is already expired.
2114 HTTP_STATUS.BAD_REQUEST Global offer \"%s\" is not lockable/unlockable.
2115 HTTP_STATUS.BAD_REQUEST Please provide lock transaction id
2116 HTTP_STATUS.BAD_REQUEST Please provide a valid lock transaction id
2117 HTTP_STATUS.BAD_REQUEST Locked till date cannot be updated since reward \"%s\" with code \"%s\" will come into effective on %s.
2118 HTTP_STATUS.BAD_REQUEST Locked till date cannot be updated since offer \"%s\" with code \"%s\" will come into effective on %s.
2119 HTTP_STATUS.BAD_REQUEST Please provide a valid lock transaction id
2120 HTTP_STATUS.BAD_REQUEST Multi use offer \"%s\" is not lockable/unlockable
2133 HTTP_STATUS.BAD_REQUEST Linked member with id %s not found to redeem points.

Populate Action Errors (3000-3299)

Code HTTP status code Error message
3000 HTTP_STATUS.BAD_REQUEST The offer %s count not be processed for best offer lookup for member %s while processing activity %s, please check the offer rule configuration.
3001 HTTP_STATUS.NOT_FOUND Offer policy does not exist

Generic Engine Errors (3300-3499)

Code HTTP status code Error message
3300 HTTP_STATUS.BAD_REQUEST Invalid structure in flow.
3301 HTTP_STATUS.BAD_REQUEST Flow with name %s already exists.
3302 HTTP_STATUS.BAD_REQUEST Can not find rule with name %s

Custom Errors (3500-3999)

Error codes that can be thrown by the user while configuring the program rules, actions.

Generic Errors (4000-4999)

Code HTTP status code Error message
4001 HTTP_STATUS.BAD_REQUEST Invalid API parameters.
4002 HTTP_STATUS.NOT_FOUND Resource not found
4003 HTTP_STATUS.NOT_FOUND Member not found
4004 HTTP_STATUS.BAD_REQUEST Invalid organisation _id.
4005 HTTP_STATUS.BAD_REQUEST Invalid member ID.
4006 HTTP_STATUS.BAD_REQUEST Invalid program _id.
4007 HTTP_STATUS.BAD_REQUEST Bulk update on model '%s' not allowed
4008 HTTP_STATUS.BAD_REQUEST Invalid Ids '%s'
4009 HTTP_STATUS.BAD_REQUEST Fields '%s' can not be updated via multi-edit
4010 HTTP_STATUS.INTERNAL_SERVER_ERROR Invalid validator, please contact system administrator
4011 HTTP_STATUS.BAD_REQUEST The %s format is invalid.
4012 HTTP_STATUS.BAD_REQUEST Fields \"%s\" do not exist in model \"%s\"
4013 HTTP_STATUS.BAD_REQUEST Bulk delete on model '%s' not allowed
4014 HTTP_STATUS.BAD_REQUEST Invalid entity type passed to refresh cache.
4015 HTTP_STATUS.BAD_REQUEST Invalid increment definition '%s'
4016 HTTP_STATUS.INTERNAL_SERVER_ERROR Auto increment failed
4017 HTTP_STATUS.BAD_REQUEST Invalid Lookup definition '%s'
4018 HTTP_STATUS.INTERNAL_SERVER_ERROR Lookup Failed
4019 HTTP_STATUS.BAD_REQUEST Lookup not found '%s'
4020 HTTP_STATUS.BAD_REQUEST The namedList '%s' id is invalid.
4029 HTTP_STATUS.BAD_REQUEST '%s' should be a positive integer.
4030 HTTP_STATUS.BAD_REQUEST '%s' should be an integer.
4031 HTTP_STATUS.BAD_REQUEST %s name is required.
4032 HTTP_STATUS.BAD_REQUEST Locked till is not allowed to be less than activity date for action \"%s\"
4033 HTTP_STATUS.BAD_REQUEST Expected a %s for field '%s' in '%s' action during '%s' rule execution.
4034 HTTP_STATUS.BAD_REQUEST Expected a %s for field '%s'.
4035 HTTP_STATUS.BAD_REQUEST Missing required field '%s' in the request body.
4036 HTTP_STATUS.BAD_REQUEST Invalid value '%s' for field '%s' in the request body.
4037 HTTP_STATUS.BAD_REQUEST The date '%s' is not within the allowed range of 1900 to 3999 in '%s'.
4038 HTTP_STATUS.BAD_REQUEST Missing required field \"%s\" in Parameters.

Unknown Error (9999)

Code HTTP status code Error message
9999 HTTP_STATUS.INTERNAL_SERVER_ERROR Unable to process: %s