CRUX Docs logo

Getting Started with CRUX

Welcome to the CRUX API.

This API document is designed for those interested in developing an application with the CRUXconnect platform.

We encourage new users to take advantage of the Sandbox access. Familiarize yourself with the various methods available and how to work with the responses. This allows you and your company to send plenty of API calls in a “sandboxed” environment outside of our production environment. Even after implementing integration in the Production environment, you may decide to revisit the methods available to optimize your code and application of our API methods. Although we’re optimistic that you’ll always do things the right way the first time, we’re aware that there are occasions where testing produces unintended results. For this reason, we encourage that you use the sandbox to keep potentially dangerous testing “sandboxed.”

Once application processes have been determined and optimized, we encourage you to begin using the Production api access. This will allow you to work with current data and potentially begin processing orders.

Below, you’ll find thorough definitions of each method including JSON requests we’re expecting and sample JSON responses we’ll provide. There are also examples of request scripts with popular coding languages: BASH, HTTPie, Python, and Node.js.

This API is still under development and will evolve.

https://api-sandbox.cruxconnect.com
https://api.cruxconnect.com

API Versions

The most current version of the CruxConnect platform is named after the Timpanogos peak in the Wastach mountain range (and visible from our offices).

The endpoints on this page document the Timpanogos release and start with /timp/

If you require access to the previous release, you an find it documented at: V1 API.

Authentication

You need to be authenticated for all API requests. In order to get authenticated, you must first retreive your API token. This can be done by sending a retreive auth token request. The authentication token you receive is to be provided as a header in subsequent calls.

Add the auth_token as to calls as a header such as ‘Authorization: Token <auth_token>’

You will experience errors if you do not include the authentication token. You may choose to also include your username and password, although they are not required in subsequent calls.

curl "https://api-sandbox.cruxconnect.com/path/to/api/endpoint/" \
  -H 'Authorization: Token YOUR_AUTH_TOKEN' \
  -H 'Content-Type: application/json; charset=utf-8' \
  -d $'{}'
http --json GET 'https://api-sandbox.cruxconnect.com/path/to/api/endpoint/' \
  'Authorization':'Token YOUR_AUTH_TOKEN' \
  'Content-Type':'application/json; charset=utf-8'
  # Install the Python Requests library:
  # `pip install requests`

  import requests
  import json


  def send_request():
      # Get All Permissions
      # GET https://api-sandbox.cruxconnect.com/path/to/api/endpoint/

      try:
          response = requests.get(
              url="https://api-sandbox.cruxconnect.com/path/to/api/endpoint/",
              headers={
                  "Authorization": "Token YOUR_AUTH_TOKEN",
                  "Content-Type": "application/json; charset=utf-8",
              },
              data=json.dumps()
          )
          print('Response HTTP Status Code: {status_code}'.format(
              status_code=response.status_code))
          print('Response HTTP Response Body: {content}'.format(
              content=response.content))
      except requests.exceptions.RequestException:
          print('HTTP Request failed')
  // request Get All Permissions
  (function(callback) {
      'use strict';

      const httpTransport = require('https');
      const responseEncoding = 'utf8';
      const httpOptions = {
          hostname: 'api-sandbox.cruxconnect.com',
          port: '443',
          path: '/path/to/api/endpoint/',
          method: 'GET',
          headers: {"Authorization":"Token YOUR_AUTH_TOKEN","Content-Type":"application/json; charset=utf-8"}
      };
      httpOptions.headers['User-Agent'] = 'node ' + process.version;


      const request = httpTransport.request(httpOptions, (res) => {
          let responseBufs = [];
          let responseStr = '';

          res.on('data', (chunk) => {
              if (Buffer.isBuffer(chunk)) {
                  responseBufs.push(chunk);
              }
              else {
                  responseStr = responseStr + chunk;
              }
          }).on('end', () => {
              responseStr = responseBufs.length > 0 ?
                  Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

              callback(null, res.statusCode, res.headers, responseStr);
          });

      })
      .setTimeout(0)
      .on('error', (error) => {
          callback(error);
      });
      request.write("{}")
      request.end();


  })((error, statusCode, headers, body) => {
      console.log('ERROR:', error);
      console.log('STATUS:', statusCode);
      console.log('HEADERS:', JSON.stringify(headers));
      console.log('BODY:', body);
  });

Permissions

User access to areas of the site are based on specific permmissions being authorized. Access also depends on if the user is from a Retailer or Supplier organization.

Retailer and Supplier Permissions

  • view_org_users
  • edit_org_users
  • view_org_subscription_plan
  • edit_org_subscription_plan
  • view_payment_info
  • edit_payment_info
  • view_billing_statement
  • view_notifications_settings
  • edit_email_notifications_preferences
  • cancel_order
  • view_order
  • export_order
  • view_items

Retailer Only Permssions

  • create_order
  • view_inventory_lists
  • edit_inventory_lists

Supplier Only Permissions

  • edit_items
  • add_order_tracking
  • allocate_order
  • view_supplier_catalogs
  • edit_supplier_catalogs

Response Codes

Expected response that you might see returned. If there is an additional response code that might occur, we’ll identify it in the associated document.

Code Name Meaning
200 OK The API call was received and response is provided
201 Created The API call was received and something was created
204 No Content The API call was received and we are performing the requested action
400 Bad Request Something required for the request is missing
401 Unauthorized The authentication credentials (username/password or token) are incorrect.
403 Permission Denied The user does not have permission to perform the requested action
404 Not Found The call is not sent to the correct URL
405 Method Not Allowed The HTTP verb is not correct for the intended call
409 Critical The requester is not of the correct type (e.g. retailer)
415 Unsupported Media Type The Content-Type header was not application/json
422 Unprocessable Entity The action can’t be performed on the identifier provided

Paw

Paw is a macOS HTTP client that lets you test and describe the APIs you build or consume. Crux’s Engineering team used it extensively while designing and testing our APIs. We created a paw project that you may download and use, if you also use paw.

Paw Project Download

Flat File Formats (CSV/XLSX)

This section will provide you with a file guide on our .csv and .xlsx file formats. As well as instructions to upload and retrieve files through a FTP. You will have access to file samples, definitions, fields we require and prefer with the parameters around each of those.

Flat File Formats (CSV/XLSX)

post /timp/organizations/user-login/

Login to receive an authentication token

Provide a username and password to receive your authentication token and various account-related data. All other calls require an authentication token.

Request Parameters:

Parameters
username
The username you provided for your Retailer or Supplier account
password
The password you provided for your Retailer or Supplier account

Response Parameters:

Parameters
auth_token
(string) Authentication Token to be used for subsequent API calls (note: authentication tokens expire after two hours of being issued)
org_uuid
(string) Organization Universal Unique Identifier for the organization
user_uuid
(string) User Universal Unique Identifier for the particular user making the API call
retailer_uuid
(string) Universal Unique Identifier for the Retailer - Only provided if logging into a Retailer Account
supplier_uuid
(string) Universal Unique Identifier for the Supplier - Only provided if logging into a Supplier Account
org_type
(string) Defines the type of organization based on credentials
permission_assignments
(object) Permissions assigned status and Organization User ID

Permissions Object

Parameters
permissions
(object) Contains two parameters assigned – a boolean value that that shows if the permission is assigned – and permission object
Permission Object
Parameters
uuid
(string) Permission UUID
name
(string) Permission Name

(For available permissions see the Permissions Section.)

Parameters
display_name
(string) Permission Display Name
description
(string) Description of the Permission
visibility
(string) Visibility based on user type. This includes ‘RETAILER’, ‘SUPPLIER’, or ‘BOTH’
grouping
(string) Permission grouping

Organization User Object

Parameters
uuid
(string) User’s Organization UUID

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/organizations/user-login/" \
     -H 'Content-Type: application/json; charset=utf-8' \
     -u ':' \
     -d $'{
  "username": "nick@dobaretailer.com",
  "password": "thanos_rocks"
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/organizations/user-login/' \
    'Authorization':'Basic Og==' \
    'Content-Type':'application/json; charset=utf-8' \
    username="nick@dobaretailer.com" \
    password="thanos_rocks"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Retrieve Auth Token
    # POST https://api-sandbox.cruxconnect.com/timp/organizations/user-login/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/organizations/user-login/",
            headers={
                "Authorization": "Basic Og==",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    username="nick@dobaretailer.com" \
    password="thanos_rocks")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Retrieve Auth Token
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/organizations/user-login/',
        method: 'POST',
        headers: {"Authorization":"Basic Og==","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;

    // Using Basic Auth {"username":"","password":""}

    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"username\":\"nick@dobaretailer.com\",\"password\":\"thanos_rocks\"}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "username": "nick@dobaretailer.com",
  "password": "thanos_rocks"
}
{
  "auth_token": "5d6a1ef8c07df5ccf818aea56a1c23fce89212b0",
  "org_uuid": "f5d2aea7-dcd0-4bb4-bedd-c642ce6fc7a0",
  "user_uuid": "c3fb688d-4aca-42d4-9db1-cc268c465892",
  "retailer_uuid": "cda6b5c7-addf-43d7-bdb3-2fe6a0420c42",
  "supplier_uuid": "",
  "org_type": "RETAILER",
  "permission_assignments": {
    "permissions": [
      {
        "assigned": true,
        "permission": {
          "uuid": "68b1647d-b6a7-48b1-9ec2-bf2f1003b6cc",
          "name": "view_org_users",
          "display_name": "View Users",
          "description": "Ability to see the users in an organization",
          "visibility": "BOTH",
          "grouping": "ORGUSERS"
        }
      },
    ],
    "org_user": {
      "uuid": "c3fb688d-4aca-42d4-9db1-cc268c465892"
    }
  }
}

post /timp/organizations/reset-password/

Reset the Password on your account

Should you need to reset your password, you may initiate the process via this call. This is to be used in conjunction with the “Validate Password Reset” and “Create New Password” API calls. he reset token expires two hours after issuance.

Request Parameters:

Parameters
email
(string) The email you provided for your account

Response Parameters:

Parameters
reset_token
(string) Reset Token - to be used specifically with “Complete Password Reset” API call

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/organizations/reset-password/" \
     -H 'Authorization: ' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "email": "nick@dobaretailer.com"
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/organizations/reset-password/' \
    'Authorization':'' \
    'Content-Type':'application/json; charset=utf-8' \
    email="nick@dobaretailer.com"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Reset Password
    # POST https://api-sandbox.cruxconnect.com/timp/organizations/reset-password/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/organizations/reset-password/",
            headers={
                "Authorization": "",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    email="nick@dobaretailer.com")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Reset Password
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/organizations/reset-password/',
        method: 'POST',
        headers: {"Authorization":"","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"email\":\"some@one.com\"}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "email": "user@someretailer.com"
}

get /timp/organizations/all_permissions/

Get all available Permissions

Get all of the available Permissions based on the type of account requested on. These change based on Retailer or Supplier accounts.

To view orgainzation users, you must be assigned the ‘view_org_users’ permission.

(For available permissions see the Permissions Section.)

Response Parameters:

Permission Object:

Parameters
uuid
(string) Universal Unique Identifier for the Permission
name
(string) Name of the Permission; written in shortened snake case
display_name
(string) Display Name of the Permission; a more user-friendly name of the Permission
description
(string) Description of the Permission
visibility
(string) Visibility of permission to SUPPLIER, RETAILER, or BOTH
grouping
(string) Grouping the permission belongs to

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/organizations/all_permissions/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/organizations/all_permissions/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get All Permissions
    # GET https://api-sandbox.cruxconnect.com/timp/organizations/all_permissions/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/organizations/all_permissions/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get All Permissions
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/organizations/all_permissions/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

[
  {
    "uuid": "68b1647d-b6a7-48b1-9ec2-bf2f1003b6cc",
    "name": "view_org_users",
    "display_name": "View Users",
    "description": "Ability to see the users in an organization",
    "visibility": "BOTH",
    "grouping": "ORGUSERS"
  },
]

get /timp/organizations/users/all/

Get all users, with user details, specific to your account

Get all the details about the users on your account. This displays their name, email, phone number, permissions (roles), and more.

To view orgainzation users, you must be assigned the ‘view_org_users’ permission.

Response Parameters:

User:

Parameters
uuid
(string) Universal Unique Identifier for the User
person
(object) Person is an object containing a uuid, first name, last name, email, and phone number
permission_assignments
(object) Permission Assignments is an object containing a list of permissions and an organization User
status
(string) User’s account status which can be “CONFIRMATION WAITING”, “ACTIVE”, or “DEACTIVATED”

Person Object:

Parameters
uuid
(string) Universal Unique Identifier for the Person
first_name
(string) First Name of the Person ready for display. Character case is specified, eg, “La’Quanda” rather than “LA’QUANDA MCCANN”. Maximum length is 200 characters. The name is encoded in UTF-8 and is not restricted to traditional English characters. Examples of valid names: “Daffy”, “Sūn Démíng (孫德明)”, “Kawin Thamsatchanan (กวินทร์ ธรรมสัจจานันท์)”, “René Just Haüy”, “Sofía”, “Håkon”.
last_name
(string) Last Name of the Person ready for display. Character case is specified, eg, “McCann” rather than “MCCANN”. Maximum length is 200 characters. The name is encoded in UTF-8 and is not restricted to traditional English characters. Examples of valid names: “Duck”, “Sūn Démíng (孫德明)”, “Kawin Thamsatchanan (กวินทร์ ธรรมสัจจานันท์)”, “Haüy”, “Rodríguez de la Peña y de Ybarra”, “Jørgensen”.
email
(string) Email address of the Person
phone
(string) Phone number of the Person

Permission Assignments Object:

Parameters
permissions
(list) Permissions are a list of available individual permissions with details as well as if the permission has been assigned to this User. (For available permissions see the Permissions Section.)
org_user
(object) Organization User holds the uuid for the User
status
(string) User’s account status which can be “CONFIRMATION WAITING”, “ACTIVE”, or “DEACTIVATED”

Permissions Object List:

Parameters
assigned
(boolean) Assigned indicates whether this particular Permission has been Assigned to this User
permission
(object) Permission is an object detailing a specific Permission with a uuid, name, display name, and description

Permission Object:

Parameters
uuid
(string) Universal Unique Identifier for the Permission
name
(string) Name of the Permission; written in shortened snake case
display_name
(string) Display Name of the Permission; a more user-friendly name of the Permission
description
(string) Description of the Permission
visibility
(string) Visibility of permission to SUPPLIER, RETAILER, or BOTH
grouping
(string) Grouping the permission belongs to

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/organizations/users/all/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/organizations/users/all/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get All Users
    # GET https://api-sandbox.cruxconnect.com/timp/organizations/users/all/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/organizations/users/all/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get All Users
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/organizations/users/all/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

[
  {
    "uuid": "c3fb688d-4aca-42d4-9db1-cc268c465892",
    "person": {
      "uuid": "2975ae8b-844c-4480-90da-635debc15342",
      "first_name": "Nick",
      "last_name": "Coleman",
      "email": "nick@dobaretailer.com",
      "phone": null,
      "job_title": null
    },
    "permission_assignments": {
      "permissions": [
        {
          "assigned": true,
          "permission": {
            "uuid": "68b1647d-b6a7-48b1-9ec2-bf2f1003b6cc",
            "name": "view_org_users",
            "display_name": "View Users",
            "description": "Ability to see the users in an organization",
            "visibility": "BOTH",
            "grouping": "ORGUSERS"
          }
        },
      ],
      "org_user": {
        "uuid": "c3fb688d-4aca-42d4-9db1-cc268c465892"
      }
    },
    "status": "ACTIVE",
    "token": null
  }
]

get /timp/organizations/users/detail/<user_uuid>/

Get all details about a single user on your account

Get all the details about a specific user on your Retailer or Supplier account. This displays their name, email, phone number, permissions (roles), and more. For this particular call, the user’s uuid must be added to the URL endpoint.

To view orgainzation users, you must be assigned the ‘view_org_users’ permission.

URL Endpoint: /api/timp/organizations/users/detail/<user_uuid>/

Response Parameters:

User:

Parameters
uuid
(string) Universal Unique Identifier for the User
person
(object) Person is an object containing a uuid, first name, last name, email, and phone number
permission_assignments
(object) Permission Assignments is an object containing a list of permissions and an organization User
status
(string) User’s account status which can be “CONFIRMATION WAITING”, “ACTIVE”, or “DEACTIVATED”

Person Object:

Parameters
uuid
(string) Universal Unique Identifier for the Person
first_name
(string) First Name of the Person ready for display. Character case is specified, eg, “La’Quanda” rather than “LA’QUANDA MCCANN”. Maximum length is 200 characters. The name is encoded in UTF-8 and is not restricted to traditional English characters. Examples of valid names: “Daffy”, “Sūn Démíng (孫德明)”, “Kawin Thamsatchanan (กวินทร์ ธรรมสัจจานันท์)”, “René Just Haüy”, “Sofía”, “Håkon”.
last_name
(string) Last Name of the Person ready for display. Character case is specified, eg, “McCann” rather than “MCCANN”. Maximum length is 200 characters. The name is encoded in UTF-8 and is not restricted to traditional English characters. Examples of valid names: “Duck”, “Sūn Démíng (孫德明)”, “Kawin Thamsatchanan (กวินทร์ ธรรมสัจจานันท์)”, “Haüy”, “Rodríguez de la Peña y de Ybarra”, “Jørgensen”.
email
(string) Email address of the Person
phone
(string) Phone number of the Person

Permission Assignments Object:

Parameters
permissions
(list) Permissions are a list of available individual permissions with details as well as if the permission has been assigned to this User. (For available permissions see the Permissions Section.)
org_user
(object) Organization User holds the uuid for the User
status
(string) User’s account status which can be “CONFIRMATION WAITING”, “ACTIVE”, or “DEACTIVATED”

Permissions Object List:

Parameters
assigned
(boolean) Assigned indicates whether this particular Permission has been Assigned to this User
permission
(object) Permission is an object detailing a specific Permission with a uuid, name, display name, and description

Permission Object:

Parameters
uuid
(string) Universal Unique Identifier for the Permission
name
(string) Name of the Permission; written in shortened snake case
display_name
(string) Display Name of the Permission; a more user-friendly name of the Permission
description
(string) Description of the Permission
visibility
(string) Visibility of permission to SUPPLIER, RETAILER, or BOTH
grouping
(string) Grouping the permission belongs to

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/organizations/users/detail/c3fb688d-4aca-42d4-9db1-cc268c465892/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/organizations/users/detail/c3fb688d-4aca-42d4-9db1-cc268c465892/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get User
    # GET https://api-sandbox.cruxconnect.com/timp/organizations/users/detail/c3fb688d-4aca-42d4-9db1-cc268c465892/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/organizations/users/detail/c3fb688d-4aca-42d4-9db1-cc268c465892/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get User
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: 'timp/organizations/users/detail/c3fb688d-4aca-42d4-9db1-cc268c465892/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "uuid": "c3fb688d-4aca-42d4-9db1-cc268c465892",
  "person": {
    "uuid": "2975ae8b-844c-4480-90da-635debc15342",
    "first_name": "Nick",
    "last_name": "Coleman",
    "email": "nick@dobaretailer.com",
    "phone": null,
    "job_title": null
  },
  "permission_assignments": {
    "permissions": [
      {
        "assigned": true,
        "permission": {
          "uuid": "68b1647d-b6a7-48b1-9ec2-bf2f1003b6cc",
          "name": "view_org_users",
          "display_name": "View Users",
          "description": "Ability to see the users in an organization",
          "visibility": "BOTH",
          "grouping": "ORGUSERS"
        }
      },
    ],
    "org_user": {
      "uuid": "c3fb688d-4aca-42d4-9db1-cc268c465892"
    }
  },
  "status": "ACTIVE",
  "token": null
}

get /timp/organizations/users/permissions/<user-uuid>/

Get User Permissions for a particular User

Get the Permissions on a specified User. This call returns the Permissions in a list which indicates a list of Permissions currently available on the specified User.

To view orgainzation users, you must be assigned the ‘view_org_users’ permission.

(For available permissions see the Permissions Section.)

URL Parameters

Parameters
user_uuid
(string) User Universal Unique Identifier

Response Parameters:

Permissions Object List:

Parameters
assigned
(boolean) Assigned indicates whether this particular Permission has been Assigned to this User
permission
(object) Permission is an object detailing a specific Permission with a uuid, name, display name, and description

Permission Object:

Parameters
uuid
(string) Universal Unique Identifier for the Permission
name
(string) Name of the Permission; written in shortened snake case
display_name
(string) Display Name of the Permission; a more user-friendly name of the Permission
description
(string) Description of the Permission
visibility
(string) Visibility of permission to SUPPLIER, RETAILER, or BOTH
grouping
(string) Grouping the permission belongs to

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get User Permissions
    # GET https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get User Permissions
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{}
{
  "permissions": [
    {
      "assigned": true,
      "permission": {
        "uuid": "68b1647d-b6a7-48b1-9ec2-bf2f1003b6cc",
        "name": "view_org_users",
        "display_name": "View Users",
        "description": "Ability to see the users in an organization",
        "visibility": "BOTH",
        "grouping": "ORGUSERS"
      }
    },
  ],
  "org_user": {
    "uuid": "c3fb688d-4aca-42d4-9db1-cc268c465892"
  }
}

patch /timp/organizations/users/permissions/<user-uuid>/

Add User Permissions for a user of your organization

Add User Permissions allows you to provide a user uuid and Add Permissions if roles change within an organization. Simply provide the user uuid and the permissions list indicating which permissions you wish to add.

To edit organization users, you must be assigned the ‘edit_org_users’ permission.

URL Parameters

Parameters
user_uuid
(string) User Universal Unique Identifier

Request Parameters:

Parameters
permission_uuids
(string list) The list of permission uuids you wish to remove from a user

Expected Response Codes

For standard response codes see: Response Codes

curl -X "PATCH" "https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "permission_uuids": [
    "5188d840-188d-4066-af79-e073a91eb5a3",
    "e04aec97-79de-450e-b619-8f909e862495"
  ]
}'

http --json PATCH 'https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    permission_uuids:="[
  \"5188d840-188d-4066-af79-e073a91eb5a3\",
  \"e04aec97-79de-450e-b619-8f909e862495\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Add User Permissions
    # PATCH https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/

    try:
        response = requests.patch(
            url="https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    permission_uuids:="[
  \"5188d840-188d-4066-af79-e073a91eb5a3\",
  \"e04aec97-79de-450e-b619-8f909e862495\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Add User Permissions
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/',
        method: 'PATCH',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"permission_uuids\":[\"5188d840-188d-4066-af79-e073a91eb5a3\",\"e04aec97-79de-450e-b619-8f909e862495\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "permission_uuids": [
    "5188d840-188d-4066-af79-e073a91eb5a3",
    "e04aec97-79de-450e-b619-8f909e862495"
  ]
}

delete /timp/organizations/users/permissions/<user-uuid>/

Remove User Permissions granted at a prior occasion

Remove User Permissions allows you to provide a user uuid and remove permissions if roles change within an organization. Simply provide the organization uuid, user uuid, and the permissions list indicating which permissions you wish to remove.

To edit organization users, you must be assigned the ‘edit_org_users’ permission.

URL Parameters

Parameters
user_uuid
(string) User Universal Unique Identifier

Request Parameters:

Parameters
permission_uuids
(string list) The list of permission uuids you wish to remove from a user

Expected Response Codes

For standard response codes see: Response Codes

curl -X "DELETE" "https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "permission_uuids": [
    "5188d840-188d-4066-af79-e073a91eb5a3",
    "e04aec97-79de-450e-b619-8f909e862495"
  ]
}'

http --json DELETE 'https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    permission_uuids:="[
  \"5188d840-188d-4066-af79-e073a91eb5a3\",
  \"e04aec97-79de-450e-b619-8f909e862495\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Remove User Permissions
    # DELETE https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/

    try:
        response = requests.delete(
            url="https://api-sandbox.cruxconnect.com/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    permission_uuids:="[
  \"5188d840-188d-4066-af79-e073a91eb5a3\",
  \"e04aec97-79de-450e-b619-8f909e862495\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Remove User Permissions
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/organizations/users/permissions/c3fb688d-4aca-42d4-9db1-cc268c465892/',
        method: 'DELETE',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"permission_uuids\":[\"5188d840-188d-4066-af79-e073a91eb5a3\",\"e04aec97-79de-450e-b619-8f909e862495\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "permission_uuids": [
    "5188d840-188d-4066-af79-e073a91eb5a3",
    "e04aec97-79de-450e-b619-8f909e862495"
  ]
}

get /timp/organizations/

Get Organization Details specific to your organization

Get the Details about your Organization including the uuid, name, organization type, status, date created, date activated, and account manager.

Response Parameters:

Organization Object:

Parameters
uuid
(string) Universal Unique Identifier for an Organization
name
(string) Name of the Organization
org_type
(string) Organization Type defines if the organization is a “RETAILER” or a “SUPPLIER”
status
(string) Status for the Organization, which can be “PENDING”, “ACTIVE”, or “DEACTIVATED”
created_date
(string) Created Date; the Date when the Organization was Created within our system
active_date
(string) Active Date; the Date when the Organization became Active within our system
account_manager
(object) Account Manager object containing a uuid and an organization user

Account Manager Object:

Parameters
uuid
(string) Universal Unique Identifier for an Account Manager
person
(object) Person is an object containing a uuid, first name, last name, email, and phone number

Person Object:

Parameters
uuid
(string) Universal Unique Identifier for the Person
first_name
(string) First Name of the Person ready for display. Character case is specified, eg, “La’Quanda” rather than “LA’QUANDA MCCANN”. Maximum length is 200 characters. The name is encoded in UTF-8 and is not restricted to traditional English characters. Examples of valid names: “Daffy”, “Sūn Démíng (孫德明)”, “Kawin Thamsatchanan (กวินทร์ ธรรมสัจจานันท์)”, “René Just Haüy”, “Sofía”, “Håkon”.
last_name
(string) Last Name of the Person ready for display. Character case is specified, eg, “McCann” rather than “MCCANN”. Maximum length is 200 characters. The name is encoded in UTF-8 and is not restricted to traditional English characters. Examples of valid names: “Duck”, “Sūn Démíng (孫德明)”, “Kawin Thamsatchanan (กวินทร์ ธรรมสัจจานันท์)”, “Haüy”, “Rodríguez de la Peña y de Ybarra”, “Jørgensen”.
email
(string) Email address of the Person
phone
(string) Phone number of the Person

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/organizations/" \
     -H 'Authorization: Token 1234567890'

http GET 'https://api-sandbox.cruxconnect.com/timp/organizations/' \
    'Authorization':'Token 1234567890'

# Install the Python Requests library:
# `pip install requests`

import requests


def send_request():
    # Get Organization Details
    # GET https://api-sandbox.cruxconnect.com/timp/organizations/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/organizations/",
            headers={
                "Authorization": "Token 1234567890",
            },
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Organization Details
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/organizations/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "uuid": "f5d2aea7-dcd0-4bb4-bedd-c642ce6fc7a0",
  "name": "Doba Retailer",
  "website": "dobaretailer.com",
  "org_type": "RETAILER",
  "status": "ACTIVE",
  "created_date": "2018-04-06T16:04:33Z",
  "active_date": null,
  "account_manager": {
    "uuid": "6c249798-7564-468d-83de-d98ae8b0b7cf",
    "person": {
      "uuid": "f3548ea5-15ab-459e-9f1a-d982b21e916d",
      "first_name": "Joe",
      "last_name": "Account",
      "email": "joe@cruxaccountmanager.com",
      "phone": "(267)977-0572x195",
      "job_title": null
    }
  },
  "retailer_uuid": "cda6b5c7-addf-43d7-bdb3-2fe6a0420c42",
  "supplier_uuid": ""
}

get /timp/notifications/

Get the Dashboard Notifications for your account

Get the Dashboard Notificationas for your account. These are all of the enabled notifications that you are receiving on your Dashboard.

To view orders, you must be assigned the ‘view_orders’ permission

Response Parameters:

Parameters
uuid
(string) Universal Unique Identifier for the Notification
title
(string) The Title for the Notification
created_at
(string) The Created At parameter indicates the date and timestamp of when the Notification was created
type
(string) The Type parameter indicates where the notification is sent. For this call it should always say “Dashboard”.

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/notifications/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "user_uuid": "3a7acb28-ab13-437e-8c35-46cf4f0bea49"
}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/notifications/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    user_uuid="3a7acb28-ab13-437e-8c35-46cf4f0bea49"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Dashboard Notifications
    # GET https://api-sandbox.cruxconnect.com/timp/notifications/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/notifications/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    user_uuid="3a7acb28-ab13-437e-8c35-46cf4f0bea49")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Dashboard Notifications
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/notifications/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"user_uuid\":\"3a7acb28-ab13-437e-8c35-46cf4f0bea49\"}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

[
  {
    "uuid": "ed059353-71d6-44da-a676-22134e37bcc4",
    "title": "API Errors",
    "created_at": "2017-11-06T20:41:02.497923Z",
    "type": "Dashboard"
  }
]

get /timp/notifications/notification-settings/

Get Notification Settings specific to your user account

Get all the current Notification Settings specific to your user account. This returns the organization uuid, notification name, notification domain, notification type, annd more.

To view notification settings, you must be assigned the ‘view_notifications_settings’ permission

Response Parameters:

Parameters
uuid
(string) Universal Unique Identifier for the Notification
notification_name
(string) Notification Name is the name of the Notification you are receiving
notification_domain
(string) Notification Domain is the domain to which the Notification pertains. Potential domains are “Billing”, “Inventory”, “Orders”, and “Miscellaneous”.
notification_type
(array) Notification Type is a list with information about the Notifications you (will) receive including location, frequency, and if it is enabled.
org_user
(object) Organization User is an object containing your user uuid

Notification Type Object:

Parameters
notification_via
(string) Notification Via indicates the location of the notification. Possible values are “Dashboard” and “email”.
notification_frequency
(string) Notification Frequency indicates the frequency of your notifications. Possible values include “Real-time”, “Twice a day”, and “Daily”.
enabled
(boolean) Enabled indicates if the Notification has been enabled for your account

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/notifications/notification-settings/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/notifications/notification-settings/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Notification Settings
    # GET https://api-sandbox.cruxconnect.com/timp/notifications/notification-settings/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/notifications/notification-settings/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Notification Settings
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/notifications/notification-settings/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

[
  {
    "uuid": "d1b86ae6-8b70-41a0-afaa-1bc7d0bdec31",
    "notification_display_name": "Order Created",
    "notification_name": "orders/created",
    "notification_domain": "Orders",
    "notification_type": [],
    "org_user": null
  },
]

put /timp/notifications/notification-settings/

Update Notification Settings allows you to update a single notification's settings

Update Notification Settings allows you to update a single Notification’s settings. By providing the uuid for the notification with the location, frequency, and “enabled” you may update a Notification.

To view notification settings, you must be assigned the ‘view_notifications_settings’ permission

To edit email notification preferences, you must be assigned the ‘edit_email_notifications_preferences’ permission

Request Parameters:

Parameters
uuid
(string) The Universal Unique Identifier for the Notification
notification_via
(string) The Notification Via parameter refers to the location where you’ll receive the Notification, either “Dashboard” or “email”
enabled
(boolean) The Enabled parameter refers to whether this is available to the user
notification_frequency
(string) The Notification Frequency refers to how often you’ll be notified. Possible values are “Real-time”, “Twice a day”, and “Daily”

Expected Response Codes

For standard response codes see: Response Codes

curl -X "PUT" "https://api-sandbox.cruxconnect.com/timp/notifications/notification-settings/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "notification_via": "Dashboard",
  "enabled": "True",
  "notification_frequency": "Daily",
  "uuid": "d1b86ae6-8b70-41a0-afaa-1bc7d0bdec31"
}'

http --json PUT 'https://api-sandbox.cruxconnect.com/timp/notifications/notification-settings/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    notification_via="Dashboard" \
    enabled="True" \
    notification_frequency="Daily" \
    uuid="d1b86ae6-8b70-41a0-afaa-1bc7d0bdec31"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Update Notification Settings
    # PUT https://api-sandbox.cruxconnect.com/timp/notifications/notification-settings/

    try:
        response = requests.put(
            url="https://api-sandbox.cruxconnect.com/timp/notifications/notification-settings/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    notification_via="Dashboard" \
    enabled="True" \
    notification_frequency="Daily" \
    uuid="d1b86ae6-8b70-41a0-afaa-1bc7d0bdec31")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Update Notification Settings
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/notifications/notification-settings/',
        method: 'PUT',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"notification_via\":\"Dashboard\",\"enabled\":\"True\",\"notification_frequency\":\"Daily\",\"uuid\":\"d1b86ae6-8b70-41a0-afaa-1bc7d0bdec31\"}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "notification_via": "Dashboard",
  "enabled": "True",
  "notification_frequency": "Daily",
  "uuid": "d1b86ae6-8b70-41a0-afaa-1bc7d0bdec31"
}

get /timp/products/catalogs/

Get the Catalogs you have access to

Get the Catalogs you have access to.

Response Parameters:

Parameters
pagination
(object) Pagination Object
catalogs
(array) An array of Catalog objects

Pagination Object

Parameters
total_count
(integer) The Total Count of results returned for this Search
start
(integer) The Start parameter indicates on which element of the list of results the pagination should begin.
limit
(integer) The Limit parameter indicates one which element of the list of results the pagination should end.

Catalog Object

Parameters
uuid
(string) Universal Unique Identifier for the Catalog
supplier
(object) The Supplier object contains a supplier_uuid
skus
(array) Array of SKU objects. SKU Objects are each composed of a single sku_uuid.
num_skus
(integer) The total Number of SKUs per the Catalog
default_shipping_cost
(decimal) The Default Shipping Cost parameter contains a Shipping Cost the Supplier determined to be the Default. If null or empty, the Supplier has a variable ship cost per the SKUs or a more sophisticated Shipping strategy. (2 decimal places)
default_handling_cost
(decimal) The Default Handling Cost parameter contains a Handling Cost the Supplier determined to be the Default. If null or empty, the Supplier has a variable handling cost per the SKUs or a more sophisticated handling strategy. (2 decimal places)
retailer
(object) The Retailer object contains a single retailer_uuid.
created
(string) The Created parameter is the date the Catalog was Created.
last_updated
(string) The Last Updated parameter is the date the Catalog was Last Updated.
name
(string) The Name the supplier has designated for this Catalog
description
(string) The Description the supplier has provided for this Catalog

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/products/catalogs/" \
     -H 'Authorization: Token a9e51a13fc4c02c5dcc02c3f41bf4f5fb9aa36ad'

http GET 'https://api-sandbox.cruxconnect.com/timp/products/catalogs/' \
    'Authorization':'Token a9e51a13fc4c02c5dcc02c3f41bf4f5fb9aa36ad'

# Install the Python Requests library:
# `pip install requests`

import requests


def send_request():
    # Get Catalogs
    # GET https://api-sandbox.cruxconnect.com/timp/products/catalogs/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/products/catalogs/",
            headers={
                "Authorization": "Token a9e51a13fc4c02c5dcc02c3f41bf4f5fb9aa36ad",
            },
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Catalogs
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/catalogs/',
        method: 'GET',
        headers: {"Authorization":"Token a9e51a13fc4c02c5dcc02c3f41bf4f5fb9aa36ad"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "pagination": {
    "total_count": 150,
    "start": 30,
    "limit": 10,
  },
  "catalogs": [
    {
      "uuid": "f3603476-1f48-4ef9-a76c-0ec2f9c612fc",
      "supplier": {
        "uuid": "ed0eb521-1a0a-4526-a155-31daa726e66c"
      },
      "skus": [],
      "num_skus": 0,
      "default_shipping_cost": 5.33,
      "default_handling_cost": 1.89,
      "retailers": [],
      "created": "2018-08-24T01:00:53.219760Z",
      "last_updated": "2018-08-24T01:00:53.219813Z",
      "name": "Crux  Worldwide Connection QCSKlNstIhIpYPB1CKsh2H3ECh4ttVLD",
      "description": "Crux Worldwide Connection is a test catalog for the purposes of testing",
      "is_discoverable": null
    },
  ]
}

get /timp/products/catalogs/<catalog_uuid>/

Get the Details of a particular Catalog you have access to

Get the Details of a particular Catalog you have access to.

URL Parameters:

Parameters
catalog_uuid
(string) Universal Unique Identifier for the Catalog

Response Parameters:

Parameters
uuid
(string) Universal Unique Identifier for the Catalog
supplier
(object) The Supplier object contains a supplier_uuid
skus
(array) Array of SKU objects. SKU Objects are each composed of a single sku_uuid.
num_skus
(integer) The total Number of SKUs per the Catalog
default_shipping_cost
(decimal) The Default Shipping Cost parameter contains a Shipping Cost the Supplier determined to be the Default. If null or empty, the Supplier has a variable ship cost per the SKUs or a more sophisticated Shipping strategy. (2 decimal places)
default_handling_cost
(decimal) The Default Handling Cost parameter contains a Handling Cost the Supplier determined to be the Default. If null or empty, the Supplier has a variable handling cost per the SKUs or a more sophisticated handling strategy. (2 decimal places)
retailer
(object) The Retailer object contains a single retailer_uuid.
created
(string) The Created parameter is the date the Catalog was Created.
last_updated
(string) The Last Updated parameter is the date the Catalog was Last Updated.
name
(string) The Name the supplier has designated for this Catalog
description
(string) The Description the supplier has provided for this Catalog

Supplier Object

Parameters
uuid
(string) Universal Unique Identifier for the supplier

Retailer Object

Parameters
uuid
(string) Universal Unique Identifier for the Retailer

SKU UUID Object

Parameters
uuid
(string) Universal Unique Identifier for the sku

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/products/catalogs/38504ca3-27ea-4478-85a2-25f01cde1652/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/products/catalogs/38504ca3-27ea-4478-85a2-25f01cde1652/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Catalog Detail
    # GET https://api-sandbox.cruxconnect.com/timp/products/catalogs/38504ca3-27ea-4478-85a2-25f01cde1652/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/products/catalogs/38504ca3-27ea-4478-85a2-25f01cde1652/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Catalog Detail
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/catalogs/38504ca3-27ea-4478-85a2-25f01cde1652/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "uuid": "38504ca3-27ea-4478-85a2-25f01cde1652",
  "supplier": {
    "uuid": "86ab12cd-fd66-4122-8b81-f837bc72d755"
  },
  "skus": [
    {
      "uuid": "bb479ac7-4dd9-4411-a6e9-a265e51aa434"
    },
    {
      "uuid": "95848455-d19b-48f8-8f53-5791818ddeca"
    },
  ],
  "num_skus": 30,
  "default_shipping_cost": null,
  "default_handling_cost": null,
  "retailer": {
    "uuid": "7c8ceed8-86c3-4c4f-9b45-8bda5aa665b2"
  },
  "created": "2018-04-06T01:12:09.804995Z",
  "last_updated": "2018-04-06T01:12:18.259897Z",
  "name": "The industry catalog",
  "description": "Add your description here"
}

get /timp/products/items/

Get Items allows you to return a complete list of items you are interested in.

Get Item List allows you to return a complete list of items you are interested in.

Response Parameters:

An array of item objects is returned

Item Object

Parameters
uuid
(string) Universal Unique Identifier for the Item
skus
(array) Array of SKU objects. Each object contains individual SKUs, or Item-variants, with the associated SKU-level data
restrict_from_marketplaces
(list) The Restrict From Marketplaces parameter indicates the marketplaces where sales for this Item are not permitted
supplier
(object) The Supplier object contains the uuid for the Supplier and the Supplier name
cost_range
(object) The Cost Range object contains the minimum and maximum prices you will pay for the Item, based on the available variants (SKUs).
minimum_advertised_price_range
(object) The Minimum Advertised Price Range object contains the minimum and maximum MAPs for the item, based on the available variants (SKUs).
msrp_range
(object) The Manufacturer’s Suggested Retail Price Range object contains the minimum and maximum MSRPs for the Item, based on the available variants (SKUs).
product_images
(array) Array of product images for the item.
product_videos
(array) Array of product videos for the item.
created
(string) The Created parameter is the date when the Item was added to our system.
last_updated
(string) The Last Updated parameter is the date when the Item was last updated in our system.
item_id
(string) The Item Identifier is the identifier for the item as provided by the supplier. This is the parent identifier for the child SKU; SKUs are considered children identifiers to the item_id.
title
(string) The Item Title is the title for the Item
description
(string) The Description for the Item
warranty
(string) The Warranty for the Item, if provided/available
return_policy
(string) The Return Policy for the Item, if provided/available
manufacturer
(string) The Manufacturer for the Item
brand
(string) The Brand of the Item
country_of_origin
(string) The Country of Origin is the country code of the origin of the Item
shipping_origin_country
(string) The Shipping Origin Country is the country code of the shipping origin of the Item. If the item is manufacturered in the USA, but the distributor is in Canada, the Shipping Origin Country is going to have a value of “CA”.
other_marketplace_restriction
(string) The Other Markeplace Restriction is a string list of markeplaces where the item is prohibited from being sold.
fba_certified
(boolean) The Fulfillment By Amazon (FBA) Certified parameter indicates whether this supplier has FBA set up on this Item.
item_attributes
(object) The Item Attributes object contains any special or custom-created attributes provided by the Supplier for this Item.
categories
(array) Array of categories, as provided by the Supplier, for the Item.

SKU Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU
restrictions
(string) The Restrictions imposed on the SKU
condition
(string) The Condition of the SKU; these include “new”, “used”, and “refurb”
sku_distinguishing_attributes
(array) Attributes that help to distinquish one sku from another. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a distinquishing attribute if another another sku of the same item is color: green
sku_nondistinguishing_attributes
(array) Attributes that are particular to the individual sku and do not necessarily distinquish a sku from other skus. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a non-distinquishing attribute if another sku(s) of the same item has the attribute color: blue. If all the skus of an item share the same non-distinguishing attribute, then it is preferrable to list that attribute as part of item_attributes.
minimum_advertised_price
(decimal) The Minimum Advertised Price (MAP) is a price floor for advertisement on the SKU. You may not legally list the SKU for sale at a lower price. (2 decimal places)
msrp
(decimal) The Manufacturer’s Suggested Retail Price for the SKU. This is only a suggestion. It is not a price floor nor is it a price ceiling. (2 decimal places)
price_tiers
(array) Array of Price Tier objects on this SKU
product_images
(array) Array of product image objects for the SKU. Each object contains a uuid, uri, uri_type, width, and height of the image.
product_videos
(array) Array of product video objects for the SKU. Each object contains a uuid, uri, and uri_type of the video.
measurements
(object) The Measurements object contains sku measurements object and a package measurements object.
product_identifiers
(object) The Product Identifiers object contains the upca, ean13, gtin14, isbn, asin, and mpn for the SKU.
inventory_lists
(array) Array of all the Inventory list objects where the SKU currently resides.
created
(string) The Created parameter indicates the date the SKU was Created in our system.
last_updated
(string) The Last Updated parameter indicates the date the SKU was Last Updated in our system.
sku_id
(string) The SKU Identifier for the SKU as provided by the Supplier
quantity_in_stock
(integer) The Quantity In-Stock parameter indicates how many SKUs are currently available for purchase.
quantity_on_backorder
(integer) The Quantity on Backorder parameter indicates how many of this particular SKU are going to be replenished. It can be considered a tentative quantity to be added to the current quantity in-stock.
number_of_units_bundled
(integer) The Number of Units Bundled parameter indicates how many SKUs are in a single bundle.
item
(object) The Item object contains the item_uuid; the item_uuid is the parent identifer for the sku_uuid.

Price Tier Object:

Parameters
handling_cost
(decimal) Handling cost for the item at the price tier (2 decimal places)
shipping_cost_type
(string) Shipping cost type including Fixed, Free, or Variable
catalog
(object) Catalog Object including the catalog name and catalog uuid
shipping_cost_is_estimate
(boolean) Boolean value showing if the shipping cost is an estimate or not
cost
(decimal) Cost for the item at the price tier (2 decimal places)
cost_per_unit
(decimal) Unit cost for an item at the price tier (2 decimal places)
shipping_cost
(decimal) Unit shipping cost
minimum_tier_quantity
(integer) Minimum quantity purchased to qualify for the price tier

Catalog Object

Parameters
uuid
(string) Universal Unique Identifier for the Catalog
name
(string) Catalog Name

Product Image Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Image
uri
(string) The URI for the SKU Product Image
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’
width
(integer) The Image Width in pixels for the SKU Product Image
height
(integer) The Image Height in pixels for the SKU Product Image

Product Videos Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Video
uri
(string) The URI for the SKU Product Video
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’

SKU Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the SKU in “dimension_units” (2 decimal places)

Package Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the packaged SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the packaged SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the packaged SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the packaged SKU in “dimension_units” (2 decimal places)

Product Identifiers Object:

Parameters
upca
(string) The Universal Product Code type A (UPCA) is a 12-digit code used to identify the SKU.
ean13
(string) The 13-digit European Article Number (EAN13) also known as the International Article Number is a 13-digit code used to identify the SKU.
gtin14
(string) The 14-digit Global Trade Identification Number (GTIN14) also known as the Global Trade Item Number is a 14-digit code used to identify the SKU.
isbn
(string) The International Standard Book Number (ISBN) is a unique numberic commercial book identifier. If the SKU is a book or can be classified as a book in some way shape or form, then an ISBN may be available for it.
asin
(string) Amazon Standard Identification Number (ASIN) is the unique ID provided by the Amazon company. This number may be used to identify and match this SKU up to the proper listing on Amazon.com.
mpn
(string) Manufacturer Part Number (MPN) is an identifier given to a part by the manufacturer. This number may be used to identify products such as car parts or computer parts that generally have sofisticated systems and readily available software for product management.

Inventory List Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Inventory List
name
(string) The Name your company has given to this Inventory List

Supplier Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Supplier
name
(string) The Supplier Name

Cost Range Object:

Parameters
min
(decimal) The Minimum price for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum price for one of the SKUs or Item-variants (2 decimal places)

Minimum Advertized Price Range Object:

Parameters
min
(decimal) The Minimum MAP for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum MAP for one of the SKUs or Item-variants (2 decimal places)

Manufacturer’s Suggested Retail Price (MSRP) Range Object:

Parameters
min
(decimal) The Minimum MSRP for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum MSRP for one of the SKUs or Item-variants (2 decimal places)

Item Product Images Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Image
uri
(string) The URI for the SKU Product Image
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’
width
(integer) The Image Width in pixels for the SKU Product Image
height
(integer) The Image Height in pixels for the SKU Product Image

Item Product Videos Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Video
uri
(string) The URI for the SKU Product Video
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/products/items/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/products/items/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Items
    # GET https://api-sandbox.cruxconnect.com/timp/products/items/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/products/items/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Items
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/items/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "pagination": {
    "total_count": 400,
    "start": 0,
    "limit": 200,
    "next_start_index": 200
  },
  "items": [
    {
      "uuid": "5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4",
      "skus": [
        {
          "uuid": "43113405-4964-4086-b5cc-9beea7cb127e",
          "restrictions": null,
          "condition": "new",
          "sku_distinguishing_attributes": {
            "size": 9,
            "color": "azure"
          },
          "sku_nondistinguishing_attributes": {
            "diameter_in_inches": 3.6,
          },
          "minimum_advertised_price": 10,
          "msrp": 113.42,
          "price_tiers": [
            {
              "minimum_tier_quantity": 1,
              "shipping_cost_is_estimate": false,
              "shipping_cost": 1.99,
              "cost": 20.99,
              "catalog": {
                "name": "The accidental pollution catalog",
                "uuid": "0692defa-1fbf-4715-b7a2-60690292c37c"
              },
              "shipping_cost_type": "fixed",
              "cost_per_unit": 20.99,
              "handling_cost": 0.99
            },
          ],
          "product_images": [
            {
              "uuid": "49123741-26e0-4f48-9fcf-78f6e84cfdc1",
              "url": "https://picsum.photos/155/?image=15",
              "uri_type": "url",
              "width": 155,
              "height": 155
            },
          ],
          "product_videos": [
            {
              "uuid": "84736294-26e0-4f48-9fcf-78f6e84cfdc1",
              "url": "https://somewhere.videos/155/?video=15",
              "uri_type": "url",
            },
          ],
          "measurements": {
            "sku": {
              "weight_units": null,
              "width": null,
              "dimension_units": null,
              "weight": null,
              "height": null,
              "length": null
            },
            "package": {
              "weight_units": null,
              "width": null,
              "dimension_units": null,
              "weight": null,
              "height": null,
              "length": null
            }
          },
          "product_identifiers": {
            "upca": null,
            "ean13": null,
            "gtin14": null,
            "isbn": null,
            "asin": null,
            "mpn": null
          },
          "inventory_lists": [
            {
              "uuid": "1431483d-f893-45a4-8a73-0a46c44d15c5",
              "name": "The absurd ear inventory list"
            },
            {
              "uuid": "5d173491-52ad-4650-91cf-b279475f978d",
              "name": "The ablaze duck inventory list"
            }
          ],
          "created": "2018-04-06T01:12:10.126126Z",
          "last_updated": "2018-04-06T01:12:10.126207Z",
          "sku_id": "bK0bi12ATMo",
          "quantity_in_stock": 19,
          "quantity_on_backorder": 68,
          "number_of_units_bundled": 1,
          "_distinguishing_info_hash": "beACz7hjKsvFEnTGWQBuJ6",
          "minimum_advertised_price_currency": "USD",
          "msrp_currency": "USD",
          "item": {
            "uuid": "5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4"
          },
          "_sku_measurements": null,
          "_package_measurements": null
        }
      ],
      "restrict_from_marketplaces": [],
      "supplier": {
        "uuid": "86ab12cd-fd66-4122-8b81-f837bc72d755",
        "name": "Morales, Martin and Bautista"
      },
      "cost_range": {
        "max": 100.12,
        "min": 17.76
      },
      "minimum_advertised_price_range": {
        "max": 10,
        "min": 10
      },
      "msrp_range": {
        "max": 159.7,
        "min": 54.08
      },
      "product_images": [
        {
          "uuid": "8103e697-6a17-4dd1-939b-3d7ca9676b1c",
          "url": "https://picsum.photos/155/?image=10",
          "width": 155,
          "height": 155
        },
      ],
      "product_videos": [
        {
          "uuid": "846284309-26e0-4f48-9fcf-78f6e84cfdc1",
          "url": "https://somewhere.videos/155/?video=15",
          "width": 155,
          "height": 155
        },
      ],
      "categories": [
        {
          "uuid": "266a9a41-58a0-429e-8275-791f169789d1",
          "path": [
            "candid mouth l0",
            "inexpensive mouth l1"
          ],
          "description": ""
        }
      ],
      "created": "2018-04-06T01:12:10.001127Z",
      "last_updated": "2018-04-06T01:12:10.001188Z",
      "item_id": "7FZvMyg0BjfewNJJ",
      "title": "The insistent room item",
      "description": "Underneath all that able rest there will be insistent room item. Watching. Waiting. Wanting. Wishing. Wondering. Even in abashed sunlight our insistent room item works like a rest!It will blow your abashed mind.Then tacos will start raining right out of the abashed sky.Because it's the best insistent room item a person get possibly get.  At least on a abashed Tuesday! When it's all said and done, there's still insistent room item. Still. You know you want it. Because we care about how your insistent room item looks!",
      "warranty": "A inborn warranty",
      "return_policy": null,
      "manufacturer": "direction Corp.",
      "brand": "orange brand",
      "country_of_origin": "CX",
      "shipping_origin_country": "TZ",
      "other_marketplace_restriction": null,
      "fba_certified": null,
      "item_attributes": {
        "hardness": 12,
        "hair-color": "brown"
      }
    },
  ]
}

get /timp/products/items/<item_uuid>/

Get Details about an Item and the SKUs associated to it.

Get Details about an Item and the SKUs associated to it. There is a varying amount of data provided with each item and associated SKUs. The Response Parameters listed below are potential attributes of Items and SKUs that may be returned to you.

URL Parameters:

Parameters
item_uuid
(string) Universal Unique Identifier for the Item

Response Parameters:

Parameters
uuid
(string) Universal Unique Identifier for the Item
skus
(array) Array of SKU objects. Each object contains individual SKUs, or Item-variants, with the associated SKU-level data
restrict_from_marketplaces
(list) The Restrict From Marketplaces parameter indicates the marketplaces where sales for this Item are not permitted
supplier
(object) The Supplier object contains the uuid for the Supplier and the Supplier name
cost_range
(object) The Cost Range object contains the minimum and maximum prices you will pay for the Item, based on the available variants (SKUs).
minimum_advertised_price_range
(object) The Minimum Advertised Price Range object contains the minimum and maximum MAPs for the item, based on the available variants (SKUs).
msrp_range
(object) The Manufacturer’s Suggested Retail Price Range object contains the minimum and maximum MSRPs for the Item, based on the available variants (SKUs).
product_images
(array) Array of product images for the item.
product_videos
(array) Array of product videos for the item.
created
(string) The Created parameter is the date when the Item was added to our system.
last_updated
(string) The Last Updated parameter is the date when the Item was last updated in our system.
item_id
(string) The Item Identifier is the identifier for the item as provided by the supplier. This is the parent identifier for the child SKU; SKUs are considered children identifiers to the item_id.
title
(string) The Item Title is the title for the Item
description
(string) The Description for the Item
warranty
(string) The Warranty for the Item, if provided/available
return_policy
(string) The Return Policy for the Item, if provided/available
manufacturer
(string) The Manufacturer for the Item
brand
(string) The Brand of the Item
country_of_origin
(string) The Country of Origin is the country code of the origin of the Item
shipping_origin_country
(string) The Shipping Origin Country is the country code of the shipping origin of the Item. If the item is manufacturered in the USA, but the distributor is in Canada, the Shipping Origin Country is going to have a value of “CA”.
other_marketplace_restriction
(string) The Other Markeplace Restriction is a string list of markeplaces where the item is prohibited from being sold.
fba_certified
(boolean) The Fulfillment By Amazon (FBA) Certified parameter indicates whether this supplier has FBA set up on this Item.
item_attributes
(object) The Item Attributes object contains any special or custom-created attributes provided by the Supplier for this Item.
categories
(array) Array of categories, as provided by the Supplier, for the Item.

SKU Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU
restrictions
(string) The Restrictions imposed on the SKU
condition
(string) The Condition of the SKU; these include “new”, “used”, and “refurb”
sku_distinguishing_attributes
(array) Attributes that help to distinquish one sku from another. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a distinquishing attribute if another another sku of the same item is color: green
sku_nondistinguishing_attributes
(array) Attributes that are particular to the individual sku and do not necessarily distinquish a sku from other skus. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a non-distinquishing attribute if another sku(s) of the same item has the attribute color: blue. If all the skus of an item share the same non-distinguishing attribute, then it is preferrable to list that attribute as part of item_attributes.
minimum_advertised_price
(decimal) The Minimum Advertised Price (MAP) is a price floor for advertisement on the SKU. You may not legally list the SKU for sale at a lower price. (2 decimal places)
msrp
(decimal) The Manufacturer’s Suggested Retail Price for the SKU. This is only a suggestion. It is not a price floor nor is it a price ceiling. (2 decimal places)
price_tiers
(array) Array of Price Tier objects on this SKU
product_images
(array) Array of product image objects for the SKU. Each object contains a uuid, uri, uri_type, width, and height of the image.
product_videos
(array) Array of product video objects for the SKU. Each object contains a uuid, uri, and uri_type of the video.
measurements
(object) The Measurements object contains sku measurements object and a package measurements object.
product_identifiers
(object) The Product Identifiers object contains the upca, ean13, gtin14, isbn, asin, and mpn for the SKU.
inventory_lists
(array) Array of all the Inventory list objects where the SKU currently resides.
created
(string) The Created parameter indicates the date the SKU was Created in our system.
last_updated
(string) The Last Updated parameter indicates the date the SKU was Last Updated in our system.
sku_id
(string) The SKU Identifier for the SKU as provided by the Supplier
quantity_in_stock
(integer) The Quantity In-Stock parameter indicates how many SKUs are currently available for purchase.
quantity_on_backorder
(integer) The Quantity on Backorder parameter indicates how many of this particular SKU are going to be replenished. It can be considered a tentative quantity to be added to the current quantity in-stock.
number_of_units_bundled
(integer) The Number of Units Bundled parameter indicates how many SKUs are in a single bundle.
item
(object) The Item object contains the item_uuid; the item_uuid is the parent identifer for the sku_uuid.

Price Tier Object:

Parameters
handling_cost
(decimal) Handling cost for the item at the price tier (2 decimal places)
shipping_cost_type
(string) Shipping cost type including Fixed, Free, or Variable
catalog
(object) Catalog Object including the catalog name and catalog uuid
shipping_cost_is_estimate
(boolean) Boolean value showing if the shipping cost is an estimate or not
cost
(decimal) Cost for the item at the price tier (2 decimal places)
cost_per_unit
(decimal) Unit cost for an item at the price tier (2 decimal places)
shipping_cost
(decimal) Unit shipping cost
minimum_tier_quantity
(integer) Minimum quantity purchased to qualify for the price tier

Catalog Object

Parameters
uuid
(string) Universal Unique Identifier for the Catalog
name
(string) Catalog Name

Product Image Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Image
uri
(string) The URI for the SKU Product Image
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’
width
(integer) The Image Width in pixels for the SKU Product Image
height
(integer) The Image Height in pixels for the SKU Product Image

Product Video Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Video
uri
(string) The URI for the SKU Product Video
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’

SKU Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the SKU in “dimension_units” (2 decimal places)

Package Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the packaged SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the packaged SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the packaged SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the packaged SKU in “dimension_units” (2 decimal places)

Product Identifiers Object:

Parameters
upca
(string) The Universal Product Code type A (UPCA) is a 12-digit code used to identify the SKU.
ean13
(string) The 13-digit European Article Number (EAN13) also known as the International Article Number is a 13-digit code used to identify the SKU.
gtin14
(string) The 14-digit Global Trade Identification Number (GTIN14) also known as the Global Trade Item Number is a 14-digit code used to identify the SKU.
isbn
(string) The International Standard Book Number (ISBN) is a unique numberic commercial book identifier. If the SKU is a book or can be classified as a book in some way shape or form, then an ISBN may be available for it.
asin
(string) Amazon Standard Identification Number (ASIN) is the unique ID provided by the Amazon company. This number may be used to identify and match this SKU up to the proper listing on Amazon.com.
mpn
(string) Manufacturer Part Number (MPN) is an identifier given to a part by the manufacturer. This number may be used to identify products such as car parts or computer parts that generally have sofisticated systems and readily available software for product management.

Inventory List Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Inventory List
name
(string) The Name your company has given to this Inventory List

Supplier Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Supplier
name
(string) The Supplier Name

Cost Range Object:

Parameters
min
(decimal) The Minimum price for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum price for one of the SKUs or Item-variants (2 decimal places)

Minimum Advertized Price Range Object:

Parameters
min
(decimal) The Minimum MAP for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum MAP for one of the SKUs or Item-variants (2 decimal places)

Manufacturer’s Suggested Retail Price (MSRP) Range Object:

Parameters
min
(decimal) The Minimum MSRP for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum MSRP for one of the SKUs or Item-variants (2 decimal places)

Item Product Images Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Image
uri
(string) The URI for the SKU Product Image
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’
width
(integer) The Image Width in pixels for the SKU Product Image
height
(integer) The Image Height in pixels for the SKU Product Image

Item Product Videos Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Video
uri
(string) The URI for the SKU Product Video
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/products/items/5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/products/items/5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Item Detail
    # GET https://api-sandbox.cruxconnect.com/timp/products/items/5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/products/items/5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Item Detail
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/items/5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "uuid": "5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4",
  "skus": [
    {
      "uuid": "43113405-4964-4086-b5cc-9beea7cb127e",
      "restrictions": null,
      "condition": "new",
      "sku_distinguishing_attributes": {
        "size": 9,
        "color": "azure"
      },
      "sku_nondistinguishing_attributes": {
        "diameter_in_inches": 3.6,
      },
      "minimum_advertised_price": 10,
      "msrp": 113.42,
      "price_tiers": [
        {
          "handling_cost": 0.99,
          "shipping_cost_type": "fixed",
          "catalog": {
            "name": "The accidental pollution catalog",
            "uuid": "0692defa-1fbf-4715-b7a2-60690292c37c"
          },
          "shipping_cost_is_estimate": false,
          "cost": 20.99,
          "cost_per_unit": 20.99,
          "shipping_cost": 1.99,
          "minimum_tier_quantity": 1
        },
      ],
      "product_images": [
        {
          "uuid": "49123741-26e0-4f48-9fcf-78f6e84cfdc1",
          "uri": "https://picsum.photos/155/?image=15",
          "uri_type": "url",
          "width": 155,
          "height": 155
        },
      ],
      "product_videos": [
        {
          "uuid": "9d827373-6a17-4dd1-939b-3d7ca9676b1c",
          "uri": "https://something.videos/155/?video=10",
          "uri_type": "url",
      },
      ],
      "measurements": {
        "package": {
          "height": null,
          "length": null,
          "width": null,
          "weight_units": null,
          "weight": null,
          "dimension_units": null
        },
        "sku": {
          "height": null,
          "length": null,
          "width": null,
          "weight_units": null,
          "weight": null,
          "dimension_units": null
        }
      },
      "product_identifiers": {
        "upca": null,
        "ean13": null,
        "gtin14": null,
        "isbn": null,
        "asin": null,
        "mpn": null
      },
      "inventory_lists": [
        {
          "uuid": "1431483d-f893-45a4-8a73-0a46c44d15c5",
          "name": "The absurd ear inventory list"
        },
      ],
      "created": "2018-04-06T01:12:10.126126Z",
      "last_updated": "2018-04-06T01:12:10.126207Z",
      "sku_id": "bK0bi12ATMo",
      "quantity_in_stock": 19,
      "quantity_on_backorder": 68,
      "number_of_units_bundled": 1,
      "_distinguishing_info_hash": "beACz7hjKsvFEnTGWQBuJ6",
      "minimum_advertised_price_currency": "USD",
      "msrp_currency": "USD",
      "item": {
        "uuid": "5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4"
      },
      "_sku_measurements": null,
      "_package_measurements": null
    },
  ],
  "restrict_from_marketplaces": [],
  "supplier": {
    "uuid": "86ab12cd-fd66-4122-8b81-f837bc72d755",
    "name": "Morales, Martin and Bautista"
  },
  "cost_range": {
    "max": 100.12,
    "min": 17.76
  },
  "minimum_advertised_price_range": {
    "max": 10,
    "min": 10
  },
  "msrp_range": {
    "max": 159.7,
    "min": 54.08
  },
  "product_images": [
    {
      "uuid": "8103e697-6a17-4dd1-939b-3d7ca9676b1c",
      "uri": "https://picsum.photos/155/?image=10",
      "uri_type": "url",
      "width": 155,
      "height": 155
    },
  ],
  "product_videos": [
    {
      "uuid": "19193e697-6a17-4dd1-939b-3d7ca9676b1c",
      "uri": "https://something.videos/155/?video=10",
      "uri_type": "url",
    },
  ],
  "categories": [
    {
      "uuid": "266a9a41-58a0-429e-8275-791f169789d1",
      "path": [
        "candid mouth l0",
        "inexpensive mouth l1"
      ],
      "description": ""
    }
  ],
  "created": "2018-04-06T01:12:10.001127Z",
  "last_updated": "2018-04-06T01:12:10.001188Z",
  "item_id": "7FZvMyg0BjfewNJJ",
  "title": "The insistent room item",
  "description": "Underneath all that able rest there will be insistent room item. Watching. Waiting. Wanting. Wishing. Wondering. Even in abashed sunlight our insistent room item works like a rest!It will blow your abashed mind.Then tacos will start raining right out of the abashed sky.Because it's the best insistent room item a person get possibly get.  At least on a abashed Tuesday! When it's all said and done, there's still insistent room item. Still. You know you want it. Because we care about how your insistent room item looks!",
  "warranty": "A inborn warranty",
  "return_policy": null,
  "manufacturer": "direction Corp.",
  "brand": "orange brand",
  "country_of_origin": "CX",
  "shipping_origin_country": "TZ",
  "other_marketplace_restriction": null,
  "fba_certified": null,
  "item_attributes": {
    "hardness": 12,
    "hair-color": "brown"
  }
}

post /timp/products/items/export/

Get Item Export allows you to export the item you are interested.

Get Item Export allows you to export the item via email to your email address on file

This API call, like other “Export” calls, will send an email to your email address. That is, the email address linked to your user_uuid. The Item Details will be attached to the email as as a comma-delimited (.csv) file.

If there are no skus, then the returned export is a csv file with a simple header (item_id and sku_id) with no underlying values.

Request Parameters:

Parameters
item_uuids
(array) The Item UUIDs parameter provides a list of item_uuids to be exported

Response Parameters:

Parameters
uuid
(string) Universal Unique Identifier for the Item

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/items/export/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "item_uuids": [
    "5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4"
  ]
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/items/export/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    item_uuids:="[
  \"5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Item Export
    # POST https://api-sandbox.cruxconnect.com/timp/products/items/export/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/items/export/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    item_uuids:="[
  \"5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Item Export
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/items/export/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"item_uuids\":[\"5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "item_uuids": [
    "5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4"
  ]
}
{
  "export": {
    "uuid": "b039dcf4-3509-49f2-a86e-64df0dc51aba"
  }
}

post /timp/products/items/search/

Search for Items in the catalogs available to your organization

Search for Items in the catalogs available to your organization using a number of filters, facets, and other helpful tools.

Request Parameters:

Optional
Parameters
filters
(object) The Filters object parameter includes all of the potential filters you wish to include in your Search.
facets
(object) The Facets object parameter includes all of the potential facets you wish to include in your Search.
search_term
(string) The Search Term you would like to search for
sort
(string) The Sort parameter indicates what attribute on which you would like to sort
pagination
(object) The Pagination object includes start and limit which allow you to receive a manageable amount of data back from your API call.

Filters Object:

Parameters
cost_per_unit
(object) The Cost Per Unit object may contain a minimum and a maximum number
number_of_item_images
(object) The Number of Item Images object may contain a minimum and a maximum number
image_height
(object) The Image Height object may contain a minimum and a maximum number
image_width
(object) The Image Width object may contain a minimum and a maximum number

Facets Object:

Parameters
supplier
(array) Array of suppliers using uuid or name
shipping_cost_type
(array) Array of shipping costs types as defined by the Supplier
shipping_origin_country
(array) Array of country shipping origins using the country codes using 2 character format. For example: “US”, “CA”, “GE”
bundle_type
(array) Array of bundle types the Supplier has set up for the SKUs. Values for bundle_type_name include “Case Pack” and “Single”.
product_identifiers
(array) Array of product identifiers available on each SKU
categories
(array) Array of categories in which SKUs may reside
catalog_type
(array) Array of catalog types to which the retrieved SKUs belong. Values include “standard” and/or “discovery”. Defaults to [“standard”] if catalog_type is not provided.

Pagination Object:

Parameters
start
(integer) The Start parameter indicates on which element of the list of results the pagination should begin.
limit
(integer) The Limit parameter indicates one which element of the list of results the pagination should end.

Response Parameters:

Parameters
items
(array) Array of Item Objects that match the criteria you provided for your Search.
filters
(object) The Filters object contains image_width, cost_per_unit, minimum_tier_quantity, quantity_in_stock, and image_height
facets
(object) The Facets object contains product_identifiers, bundle_type, condition, supplier, catalogs, categories, shipping_origin_country, shipping_cost_type, catalog_type, and inventory lists
pagination
(object) The Pagination object parameter includes the total_count, start, and limit for your Search.
search_term
(string) The Search Term used to filter the results of your Search
sort
(array) The Sort list parameter includes the attribute(s) on which you are performing a Sort on your Search

Pagination Object:

Parameters
total_count
(integer) The Total Count of results returned for this Search
start
(integer) The Start parameter indicates on which element of the list of results the pagination should begin.
limit
(integer) The Limit parameter indicates one which element of the list of results the pagination should end.

Item Object:

Parameters
uuid
(string) Universal Unique Identifier for the Item
skus
(array) Array of SKU objects. Each object contains individual SKUs, or Item-variants, with the associated SKU-level data
restrict_from_marketplaces
(list) The Restrict From Marketplaces parameter indicates the marketplaces where sales for this Item are not permitted
supplier
(object) The Supplier object contains the uuid for the Supplier and the Supplier name
cost_range
(object) The Cost Range object contains the minimum and maximum prices you will pay for the Item, based on the available variants (SKUs).
minimum_advertised_price_range
(object) The Minimum Advertised Price Range object contains the minimum and maximum MAPs for the item, based on the available variants (SKUs).
msrp_range
(object) The Manufacturer’s Suggested Retail Price Range object contains the minimum and maximum MSRPs for the Item, based on the available variants (SKUs).
product_images
(array) Array of product images for the item.
product_videos
(array) Array of product videos for the item.
created
(string) The Created parameter is the date when the Item was added to our system.
last_updated
(string) The Last Updated parameter is the date when the Item was last updated in our system.
item_id
(string) The Item Identifier is the identifier for the item as provided by the supplier. This is the parent identifier for the child SKU; SKUs are considered children identifiers to the item_id.
title
(string) The Item Title is the title for the Item
description
(string) The Description for the Item
warranty
(string) The Warranty for the Item, if provided/available
return_policy
(string) The Return Policy for the Item, if provided/available
manufacturer
(string) The Manufacturer for the Item
brand
(string) The Brand of the Item
country_of_origin
(string) The Country of Origin is the country code of the origin of the Item
shipping_origin_country
(string) The Shipping Origin Country is the country code of the shipping origin of the Item. If the item is manufacturered in the USA, but the distributor is in Canada, the Shipping Origin Country is going to have a value of “CA”.
other_marketplace_restriction
(string) The Other Markeplace Restriction is a string list of markeplaces where the item is prohibited from being sold.
fba_certified
(boolean) The Fulfillment By Amazon (FBA) Certified parameter indicates whether this supplier has FBA set up on this Item.
item_attributes
(object) The Item Attributes object contains any special or custom-created attributes provided by the Supplier for this Item.
categories
(array) Array of categories, as provided by the Supplier, for the Item.

SKU Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU
restrictions
(string) The Restrictions imposed on the SKU
condition
(string) The Condition of the SKU; these include “new”, “used”, and “refurb”
sku_distinguishing_attributes
(array) Attributes that help to distinquish one sku from another. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a distinquishing attribute if another another sku of the same item is color: green
sku_nondistinguishing_attributes
(array) Attributes that are particular to the individual sku and do not necessarily distinquish a sku from other skus. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a non-distinquishing attribute if another sku(s) of the same item has the attribute color: blue. If all the skus of an item share the same non-distinguishing attribute, then it is preferrable to list that attribute as part of item_attributes.
minimum_advertised_price
(decimal) The Minimum Advertised Price (MAP) is a price floor for advertisement on the SKU. You may not legally list the SKU for sale at a lower price. (2 decimal places)
msrp
(decimal) The Manufacturer’s Suggested Retail Price for the SKU. This is only a suggestion. It is not a price floor nor is it a price ceiling. (2 decimal places)
price_tiers
(array) Array of Price Tier objects on this SKU
product_images
(array) Array of product image objects for the SKU. Each object contains a uuid, uri, uri_type, width, and height of the image.
product_videos
(array) Array of product video objects for the SKU. Each object contains a uuid, uri, and uri_type of the video.
measurements
(object) The Measurements object contains sku measurements object and a package measurements object.
product_identifiers
(object) The Product Identifiers object contains the upca, ean13, gtin14, isbn, asin, and mpn for the SKU.
inventory_lists
(array) Array of all the Inventory list objects where the SKU currently resides.
created
(string) The Created parameter indicates the date the SKU was Created in our system.
last_updated
(string) The Last Updated parameter indicates the date the SKU was Last Updated in our system.
sku_id
(string) The SKU Identifier for the SKU as provided by the Supplier
quantity_in_stock
(integer) The Quantity In-Stock parameter indicates how many SKUs are currently available for purchase.
quantity_on_backorder
(integer) The Quantity on Backorder parameter indicates how many of this particular SKU are going to be replenished. It can be considered a tentative quantity to be added to the current quantity in-stock.
number_of_units_bundled
(integer) The Number of Units Bundled parameter indicates how many SKUs are in a single bundle.
item
(object) The Item object contains the item_uuid; the item_uuid is the parent identifer for the sku_uuid.

Price Tier Object:

Parameters
handling_cost
(decimal) Handling cost for the item at the price tier (2 decimal places)
shipping_cost_type
(string) Shipping cost type including Fixed, Free, or Variable
catalog
(object) Catalog Object including the catalog name and catalog uuid
shipping_cost_is_estimate
(boolean) Boolean value showing if the shipping cost is an estimate or not
cost
(decimal) Cost for the item at the price tier (2 decimal places)
cost_per_unit
(decimal) Unit cost for an item at the price tier (2 decimal places)
shipping_cost
(decimal) Unit shipping cost
minimum_tier_quantity
(integer) Minimum quantity purchased to qualify for the price tier

Catalog Object

Parameters
uuid
(string) Universal Unique Identifier for the Catalog
name
(string) Catalog Name

Product Image Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Image
uri
(string) The URI for the SKU Product Image
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’
width
(integer) The Image Width in pixels for the SKU Product Image
height
(integer) The Image Height in pixels for the SKU Product Image

Product Video Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Video
uri
(string) The URI for the SKU Product Video
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’

SKU Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the SKU in “dimension_units” (2 decimal places)

Package Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the packaged SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the packaged SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the packaged SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the packaged SKU in “dimension_units” (2 decimal places)

Product Identifiers Object:

Parameters
upca
(string) The Universal Product Code type A (UPCA) is a 12-digit code used to identify the SKU.
ean13
(string) The 13-digit European Article Number (EAN13) also known as the International Article Number is a 13-digit code used to identify the SKU.
gtin14
(string) The 14-digit Global Trade Identification Number (GTIN14) also known as the Global Trade Item Number is a 14-digit code used to identify the SKU.
isbn
(string) The International Standard Book Number (ISBN) is a unique numberic commercial book identifier. If the SKU is a book or can be classified as a book in some way shape or form, then an ISBN may be available for it.
asin
(string) Amazon Standard Identification Number (ASIN) is the unique ID provided by the Amazon company. This number may be used to identify and match this SKU up to the proper listing on Amazon.com.
mpn
(string) Manufacturer Part Number (MPN) is an identifier given to a part by the manufacturer. This number may be used to identify products such as car parts or computer parts that generally have sofisticated systems and readily available software for product management.

Inventory List Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Inventory List
name
(string) The Name your company has given to this Inventory List

Supplier Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Supplier
name
(string) The Supplier Name

Cost Range Object:

Parameters
min
(decimal) The Minimum price for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum price for one of the SKUs or Item-variants (2 decimal places)

Minimum Advertized Price Range Object:

Parameters
min
(decimal) The Minimum MAP for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum MAP for one of the SKUs or Item-variants (2 decimal places)

Manufacturer’s Suggested Retail Price (MSRP) Range Object:

Parameters
min
(decimal) The Minimum MSRP for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum MSRP for one of the SKUs or Item-variants (2 decimal places)

Item Product Images Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Image
uri
(string) The URI for the SKU Product Image
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’
width
(integer) The Image Width in pixels for the SKU Product Image
height
(integer) The Image Height in pixels for the SKU Product Image

Product Videos Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Video
uri
(string) The URI for the SKU Product Video
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’

Facets Object:

Parameters
supplier
(array) Array of suppliers using uuid or name
shipping_cost_type
(array) Array of shipping costs types as defined by the Supplier
shipping_origin_country
(array) Array of country shipping origins using the country codes using 2 character format. For example: “US”, “CA”, “GE”
bundle_type
(array) Array of bundle types the Supplier has set up for the SKUs. Values for bundle_type_name include “Case Pack” and “Single”.
product_identifiers
(array) Array of product identifiers available on each SKU
categories
(array) Array of categories in which SKUs may reside
catalog_type
(array) Array of catalog types to which the retrieved SKUs belong. Values include “standard” and/or “discovery”. Defaults to [“standard”] if catalog_type is not provided.

Filters Object:

Parameters
cost_per_unit
(object) The Cost Per Unit object may contain a minimum and a maximum number
number_of_item_images
(object) The Number of Item Images object may contain a minimum and a maximum number
image_height
(object) The Image Height object may contain a minimum and a maximum number
image_width
(object) The Image Width object may contain a minimum and a maximum number

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/items/search/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "search_term": "",
  "filters": {
    "image_height": {
      "min": 0
    },
    "image_width": {
      "min": 0
    },
    "number_of_item_images": {
      "min": 5
    },
    "cost_per_unit": {
      "min": null,
      "max": null
    }
  },
  "pagination": {
    "start": 0,
    "limit": 1
  },
  "sort": "title",
  "facets": {
    "supplier": [],
    "shipping_origin_country": [],
    "categories": [],
    "product_identifiers": [],
    "shipping_cost_type": [],
    "catalog_type": [],
    "bundle_type": []
  }
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/items/search/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    search_term="" \
    filters:="{
  \"image_height\": {
    \"min\": 0
  },
  \"image_width\": {
    \"min\": 0
  },
  \"number_of_item_images\": {
    \"min\": 5
  },
  \"cost_per_unit\": {
    \"min\": null,
    \"max\": null
  }
}" \
    pagination:="{
  \"start\": 0,
  \"limit\": 1
}" \
    sort="title" \
    facets:="{
  \"supplier\": [],
  \"shipping_origin_country\": [],
  \"categories\": [],
  \"product_identifiers\": [],
  \"shipping_cost_type\": [],
  \"catalog_type\": [],
  \"bundle_type\": []
}"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Search Items
    # POST https://api-sandbox.cruxconnect.com/timp/products/items/search/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/items/search/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    search_term="" \
    filters:="{
  \"image_height\": {
    \"min\": 0
  },
  \"image_width\": {
    \"min\": 0
  },
  \"number_of_item_images\": {
    \"min\": 5
  },
  \"cost_per_unit\": {
    \"min\": null,
    \"max\": null
  }
}" \
    pagination:="{
  \"start\": 0,
  \"limit\": 1
}" \
    sort="title" \
    facets:="{
  \"supplier\": [],
  \"shipping_origin_country\": [],
  \"categories\": [],
  \"product_identifiers\": [],
  \"shipping_cost_type\": [],
  \"catalog_type\": [],
  \"bundle_type\": []
}")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Search Items
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/items/search/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"filters\":{\"cost_per_unit\":{\"min\":null,\"max\":null},\"number_of_item_images\":{\"min\":5},\"image_height\":{\"min\":0},\"image_width\":{\"min\":0}},\"facets\":{\"supplier\":[],\"shipping_cost_type\":[],\"shipping_origin_country\":[],\"bundle_type\":[],\"product_identifiers\":[],\"categories\":[],\"catalog_type\":[]},\"search_term\":\"\",\"sort\":\"title\",\"pagination\":{\"start\":0,\"limit\":1}}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "filters": {
    "cost_per_unit": {
      "min": null,
      "max": null
    },
    "number_of_item_images": {
      "min": 5
    },
    "image_height": {
      "min": 0
    },
    "image_width": {
      "min": 0
    }
  },
  "facets": {
    "supplier": [],
    "shipping_cost_type": [],
    "shipping_origin_country": [],
    "bundle_type": [],
    "product_identifiers": [],
    "categories": [],
    "catalog_type": []
  },
  "search_term": "",
  "sort": "title",
  "pagination": {
    "start": 0,
    "limit": 1
  }
}
{
  "pagination": {
    "start": 0,
    "limit": 1,
    "total_count": 0
  },
  "items": [],
  "facets": {
    "product_identifiers": [],
    "bundle_type": [],
    "catalog_type": [
      "standard"
    ],
    "catalogs": [],
    "categories": {},
    "condition": [],
    "inventory_lists": [],
    "shipping_cost_type": [],
    "shipping_origin_country": [],
    "supplier": []
  },
  "sort": [
    "title"
  ],
  "search_term": "",
  "filters": {
    "cost_per_unit": {
      "min": null,
      "max": null
    },
    "minimum_tier_quantity": {
      "min": null,
      "max": null
    },
    "quantity_in_stock": {
      "min": null,
      "max": null
    },
    "image_height": {
      "min": 0
    },
    "image_width": {
      "min": 0
    },
    "number_of_item_images": {
      "min": 5
    }
  }
}

get /timp/products/skus/

Get SKUs allows you to return a complete list of SKUs you are interested in.

Return a complete list of SKUs

Request Parameters:

Parameters
limit
(int) 1-500. The number of skus to return
start
(int) Used for pagination when retrieving greater than 500 skus. Default 0
item_verbosity
(string) If item_verbosity=complete all item details will be included. Default null.
supplier_uuids
(array) Return only skus for these suppliers. May be a single value, comma separated or duplicated params

Usage Examples

http GET "http://localhost/timp/products/skus/?limit=<25>"
http GET "http://localhost/timp/products/skus/?start=<0>"
http GET "http://localhost/timp/products/skus/?item_verbosity=complete"
http GET "http://localhost/timp/products/skus/?supplier_uuids=<uuid1>"
http GET "http://localhost/timp/products/skus/?supplier_uuids=<uuid1>,<uuid2>"
http GET "http://localhost/timp/products/skus/?supplier_uuids=<uuid1>&supplier_uuids=<uuid2>"
http GET "http://localhost/timp/products/skus/?supplier_uuids=<uuid1>&item_verbosity=complete&limit=500"

Response Parameters:

An array of up to 500 SKU Objects in a single call

SKU Object

Parameters
uuid
(string) The Universal Unique Identifier for the SKU
restrictions
(string) The Restrictions imposed on the SKU
condition
(string) The Condition of the SKU; these include “new”, “used”, and “refurb”
sku_distinguishing_attributes
(array) Attributes that help to distinquish one sku from another. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a distinquishing attribute if another another sku of the same item is color: green
sku_nondistinguishing_attributes
(array) Attributes that are particular to the individual sku and do not necessarily distinquish a sku from other skus. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a non-distinquishing attribute if another sku(s) of the same item has the attribute color: blue. If all the skus of an item share the same non-distinguishing attribute, then it is preferrable to list that attribute as part of item_attributes.
minimum_advertised_price
(decimal) The Minimum Advertised Price (MAP) is a price floor for advertisement on the SKU. You may not legally list the SKU for sale at a lower price. (2 decimal places)
msrp
(decimal) The Manufacturer’s Suggested Retail Price for the SKU. This is only a suggestion. It is not a price floor nor is it a price ceiling. (2 decimal places)
price_tiers
(array) Array of Price Tier objects on this SKU
product_images
(array) Array of product image objects for the SKU. Each object contains a uuid, uri, uri_type, width, and height of the image.
product_videos
(array) Array of product video objects for the SKU. Each object contains a uuid, uri, and uri_type of the video.
measurements
(object) The Measurements object contains sku measurements object and a package measurements object.
product_identifiers
(object) The Product Identifiers object contains the upca, ean13, gtin14, isbn, asin, and mpn for the SKU.
inventory_lists
(array) Array of all the Inventory list objects where the SKU currently resides.
created
(string) The Created parameter indicates the date the SKU was Created in our system.
last_updated
(string) The Last Updated parameter indicates the date the SKU was Last Updated in our system.
sku_id
(string) The SKU Identifier for the SKU as provided by the Supplier
quantity_in_stock
(integer) The Quantity In-Stock parameter indicates how many SKUs are currently available for purchase.
quantity_on_backorder
(integer) The Quantity on Backorder parameter indicates how many of this particular SKU are going to be replenished. It can be considered a tentative quantity to be added to the current quantity in-stock.
number_of_units_bundled
(integer) The Number of Units Bundled parameter indicates how many SKUs are in a single bundle.
item
(object) The Item object contains the item_uuid; the item_uuid is the parent identifer for the sku_uuid.

Price Tier Object:

Parameters
handling_cost
(decimal) Handling cost for the item at the price tier (2 decimal places)
shipping_cost_type
(string) Shipping cost type including Fixed, Free, or Variable
catalog
(object) Catalog Object including the catalog name and catalog uuid
shipping_cost_is_estimate
(boolean) Boolean value showing if the shipping cost is an estimate or not
cost
(decimal) Cost for the item at the price tier (2 decimal places)
cost_per_unit
(decimal) Unit cost for an item at the price tier (2 decimal places)
shipping_cost
(decimal) Unit shipping cost
minimum_tier_quantity
(integer) Minimum quantity purchased to qualify for the price tier

Catalog Object

Parameters
uuid
(string) Universal Unique Identifier for the Catalog
name
(string) Catalog Name

Product Image Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Image
uri
(string) The URI for the SKU Product Image
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’
width
(integer) The Image Width in pixels for the SKU Product Image
height
(integer) The Image Height in pixels for the SKU Product Image

Product Video Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Video
uri
(string) The URI for the SKU Product Video
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’

SKU Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the SKU in “dimension_units” (2 decimal places)

Package Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the packaged SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the packaged SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the packaged SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the packaged SKU in “dimension_units” (2 decimal places)

Product Identifiers Object:

Parameters
upca
(string) The Universal Product Code type A (UPCA) is a 12-digit code used to identify the SKU.
ean13
(string) The 13-digit European Article Number (EAN13) also known as the International Article Number is a 13-digit code used to identify the SKU.
gtin14
(string) The 14-digit Global Trade Identification Number (GTIN14) also known as the Global Trade Item Number is a 14-digit code used to identify the SKU.
isbn
(string) The International Standard Book Number (ISBN) is a unique numberic commercial book identifier. If the SKU is a book or can be classified as a book in some way shape or form, then an ISBN may be available for it.
asin
(string) Amazon Standard Identification Number (ASIN) is the unique ID provided by the Amazon company. This number may be used to identify and match this SKU up to the proper listing on Amazon.com.
mpn
(string) Manufacturer Part Number (MPN) is an identifier given to a part by the manufacturer. This number may be used to identify products such as car parts or computer parts that generally have sofisticated systems and readily available software for product management.

Inventory List Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Inventory List
name
(string) The Name your company has given to this Inventory List

Supplier Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Supplier
name
(string) The Supplier Name

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/products/skus/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/products/skus/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get SKUs
    # GET https://api-sandbox.cruxconnect.com/timp/products/skus/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/products/skus/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get SKUs
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/skus/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "pagination": {
    "total_count": 10,
    "start": 0,
    "limit": 25,
    "next_start_index": null
  },
  "skus": [
    {
      "uuid": "95848455-d19b-48f8-8f53-5791818ddeca",
      "restrictions": null,
      "condition": "refurb",
      "sku_distinguishing_attributes": {
        "size": 9,
        "color": "antiquewhite"
      },
      "sku_nondistinguishing_attributes": {
        "diameter_in_inches": 3.6,
      },
      "item": {
        "uuid": "5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4"
      },
      "minimum_advertised_price": 10,
      "msrp": 54.08,
      "price_tiers": [
        {
          "handling_cost": 0.99,
          "shipping_cost_type": "fixed",
          "catalog": {
            "name": "The accidental pollution catalog",
            "uuid": "0692defa-1fbf-4715-b7a2-60690292c37c"
          },
          "shipping_cost_is_estimate": false,
          "cost": 18.12,
          "cost_per_unit": 0.8628571428571429,
          "shipping_cost": 0.99,
          "minimum_tier_quantity": 12
        }
      ],
      "product_images": [
        {
          "uuid": "97fa6aad-b160-4dea-9740-3eaa98886ccd",
          "url": "https://picsum.photos/285/?image=17",
          "uri_type": "url",
          "width": 285,
          "height": 285
        },
      ],
      "product_videos": [
        {
          "uuid": "94726495-b160-4dea-9740-3eaa98886ccd",
          "url": "https://somewhere.videos/285/?video=17",
          "uri_type": "url",
        },
      ],
      "measurements": {
        "package": {
          "height": null,
          "length": null,
          "width": null,
          "weight_units": null,
          "weight": null,
          "dimension_units": null
        },
        "sku": {
          "height": null,
          "length": null,
          "width": null,
          "weight_units": null,
          "weight": null,
          "dimension_units": null
        }
      },
      "product_identifiers": {
        "upca": null,
        "ean13": null,
        "gtin14": null,
        "isbn": null,
        "asin": null,
        "mpn": null
      },
      "inventory_lists": [
        {
          "uuid": "1431483d-f893-45a4-8a73-0a46c44d15c5",
          "name": "The absurd ear Inventory List"
        },
        {
          "uuid": "5d173491-52ad-4650-91cf-b279475f978d",
          "name": "The ablaze duck Inventory List"
        }
      ],
      "created": "2018-04-06T01:12:10.036088Z",
      "last_updated": "2018-04-06T01:12:10.036182Z",
      "sku_id": "wQWFpGc",
      "quantity_in_stock": null,
      "quantity_on_backorder": 79,
      "number_of_units_bundled": 21
    }
  ]
}

get /timp/products/skus/<sku_uuid>/

Get Details about a SKU

Get Details about a SKU. There is a varying amount of data provided with each SKUs. The Response Parameters listed below are potential attributes of SKUs that may be returned to you.

URL Parameters:

Parameters
sku_uuid
(string) The Universal Unique Identifier for the SKU

Response Parameters:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU
restrictions
(string) The Restrictions imposed on the SKU
condition
(string) The Condition of the SKU; these include “new”, “used”, and “refurb”
sku_distinguishing_attributes
(array) Attributes that help to distinquish one sku from another. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a distinquishing attribute if another another sku of the same item is color: green
sku_nondistinguishing_attributes
(array) Attributes that are particular to the individual sku and do not necessarily distinquish a sku from other skus. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a non-distinquishing attribute if another sku(s) of the same item has the attribute color: blue. If all the skus of an item share the same non-distinguishing attribute, then it is preferrable to list that attribute as part of item_attributes.
minimum_advertised_price
(decimal) The Minimum Advertised Price (MAP) is a price floor for advertisement on the SKU. You may not legally list the SKU for sale at a lower price. (2 decimal places)
msrp
(decimal) The Manufacturer’s Suggested Retail Price for the SKU. This is only a suggestion. It is not a price floor nor is it a price ceiling. (2 decimal places)
price_tiers
(array) Array of Price Tier objects on this SKU
product_images
(array) Array of product image objects for the SKU. Each object contains a uuid, uri, uri_type, width, and height of the image.
product_videos
(array) Array of product video objects for the SKU. Each object contains a uuid, uri, and uri_type of the video.
measurements
(object) The Measurements object contains sku measurements object and a package measurements object.
product_identifiers
(object) The Product Identifiers object contains the upca, ean13, gtin14, isbn, asin, and mpn for the SKU.
inventory_lists
(array) Array of all the Inventory list objects where the SKU currently resides.
created
(string) The Created parameter indicates the date the SKU was Created in our system.
last_updated
(string) The Last Updated parameter indicates the date the SKU was Last Updated in our system.
sku_id
(string) The SKU Identifier for the SKU as provided by the Supplier
quantity_in_stock
(integer) The Quantity In-Stock parameter indicates how many SKUs are currently available for purchase.
quantity_on_backorder
(integer) The Quantity on Backorder parameter indicates how many of this particular SKU are going to be replenished. It can be considered a tentative quantity to be added to the current quantity in-stock.
number_of_units_bundled
(integer) The Number of Units Bundled parameter indicates how many SKUs are in a single bundle.
item
(object) The Item object contains the item_uuid; the item_uuid is the parent identifer for the sku_uuid.

Price Tier Object:

Parameters
handling_cost
(decimal) Handling cost for the item at the price tier (2 decimal places)
shipping_cost_type
(string) Shipping cost type including Fixed, Free, or Variable
catalog
(object) Catalog Object including the catalog name and catalog uuid
shipping_cost_is_estimate
(boolean) Boolean value showing if the shipping cost is an estimate or not
cost
(decimal) Cost for the item at the price tier (2 decimal places)
cost_per_unit
(decimal) Unit cost for an item at the price tier (2 decimal places)
shipping_cost
(decimal) Unit shipping cost
minimum_tier_quantity
(integer) Minimum quantity purchased to qualify for the price tier

Catalog Object

Parameters
uuid
(string) Universal Unique Identifier for the Catalog
name
(string) Catalog Name

Product Image Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Image
uri
(string) The URI for the SKU Product Image
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’
width
(integer) The Image Width in pixels for the SKU Product Image
height
(integer) The Image Height in pixels for the SKU Product Image

Product Video Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Video
uri
(string) The URI for the SKU Product Video
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’

SKU Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the SKU in “dimension_units” (2 decimal places)

Package Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the packaged SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the packaged SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the packaged SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the packaged SKU in “dimension_units” (2 decimal places)

Product Identifiers Object:

Parameters
upca
(string) The Universal Product Code type A (UPCA) is a 12-digit code used to identify the SKU.
ean13
(string) The 13-digit European Article Number (EAN13) also known as the International Article Number is a 13-digit code used to identify the SKU.
gtin14
(string) The 14-digit Global Trade Identification Number (GTIN14) also known as the Global Trade Item Number is a 14-digit code used to identify the SKU.
isbn
(string) The International Standard Book Number (ISBN) is a unique numberic commercial book identifier. If the SKU is a book or can be classified as a book in some way shape or form, then an ISBN may be available for it.
asin
(string) Amazon Standard Identification Number (ASIN) is the unique ID provided by the Amazon company. This number may be used to identify and match this SKU up to the proper listing on Amazon.com.
mpn
(string) Manufacturer Part Number (MPN) is an identifier given to a part by the manufacturer. This number may be used to identify products such as car parts or computer parts that generally have sofisticated systems and readily available software for product management.

Inventory List Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Inventory List
name
(string) The Name your company has given to this Inventory List

Supplier Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Supplier
name
(string) The Supplier Name

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/products/skus/95848455-d19b-48f8-8f53-5791818ddeca/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "address": {
    "state": "NY",
    "city": "New York",
    "address1": "30 Rockefeller Plaza",
    "business_name": "NBC",
    "postal_code": "10112",
    "name": "Bob Iger",
    "address2": "STE 123"
  },
  "shipping_carrier": "UPS",
  "po_number": "po-PSJrQDYh",
  "notes": "here are some notes",
  "skus": [
    {
      "quantity": "72",
      "sku_id": "WONKYWILLA1"
    },
    {
      "quantity": "848",
      "sku_id": "CHOCO77"
    }
  ],
  "shipping_method": "Ground"
}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/products/skus/95848455-d19b-48f8-8f53-5791818ddeca/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    address:="{
  \"state\": \"NY\",
  \"city\": \"New York\",
  \"address1\": \"30 Rockefeller Plaza\",
  \"business_name\": \"NBC\",
  \"postal_code\": \"10112\",
  \"name\": \"Bob Iger\",
  \"address2\": \"STE 123\"
}" \
    shipping_carrier="UPS" \
    po_number="po-PSJrQDYh" \
    notes="here are some notes" \
    skus:="[
  {
    \"quantity\": \"72\",
    \"sku_id\": \"WONKYWILLA1\"
  },
  {
    \"quantity\": \"848\",
    \"sku_id\": \"CHOCO77\"
  }
]" \
    shipping_method="Ground"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Sku Detail
    # GET https://api-sandbox.cruxconnect.com/timp/products/skus/95848455-d19b-48f8-8f53-5791818ddeca/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/products/skus/95848455-d19b-48f8-8f53-5791818ddeca/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    address:="{
  \"state\": \"NY\",
  \"city\": \"New York\",
  \"address1\": \"30 Rockefeller Plaza\",
  \"business_name\": \"NBC\",
  \"postal_code\": \"10112\",
  \"name\": \"Bob Iger\",
  \"address2\": \"STE 123\"
}" \
    shipping_carrier="UPS" \
    po_number="po-PSJrQDYh" \
    notes="here are some notes" \
    skus:="[
  {
    \"quantity\": \"72\",
    \"sku_id\": \"WONKYWILLA1\"
  },
  {
    \"quantity\": \"848\",
    \"sku_id\": \"CHOCO77\"
  }
]" \
    shipping_method="Ground")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Sku Detail
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/skus/95848455-d19b-48f8-8f53-5791818ddeca/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"skus\":[{\"quantity\":\"72\",\"sku_id\":\"WONKYWILLA1\"},{\"quantity\":\"848\",\"sku_id\":\"CHOCO77\"}],\"po_number\":\"po-PSJrQDYh\",\"notes\":\"here are some notes\",\"shipping_carrier\":\"UPS\",\"shipping_method\":\"Ground\",\"address\":{\"name\":\"Bob Iger\",\"business_name\":\"NBC\",\"address1\":\"30 Rockefeller Plaza\",\"address2\":\"STE 123\",\"city\":\"New York\",\"state\":\"NY\",\"postal_code\":\"10112\"}}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "skus": [
    {
      "quantity": "72",
      "sku_id": "WONKYWILLA1"
    },
  ],
  "po_number": "po-PSJrQDYh",
  "notes": "here are some notes",
  "shipping_carrier": "UPS",
  "shipping_method": "Ground",
  "address": {
    "name": "Bob Iger",
    "business_name": "NBC",
    "address1": "30 Rockefeller Plaza",
    "address2": "STE 123",
    "city": "New York",
    "state": "NY",
    "postal_code": "10112"
  }
}
{
  "uuid": "95848455-d19b-48f8-8f53-5791818ddeca",
  "restrictions": null,
  "condition": "refurb",
  "sku_distinguishing_attributes": {
    "size": 9,
    "color": "antiquewhite"
  },
  "sku_nondistinguishing_attributes": {
    "diameter_in_inches": 3.6,
  },
  "item": {
    "uuid": "5a5fe856-a4bd-4dd2-ac5e-e3c9c29e5ed4"
  },
  "minimum_advertised_price": 10,
  "msrp": 54.08,
  "price_tiers": [
    {
      "handling_cost": 0.99,
      "shipping_cost_type": "fixed",
      "catalog": {
        "name": "The accidental pollution catalog",
        "uuid": "0692defa-1fbf-4715-b7a2-60690292c37c"
      },
      "shipping_cost_is_estimate": false,
      "cost": 20.99,
      "cost_per_unit": 0.9995238095238095,
      "shipping_cost": 1.99,
      "minimum_tier_quantity": 1
    },
  ],
  "product_images": [
    {
      "uuid": "97fa6aad-b160-4dea-9740-3eaa98886ccd",
      "url": "https://picsum.photos/285/?image=17",
      "uri_type": "url",
      "width": 285,
      "height": 285
    },
  ],
  "product_videos": [
    {
      "uuid": "84730687-b160-4dea-9740-3eaa98886ccd",
      "url": "https://somewhere.videos/285/?video=32",
      "uri_type": "url",
    },
  ],
  "measurements": {
    "package": {
      "height": null,
      "length": null,
      "width": null,
      "weight_units": null,
      "weight": null,
      "dimension_units": null
    },
    "sku": {
      "height": null,
      "length": null,
      "width": null,
      "weight_units": null,
      "weight": null,
      "dimension_units": null
    }
  },
  "product_identifiers": {
    "upca": null,
    "ean13": null,
    "gtin14": null,
    "isbn": null,
    "asin": null,
    "mpn": null
  },
  "inventory_lists": [
    {
      "uuid": "1431483d-f893-45a4-8a73-0a46c44d15c5",
      "name": "The absurd ear inventory list"
    },
    {
      "uuid": "5d173491-52ad-4650-91cf-b279475f978d",
      "name": "The ablaze duck inventory list"
    }
  ],
  "created": "2018-04-06T01:12:10.036088Z",
  "last_updated": "2018-04-06T01:12:10.036182Z",
  "sku_id": "wQWFpGc",
  "quantity_in_stock": null,
  "quantity_on_backorder": 79,
  "number_of_units_bundled": 21
}

post /timp/products/items/search/export/

Get Item List allows you to return a complete list of items you are interested in.

Get an Export of the Items sent back to the browser or via an email to your email address on file.

The file returned is a comma delimited (.csv) containing the response parameter data in a flat format.

If there are no skus, then the returned export is a csv file with a simple header (item_id and sku_id) with no underlying values.

Request Parameters:

Parameters
item_uuids
(list) The Item UUIDs parameter provides a list of item_uuids to be exported

Response Parameters:

Parameters
uuid
(string) The Universal Unique Identifier for the Export.

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/items/search/export/" \
     -H 'Authorization: Token 47d4yfbwymedhiudj384702984nakju4hajh395d' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "item_uuids": [
    "0134a3b5-be78-4a2a-a9b7-e2a5ecbcf017",
    "31adb57c-a40a-4a99-b3d0-3c6ccd8e8941"
  ]
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/items/search/export/' \
    'Authorization':'Token 47d4yfbwymedhiudj384702984nakju4hajh395d' \
    'Content-Type':'application/json; charset=utf-8' \
    item_uuids:="[
  \"0134a3b5-be78-4a2a-a9b7-e2a5ecbcf017\",
  \"31adb57c-a40a-4a99-b3d0-3c6ccd8e8941\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Item Export by Search
    # POST https://api-sandbox.cruxconnect.com/timp/products/items/search/export/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/items/search/export/",
            headers={
                "Authorization": "Token 47d4yfbwymedhiudj384702984nakju4hajh395d",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    item_uuids:="[
  \"0134a3b5-be78-4a2a-a9b7-e2a5ecbcf017\",
  \"31adb57c-a40a-4a99-b3d0-3c6ccd8e8941\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Item Export by Search
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/items/search/export/',
        method: 'POST',
        headers: {"Authorization":"Token 47d4yfbwymedhiudj384702984nakju4hajh395d","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"item_uuids\":[\"0134a3b5-be78-4a2a-a9b7-e2a5ecbcf017\",\"31adb57c-a40a-4a99-b3d0-3c6ccd8e8941\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "item_uuids": [
    "0134a3b5-be78-4a2a-a9b7-e2a5ecbcf017",
    "31adb57c-a40a-4a99-b3d0-3c6ccd8e8941"
  ]
}
{
  "export": {
    "uuid": "99f15ad9-d8ac-4f07-8eff-94640d807618"
  }
}

get /timp/products/inventory-lists/<inventory_list_uuid>/

Get the Details of a particular Inventory List you have access to

Get the Details of a particular Inventory List you have access to.

URL Parameters

Parameters
inventory_list_uuid
(string) Universal Unique Identifier for the Inventory List

Response Parameters:

Parameters
uuid
(string) Universal Unique Identifier for the Inventory List
retailer
(object) The Retailer object contains a single retailer_uuid.
skus
(array) The SKUs list parameter contains a list of SKU objects containing a single sku_uuid each
created
(string) The Created parameter is the date the Catalog was Created.
last_updated
(string) The Last Updated parameter is the date the Catalog was Last Updated.
name
(string) The Name the supplier has designated for this Inventory List
description
(string) The Description the supplier has provided for this Inventory List

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/fef4116d-7a13-4dcf-a40c-10faa19f562c/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/fef4116d-7a13-4dcf-a40c-10faa19f562c/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Inventory List Detail
    # GET https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/fef4116d-7a13-4dcf-a40c-10faa19f562c/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/fef4116d-7a13-4dcf-a40c-10faa19f562c/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Inventory List Detail
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/inventory-lists/fef4116d-7a13-4dcf-a40c-10faa19f562c/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "uuid": "fef4116d-7a13-4dcf-a40c-10faa19f562c",
  "retailer": {
    "uuid": "7b438288-bc88-4247-ac12-84e4519854fb"
  },
  "skus": [
    {
      "uuid": "26476fbe-3427-4648-9925-2090e06a41e9"
    },
  ],
  "created": "2018-04-24T23:48:19.876044Z",
  "last_updated": "2018-04-24T23:48:19.876086Z",
  "name": "The enormous grass inventory list",
  "description": "When it's all said and done, there's still enormous grass inventory list."
}

get /timp/products/inventory-lists/

Get the Inventory Lists for your account

Get the Inventory Lists for your account.

Response Parameters:

Parameters
uuid
(string) Universal Unique Identifier for the Inventory List
retailer
(object) The Retailer object contains a single retailer uuid
skus
(array) The SKUs list parameter contains a list of SKU objects containing a single sku uuid each
created
(string) The Created parameter is the date the Catalog was Created.
last_updated
(string) The Last Updated parameter is the date the Catalog was Last Updated.
name
(string) The Name the supplier has designated for this Inventory List
description
(string) The Description the supplier has provided for this Inventory List

Expected Response Codes

For standard response codes see: Response Codes |

curl "https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/" \
     -H 'Authorization: Token 47d4yfbwymedhiudj384702984nakju4hajh395d' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/' \
    'Authorization':'Token 47d4yfbwymedhiudj384702984nakju4hajh395d' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get List of Inventory Lists
    # GET https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/",
            headers={
                "Authorization": "Token 47d4yfbwymedhiudj384702984nakju4hajh395d",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get List of Inventory Lists
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/inventory-lists/',
        method: 'GET',
        headers: {"Authorization":"Token 47d4yfbwymedhiudj384702984nakju4hajh395d","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "pagination": {
    "total_count": 150,
    "start": 30,
    "limit": 10,
  },
  "inventory_lists": [
    {
      "uuid": "868ea19d-5081-42ab-a4a5-c2337cd292af",
      "retailer": {
        "uuid": "1d2e146c-a3df-4073-89c6-9ffc3061319c"
      },
      "skus": [
        {
          "uuid": "9060814c-9feb-4a3e-958c-cb26d537cffc"
        },
        {
          "uuid": "12009d4d-6206-4811-9934-10e6016769e8"
        },
        {
          "uuid": "1ba7a1e7-0eb3-46ae-875f-67d65caa94fa"
        }
      ],
      "created": "2017-10-23T18:28:19.509589Z",
      "last_updated": "2017-10-23T18:28:19.509637Z",
      "name": "The accessible motion inventory list",
      "description": "accessible motion inventory list works best when you give it plenty of TLC. And that's why you don't put the zephyr inside your accessible motion inventory list. It doesn't work that way. All your wildest dreams would come true. Oh, no you don't!  Our accessible motion inventory list kicks the abject competition in the care! Be the hero. Be the kind of person your mother wanted you to me. Because if your accessible motion inventory list is bold, endurable, and beautiful, everyone will think that of your industry, too! Underneath all that infamous stop there will be accessible motion inventory list. Watching. Waiting. Wanting. Wishing. Wondering. Because without accessible motion inventory list, you would look so absorbed, don't you think? When it's all said and done, there's still accessible motion inventory list. Still. Because we care about how your accessible motion inventory list looks! You know you want it."
    },
    {
      "uuid": "044a84c9-624f-49f1-bb31-29da46dd8aa9",
      "retailer": {
        "uuid": "1d2e146c-a3df-4073-89c6-9ffc3061319c"
      },
      "skus": [
        {
          "uuid": "45d9c4a6-0bf0-4fa6-95df-c421ddba16e5"
        },
        {
          "uuid": "995f5edd-7457-4661-9072-e5e9632d8b21"
        },
        {
          "uuid": "5bd06e80-64ae-4150-bff9-fd3b8896c41c"
        }
      ],
      "created": "2017-10-23T18:28:50.082811Z",
      "last_updated": "2017-10-23T18:28:50.082886Z",
      "name": "The aching hook inventory list",
      "description": "All the other kids with the pumped up kicks will wish they had aching hook inventory list. Be the hero. Because we care about how your aching hook inventory list looks! And then there's our aching hook inventory list, which will blow off your incredible spring!! Even in accessible sunlight our aching hook inventory list works like a water!It will blow your accessible mind.Then tacos will start raining right out of the accessible sky.Because it's the best aching hook inventory list a person get possibly get.  At least on a accessible Tuesday! Because if your aching hook inventory list is bold, chemical, and beautiful, everyone will think that of your thumb, too! When it's all said and done, there's still aching hook inventory list. Still. Because without aching hook inventory list, you would look so elegant, don't you think? It's clear, crisp, and guaranteed! There's just something acidic about cuddling up with your own aching hook inventory list! Be the kind of person your mother wanted you to me. All your wildest dreams would come true. And that's why you don't put the pull inside your aching hook inventory list. It doesn't work that way."
    },
    {
      "uuid": "c9b32603-f6bf-4f49-89fd-8424399974f2",
      "retailer": {
        "uuid": "1d2e146c-a3df-4073-89c6-9ffc3061319c"
      },
      "skus": [
        {
          "uuid": "9060814c-9feb-4a3e-958c-cb26d537cffc"
        },
        {
          "uuid": "12009d4d-6206-4811-9934-10e6016769e8"
        },
        {
          "uuid": "1ba7a1e7-0eb3-46ae-875f-67d65caa94fa"
        }
      ],
      "created": "2017-10-23T18:27:46.581468Z",
      "last_updated": "2017-10-23T18:27:46.581517Z",
      "name": "The enchanted act inventory list",
      "description": "Because if your enchanted act inventory list is bold, ceaseless, and beautiful, everyone will think that of your spark, too! You know you want it. Oh, no you don't!  Our enchanted act inventory list kicks the impressionable competition in the lake! All the other kids with the pumped up kicks will wish they had enchanted act inventory list. When it's all said and done, there's still enchanted act inventory list. Still. I like, it, I love it, I want some more of it. Because we care about how your enchanted act inventory list looks! Be the kind of person your mother wanted you to me."
    }
  ]
}

post /timp/products/inventory-lists/

Create an Inventory List for your account

Create an Inventory Lists for your account.

To add SKUs to an Inventory List see Inventory Add SKU.

To add Items to an Inventory List see Inventory Add Item.

Request Parameters:

Parameters
name
(string) The Name of the new Inventory List
description
(string) The Description for the Inventory List

Response Parameters:

Parameters
uuid
(string) Universal Unique Identifier for the Inventory List
retailer
(object) The Retailer object contains a single retailer_uuid.
skus
(array) An empty array that is used to hold SKUs associated with the inventory list. To add SKUs to an Inventory List see Inventory Add SKU.
num_skus
(integer) The total Number of SKUs per the Catalog
created
(string) The Created parameter is the date the Catalog was Created.
last_updated
(string) The Last Updated parameter is the date the Catalog was Last Updated.
name
(string) The Name the supplier has designated for this Catalog
description
(string) The Description the supplier has provided for this Catalog

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "name": "New Test Inventory List Name FXu6XvYOGskXhn1v5SAL17IW7AeTImhA",
  "description": "The Description for the New Test Inventory List Name"
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    name="New Test Inventory List Name FXu6XvYOGskXhn1v5SAL17IW7AeTImhA" \
    description="The Description for the New Test Inventory List Name"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Create Inventory List
    # POST https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    name="New Test Inventory List Name FXu6XvYOGskXhn1v5SAL17IW7AeTImhA" \
    description="The Description for the New Test Inventory List Name")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Create Inventory List
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/inventory-lists/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"name\":\"New Test Inventory List Name FXu6XvYOGskXhn1v5SAL17IW7AeTImhA\",\"description\":\"The Description for the New Test Inventory List Name\"}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "name": "New Test Inventory List Name FXu6XvYOGskXhn1v5SAL17IW7AeTImhA",
  "description": "The Description for the New Test Inventory List Name"
}
{
  "uuid": "054c051c-891d-4063-a299-62d6e5036e53",
  "retailer": {
    "uuid": "7b438288-bc88-4247-ac12-84e4519854fb"
  },
  "skus": [],
  "created": "2018-05-08T13:37:09.677282Z",
  "last_updated": "2018-05-08T13:37:09.677329Z",
  "name": "New Test Inventory List Name 2BWllm6i28nj7mOpH4K0XqC0UwG4UNRH",
  "description": "The Description for the New Test Inventory List Name"
}

post /timp/products/inventory-lists/<inventory_list_uuid>/add-items/

Add Items to an existing Inventory List for your account

Add Items to an existing Inventory List for your account.

To create an Inventory List see Create Inventory List

To add SKUs to an Inventory List see Inventory Add SKU.

URL Parameters

Parameters
inventory_list_uuid
(string) Universal Unique Identifier for the Inventory List

Request Parameters:

Parameters
item_uuids
(array) An array of item_uuids for all of the items you wish to add to your Inventory List

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-items/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "item_uuids": [
    "6dc3646a-8719-483e-8b4c-617215fb1bf0"
  ]
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-items/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    item_uuids:="[
  \"6dc3646a-8719-483e-8b4c-617215fb1bf0\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Inventory Add Item
    # POST https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-items/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-items/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    item_uuids:="[
  \"6dc3646a-8719-483e-8b4c-617215fb1bf0\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Inventory Add Item
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-items/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"item_uuids\":[\"6dc3646a-8719-483e-8b4c-617215fb1bf0\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "item_uuids": [
    "6dc3646a-8719-483e-8b4c-617215fb1bf0"
  ]
}

post /timp/products/inventory-lists/<inventory_list_uuid>/remove-items/

Remove Items from an existing Inventory List for your account

Remove Items with all associated SKUs from an Inventory List.

URL Parameters

Parameters
inventory_list_uuid
(string) Universal Unique Identifier for the Inventory List

Request Parameters:

Parameters
item_uuids
(array) The Items parameter holds item_uuids for all of the items you wish to add to your Inventory List

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-items/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "item_uuids": [
    "6dc3646a-8719-483e-8b4c-617215fb1bf0"
  ]
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-items/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    item_uuids:="[
  \"6dc3646a-8719-483e-8b4c-617215fb1bf0\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Inventory Remove Item
    # POST https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-items/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-items/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    item_uuids:="[
  \"6dc3646a-8719-483e-8b4c-617215fb1bf0\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Inventory Remove Item
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-items/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"item_uuids\":[\"6dc3646a-8719-483e-8b4c-617215fb1bf0\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "item_uuids": [
    "6dc3646a-8719-483e-8b4c-617215fb1bf0"
  ]
}

post /timp/products/inventory-lists/<inventory_list_uuid>/add-items-by-search/

Add Items to an existing Inventory List by Search

Add Items with all associated SKUs based upon your search criteria to an existing Inventory List.

URL Parameters

Parameters
inventory_list_uuid
(string) Universal Unique Identifier for the Inventory List

Request Parameters:

Parameters
filters
(object) The Filters object parameter includes all of the potential filters you wish to include in your Search.
facets
(object) The Facets object parameter includes all of the potential facets you wish to include in your Search.
search_term
(string) The Search Term you would like to search for
sort
(string) The Sort parameter indicates what attribute on which you would like to sort
pagination
(object) The Pagination object includes start and limit which allow you to receive a manageable amount of data back from your API call.

Filters Object

Parameters
cost_per_unit
(object) The Cost Per Unit object may contain a minimum and a maximum number
number_of_item_images
(object) The Number of Item Images object may contain a minimum and a maximum number
image_height
(object) The Image Height object may contain a minimum and a maximum number
image_width
(object) The Image Width object may contain a minimum and a maximum number

Facets Object

Parameters
supplier
(array) Array of suppliers using uuid or name
shipping_cost_type
(array) Array of shipping costs types as defined by the Supplier
shipping_origin_country
(array) Array of country shipping origins using the country codes using 2 character format. For example: “US”, “CA”, “GE”
bundle_type
(array) Array of bundle types the Supplier has set up for the SKUs. Values for bundle_type_name include “Case Pack” and “Single”.
product_identifiers
(array) Array of product identifiers available on each SKU
categories
(array) Array of categories in which SKUs may reside
catalog_type
(array) Array of catalog types to which the retrieved SKUs belong. Values include “standard” and/or “discovery”. Defaults to [“standard”] if catalog_type is not provided.

Pagination Object

Parameters
start
(integer) The Start parameter indicates on which element of the list of results the pagination should begin.
limit
(integer) The Limit parameter indicates one which element of the list of results the pagination should end.

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-items-by-search/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "search_term": "",
  "filters": {
    "cost_per_unit": {
      "min": "0"
    }
  },
  "pagination": {
    "start": 0,
    "limit": 50
  },
  "sort": "title",
  "facets": {
    "supplier": [],
    "shipping_cost_type": [],
    "shipping_origin_country": [],
    "bundle_type": [],
    "product_identifiers": [],
    "categories": [],
    "catalog_type": []
  }
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-items-by-search/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    search_term="" \
    filters:="{
  \"cost_per_unit\": {
    \"min\": \"0\"
  }
}" \
    pagination:="{
  \"start\": 0,
  \"limit\": 50
}" \
    sort="title" \
    facets:="{
  \"supplier\": [],
  \"shipping_cost_type\": [],
  \"shipping_origin_country\": [],
  \"bundle_type\": [],
  \"product_identifiers\": [],
  \"categories\": [],
  \"catalog_type\": []
}"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Inventory Add Item by Search
    # POST https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-items-by-search/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-items-by-search/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    search_term="" \
    filters:="{
  \"cost_per_unit\": {
    \"min\": \"0\"
  }
}" \
    pagination:="{
  \"start\": 0,
  \"limit\": 50
}" \
    sort="title" \
    facets:="{
  \"supplier\": [],
  \"shipping_cost_type\": [],
  \"shipping_origin_country\": [],
  \"bundle_type\": [],
  \"product_identifiers\": [],
  \"categories\": [],
  \"catalog_type]": []
}")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Inventory Add Item by Search
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-items-by-search/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"filters\":{\"cost_per_unit\":{\"min\":\"0\"}},\"facets\":{\"supplier\":[],\"shipping_cost_type\":[],\"shipping_origin_country\":[],\"bundle_type\":[],\"product_identifiers\":[],\"categories\":[]},\"search_term\":\"\",\"sort\":\"title\",\"pagination\":{\"start\":0,\"limit\":50}}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "filters": {
    "cost_per_unit": {
      "min": "0"
    },
    "number_of_item_images": {
      "min": 0,
      "max": "500"
    },
    "image_height": {
      "min": 0,
      "max": 100000
    },
    "image_width": {
      "min": 0,
      "max": 100000
    }
  },
  "facets": {
    "supplier": [],
    "shipping_cost_type": [],
    "shipping_origin_country": [],
    "bundle_type": [],
    "product_identifiers": [],
    "categories": [],
    "catalog_type": []
  },
  "search_term": "",
  "sort": "title",
  "pagination": {
    "start": 0,
    "limit": 50
  }
}

post /timp/products/inventory-lists/<inventory_list_uuid>/remove-items-by-search/

Remove Items from an existing Inventory List by Search

Remove Items with all associated SKUs based upon your search criteria to an existing Inventory List.

URL Parameters

Parameters
inventory_list_uuid
(string) Universal Unique Identifier for the Inventory List

Request Parameters:

Parameters
filters
(object) The Filters object parameter includes all of the potential filters you wish to include in your Search.
facets
(object) The Facets object parameter includes all of the potential facets you wish to include in your Search.
search_term
(string) The Search Term you would like to search for
sort
(string) The Sort parameter indicates what attribute on which you would like to sort
pagination
(object) The Pagination object includes start and limit which allow you to receive a manageable amount of data back from your API call.

Filters Object

Parameters
cost_per_unit
(object) The Cost Per Unit object may contain a minimum and a maximum number
number_of_item_images
(object) The Number of Item Images object may contain a minimum and a maximum number
image_height
(object) The Image Height object may contain a minimum and a maximum number
image_width
(object) The Image Width object may contain a minimum and a maximum number

Facets Object

Parameters
supplier
(array) Array of suppliers using uuid or name
shipping_cost_type
(array) Array of shipping costs types as defined by the Supplier
shipping_origin_country
(array) Array of country shipping origins using the country codes using 2 character format. For example: “US”, “CA”, “GE”
bundle_type
(array) Array of bundle types the Supplier has set up for the SKUs. Values for bundle_type_name include “Case Pack” and “Single”.
product_identifiers
(array) Array of product identifiers available on each SKU
categories
(array) Array of categories in which SKUs may reside
catalog_type
(array) Array of catalog types to which the retrieved SKUs belong. Values include “standard” and/or “discovery”. Defaults to [“standard”] if catalog_type is not provided.

Pagination Object

Parameters
start
(integer) The Start parameter indicates on which element of the list of results the pagination should begin.
limit
(integer) The Limit parameter indicates one which element of the list of results the pagination should end.

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-items-by-search/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "search_term": "",
  "filters": {
    "image_height": {
      "min": 0,
      "max": 100000
    },
    "image_width": {
      "min": 0,
      "max": 100000
    },
    "number_of_item_images": {
      "min": 0,
      "max": "500"
    },
    "cost_per_unit": {
      "min": "0"
    }
  },
  "pagination": {
    "start": 0,
    "limit": 50
  },
  "sort": "title",
  "facets": {
    "supplier": [],
    "shipping_origin_country": [],
    "categories": [],
    "product_identifiers": [],
    "shipping_cost_type": [],
    "catalog_type": [],
    "bundle_type": []
  }
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-items-by-search/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    search_term="" \
    filters:="{
  \"image_height\": {
    \"min\": 0,
    \"max\": 100000
  },
  \"image_width\": {
    \"min\": 0,
    \"max\": 100000
  },
  \"number_of_item_images\": {
    \"min\": 0,
    \"max\": \"500\"
  },
  \"cost_per_unit\": {
    \"min\": \"0\"
  }
}" \
    pagination:="{
  \"start\": 0,
  \"limit\": 50
}" \
    sort="title" \
    facets:="{
  \"supplier\": [],
  \"shipping_origin_country\": [],
  \"categories\": [],
  \"product_identifiers\": [],
  \"shipping_cost_type\": [],
  \"catalog_type\": [],
  \"bundle_type\": []
}"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Inventory Remove Item by Search
    # POST https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-items-by-search/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-items-by-search/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    search_term="" \
    filters:="{
  \"image_height\": {
    \"min\": 0,
    \"max\": 100000
  },
  \"image_width\": {
    \"min\": 0,
    \"max\": 100000
  },
  \"number_of_item_images\": {
    \"min\": 0,
    \"max\": \"500\"
  },
  \"cost_per_unit\": {
    \"min\": \"0\"
  }
}" \
    pagination:="{
  \"start\": 0,
  \"limit\": 50
}" \
    sort="title" \
    facets:="{
  \"supplier\": [],
  \"shipping_origin_country\": [],
  \"categories\": [],
  \"product_identifiers\": [],
  \"shipping_cost_type\": [],
  \"catalog_type\": [],
  \"bundle_type\": []
}")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Inventory Remove Item by Search
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-items-by-search/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"filters\":{\"cost_per_unit\":{\"min\":\"0\"},\"number_of_item_images\":{\"min\":0,\"max\":\"500\"},\"image_height\":{\"min\":0,\"max\":100000},\"image_width\":{\"min\":0,\"max\":100000}},\"facets\":{\"supplier\":[],\"shipping_cost_type\":[],\"shipping_origin_country\":[],\"bundle_type\":[],\"product_identifiers\":[],\"categories\":[],\"catalog_type\":[]},\"search_term\":\"\",\"sort\":\"title\",\"pagination\":{\"start\":0,\"limit\":50}}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "filters": {
    "cost_per_unit": {
      "min": "0"
    },
    "number_of_item_images": {
      "min": 0,
      "max": "500"
    },
    "image_height": {
      "min": 0,
      "max": 100000
    },
    "image_width": {
      "min": 0,
      "max": 100000
    }
  },
  "facets": {
    "supplier": [],
    "shipping_cost_type": [],
    "shipping_origin_country": [],
    "bundle_type": [],
    "product_identifiers": [],
    "categories": [],
    "catalog_type": []
  },
  "search_term": "",
  "sort": "title",
  "pagination": {
    "start": 0,
    "limit": 50
  }
}

post /timp/products/inventory-lists/<inventory_list_uuid>/add-skus/

Add SKUs to an existing Inventory List for your account

Add SKUs to an existing Inventory List for your account.

To add items to an Inventory List see Inventory Add Item.

URL Parameters

Parameters
inventory_list_uuid
(string) Universal Unique Identifier for the Inventory List

Request Parameters:

Parameters
sku_uuids
(array) The SKU UUIDs parameter holds sku_uuids for all of the SKUs you wish to add to your Inventory List

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-skus/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "sku_uuids": [
    "26476fbe-3427-4648-9925-2090e06a41e9"
  ]
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-skus/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    sku_uuids:="[
  \"26476fbe-3427-4648-9925-2090e06a41e9\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Inventory Add SKU
    # POST https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-skus/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-skus/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    sku_uuids:="[
  \"26476fbe-3427-4648-9925-2090e06a41e9\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Inventory Add SKU
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/add-skus/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"sku_uuids\":[\"26476fbe-3427-4648-9925-2090e06a41e9\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "sku_uuids": [
    "26476fbe-3427-4648-9925-2090e06a41e9"
  ]
}

post /timp/products/inventory-lists/<inventory_list_uuid>/remove-skus/

Remove SKUs from an existing Inventory List for your account

Remove SKUs from an existing Inventory List for your account.

URL Parameters

Parameters
inventory_list_uuid
(string) Universal Unique Identifier for the Inventory List

Request Parameters:

Parameters
skus
(array) The SKUs parameter holds sku_uuids for all of the SKUs you wish to add to your Inventory List

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-skus/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "sku_uuids": [
    "26476fbe-3427-4648-9925-2090e06a41e9"
  ]
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-skus/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    sku_uuids:="[
  \"26476fbe-3427-4648-9925-2090e06a41e9\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Inventory Remove SKU
    # POST https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-skus/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-skus/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    sku_uuids:="[
  \"26476fbe-3427-4648-9925-2090e06a41e9\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Inventory Remove SKU
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/inventory-lists/054c051c-891d-4063-a299-62d6e5036e53/remove-skus/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"sku_uuids\":[\"26476fbe-3427-4648-9925-2090e06a41e9\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "sku_uuids": [
    "26476fbe-3427-4648-9925-2090e06a41e9"
  ]
}

post /timp/products/catalogs/

Create a Catalog

Create a new Catalog for Retailers to access.

Request Parameters:

Parameters
name
(string) The Name of the Catalog
description
(string) The Description for the new Catalog
default_shipping_cost
(decimal) The Default Shipping Cost parameter contains a Shipping Cost the Supplier determined to be the Default. If null or empty, the Supplier has a variable ship cost per the SKUs or a more sophisticated Shipping strategy. (2 decmial places)
default_handling_cost
(decimal) The Default Handling Cost parameter contains a Handling Cost the Supplier determined to be the Default. If null or empty, the Supplier has a variable handling cost per the SKUs or a more sophisticated handling strategy. (2 decmial places)

Response Parameters:

Parameters
uuid
(string) Universal Unique Identifier for the Catalog
supplier
(object) Supplier object containing the supplier uuid
skus
(array) The SKUs list parameter contains a list of SKU objects containing a single sku_uuid each
num_skus
(integer) The total Number of SKUs per the Catalog
default_shipping_cost
(decimal) The Default Shipping Cost parameter contains a Shipping Cost the Supplier determined to be the Default. If null or empty, the Supplier has a variable ship cost per the SKUs or a more sophisticated Shipping strategy. (2 decmial places)
default_handling_cost
(decimal) The Default Handling Cost parameter contains a Handling Cost the Supplier determined to be the Default. If null or empty, the Supplier has a variable handling cost per the SKUs or a more sophisticated handling strategy. (2 decmial places)
retailer
(object) The Retailer object contains a single retailer_uuid.
created
(string) The Created parameter is the date the Catalog was Created.
last_updated
(string) The Last Updated parameter is the date the Catalog was Last Updated.
name
(string) The Name the supplier has designated for this Catalog
description
(string) The Description the supplier has provided for this Catalog

Supplier Object

Parameters
uuid
(string) The Universal Unique Identifier for the supplier

SKUs Object

Parameters
sku_uuid
(string) The Universal Unique Identifier for the SKU

Retailer Object

Parameters
retailer_uuid
(string) The Universal Unique Identifier for the Retailer

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/catalogs/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "default_handling_cost": "1.89",
  "name": "Crux  Worldwide Connection OtgpdcPYFOlwlN5GM1NPgewoSuIRCQeE",
  "description": "Crux Worldwide Connection is a test catalog for the purposes of testing",
  "default_shipping_cost": "5.33"
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/catalogs/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    default_handling_cost="1.89" \
    name="Crux  Worldwide Connection OtgpdcPYFOlwlN5GM1NPgewoSuIRCQeE" \
    description="Crux Worldwide Connection is a test catalog for the purposes of testing" \
    default_shipping_cost="5.33"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Create Catalog
    # POST https://api-sandbox.cruxconnect.com/timp/products/catalogs/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/catalogs/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    default_handling_cost="1.89" \
    name="Crux  Worldwide Connection OtgpdcPYFOlwlN5GM1NPgewoSuIRCQeE" \
    description="Crux Worldwide Connection is a test catalog for the purposes of testing" \
    default_shipping_cost="5.33")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Create Catalog
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/catalogs/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"name\":\"Crux  Worldwide Connection OtgpdcPYFOlwlN5GM1NPgewoSuIRCQeE\",\"description\":\"Crux Worldwide Connection is a test catalog for the purposes of testing\",\"default_shipping_cost\":\"5.33\",\"default_handling_cost\":\"1.89\"}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "name": "Crux  Worldwide Connection OtgpdcPYFOlwlN5GM1NPgewoSuIRCQeE",
  "description": "Crux Worldwide Connection is a test catalog for the purposes of testing",
  "default_shipping_cost": "5.33",
  "default_handling_cost": "1.89"
}
{
  "uuid": "afdfd2c5-e338-4026-8122-13f5a2373a1a",
  "supplier": {
    "uuid": "7cbf1ff0-3c91-4504-a3cc-c5bedf91f4a9"
  },
  "skus": [],
  "num_skus": 0,
  "default_shipping_cost": 5.33,
  "default_handling_cost": 1.89,
  "retailers": [],
  "created": "2018-04-26T21:21:57.618785Z",
  "last_updated": "2018-04-26T21:21:57.618834Z",
  "name": "Crux  Worldwide Connection 3qBqMnfBdQmQTxIDJV4634FcLd0gei8y",
  "description": "Crux Worldwide Connection is a test catalog for the purposes of testing",
  "is_discoverable": null
}

post /timp/products/catalogs/<catalog-uuid>/add-items/

Add already existing Items to a Catalog

Add already existing Items to a Catalog for Retailers to access. This allows you to add Items to a Catalog with all associated SKUs. By providing your catalog_uuid and a list of item_ids with related data, you can successfully add them to the indicated Catalog.Your username and password are optional as you can send your authorization token to receive this information.

URL Parameters:

Parameters
catalog-uuid
(string) Unique Universal Identifier for the Catalog

Request Parameters

Parameters
item_uuids
(array) An array of existing Item Universal Unique Identifiers for the items to include in the catalog

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/catalogs/2bb9b2b0-a71a-4f32-93a7-c960fa4cdb29/add-items/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "item_uuids": [
    "905c3e4b-ef10-4f77-b07e-03d4ecb743a0"
  ]
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/catalogs/2bb9b2b0-a71a-4f32-93a7-c960fa4cdb29/add-items/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    item_uuids:="[
  \"905c3e4b-ef10-4f77-b07e-03d4ecb743a0\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Catalog Add Item
    # POST https://api-sandbox.cruxconnect.com/timp/products/catalogs/2bb9b2b0-a71a-4f32-93a7-c960fa4cdb29/add-items/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/catalogs/2bb9b2b0-a71a-4f32-93a7-c960fa4cdb29/add-items/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    item_uuids:="[
  \"905c3e4b-ef10-4f77-b07e-03d4ecb743a0\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Catalog Add Item
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/catalogs/2bb9b2b0-a71a-4f32-93a7-c960fa4cdb29/add-items/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"item_uuids\":[\"905c3e4b-ef10-4f77-b07e-03d4ecb743a0\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "item_uuids": [
    "905c3e4b-ef10-4f77-b07e-03d4ecb743a0"
  ]
}

post /timp/products/catalogs/<catalog-uuid>/add-items-by-search/

Add Items to an existing Catalog by Search

Add Items to an existing Catalog by Search. This allows you to add Items with all associated SKUs via a Search to a Catalog. By providing your catalog_uuid and search criteria, you can successfully add them to the indicated Catalog.

URL Parameters:

Parameters
catalog-uuid
(string) Unique Universal Identifier for the Catalog

Request Parameters:

Parameters
filters
(object) The Filters object parameter includes all of the potential filters you wish to include in your Search. These filters include “cost_per_unit”, “number_of_item_images”, “image_height”, “image_width”, etc.
facets
(object) The Facets object parameter includes all of the potential facets you wish to include in your Search. These facets include “supplier”, “shipping_cost_type”, “shipping_origin_country”, “country_of_origin”, “bundle_type”, “product_identifiers”, “categories”, etc.
search_term
(string) The Search Term you would like to search for
sort
(string) The Sort parameter indicates what attribute on which you would like to sort
pagination
(object) The Pagination object includes start and limit which allow you to receive a manageable amount of data back from your API call.

Filters Object:

Parameters
cost_per_unit
(object) The Cost Per Unit object may contain a minimum and a maximum number
number_of_item_images
(object) The Number of Item Images object may contain a minimum and a maximum number
image_height
(object) The Image Height object may contain a minimum and a maximum number
image_width
(object) The Image Width object may contain a minimum and a maximum number

Facets Object:

Parameters
supplier
(array) Array of suppliers using uuid or name
shipping_cost_type
(array) Array of shipping costs types as defined by the Supplier
shipping_origin_country
(array) Array of country shipping origins using the country codes using 2 character format. For example: “US”, “CA”, “GE”
bundle_type
(array) Array of bundle types the Supplier has set up for the SKUs. Values for bundle_type_name include “Case Pack” and “Single”.
product_identifiers
(array) Array of product identifiers available on each SKU
categories
(array) Array of categories in which SKUs may reside
catalog_type
(array) Array of catalog types to which the retrieved SKUs belong. Values include “standard” and/or “discovery”. Defaults to [“standard”] if catalog_type is not provided.

Pagination Object:

Parameters
start
(integer) The Start parameter indicates on which element of the list of results the pagination should begin.
limit
(integer) The Limit parameter indicates one which element of the list of results the pagination should end.

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/products/catalogs/8a8dba4d-b2d2-4068-b962-e367fe920444/add-items-by-search/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "search_term": "",
  "filters": {
    "cost_per_unit": {
      "min": "0"
    }
  },
  "pagination": {
    "start": 0,
    "limit": 50
  },
  "sort": "title",
  "facets": {
    "supplier": [],
    "shipping_cost_type": [],
    "shipping_origin_country": [],
    "bundle_type": [],
    "product_identifiers": [],
    "categories": []
  }
}'

http --json POST 'https://api-sandbox.cruxconnect.com/products/catalogs/8a8dba4d-b2d2-4068-b962-e367fe920444/add-items-by-search/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    search_term="" \
    filters:="{
  \"cost_per_unit\": {
    \"min\": \"0\"
  }
}" \
    pagination:="{
  \"start\": 0,
  \"limit\": 50
}" \
    sort="title" \
    facets:="{
  \"supplier\": [],
  \"shipping_cost_type\": [],
  \"shipping_origin_country\": [],
  \"bundle_type\": [],
  \"product_identifiers\": [],
  \"categories\": []
}"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Catalog Add Item by Search
    # POST https://api-sandbox.cruxconnect.com/products/catalogs/8a8dba4d-b2d2-4068-b962-e367fe920444/add-items-by-search/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/products/catalogs/8a8dba4d-b2d2-4068-b962-e367fe920444/add-items-by-search/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    search_term="" \
    filters:="{
  \"cost_per_unit\": {
    \"min\": \"0\"
  }
}" \
    pagination:="{
  \"start\": 0,
  \"limit\": 50
}" \
    sort="title" \
    facets:="{
  \"supplier\": [],
  \"shipping_cost_type\": [],
  \"shipping_origin_country\": [],
  \"bundle_type\": [],
  \"product_identifiers\": [],
  \"categories\": []
}")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Catalog Add Item by Search
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/products/catalogs/8a8dba4d-b2d2-4068-b962-e367fe920444/add-items-by-search/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"filters\":{\"cost_per_unit\":{\"min\":\"0\"}},\"facets\":{\"supplier\":[],\"shipping_cost_type\":[],\"shipping_origin_country\":[],\"bundle_type\":[],\"product_identifiers\":[],\"categories\":[]},\"search_term\":\"\",\"sort\":\"title\",\"pagination\":{\"start\":0,\"limit\":50}}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "filters": {
    "cost_per_unit": {
      "min": "0"
    }
  },
  "facets": {
    "supplier": [],
    "shipping_cost_type": [],
    "shipping_origin_country": [],
    "bundle_type": [],
    "product_identifiers": [],
    "categories": []
  },
  "search_term": "",
  "sort": "title",
  "pagination": {
    "start": 0,
    "limit": 50
  }
}

post /timp/products/items/

Create Items allows you to create (add) an item in a Supplier account

Create Items allows you to create (add) an item in a Supplier account. By providing the required request parameters you may create a new item.

Note: this endpoint is under development. There are a number of fields in the response that may not yet be setable in the request body that are returned in the response.

Request Parameters:

Parameters
item_id
(string) The Item Identifier is the identifier for the item as provided by the supplier. This is the parent identifier for the child SKU; SKUs are considered children identifiers to the item_id.
title
(string) The Item Title is the title for the Item
description
(string) The Description for the Item
warranty
(string) The Warranty for the Item, if provided/available
return_policy
(string) The Return Policy for the Item, if provided/available
manufacturer
(string) The Manufacturer for the Item
brand
(string) The Brand of the Item
country_of_origin
(string) The Country of Origin is the country code of the origin of the Item
shipping_origin_country
(string) The Shipping Origin Country is the country code of the shipping origin of the Item. If the item is manufacturered in the USA, but the distributor is in Canada, the Shipping Origin Country is going to have a value of “CA”.
other_marketplace_restriction
(string) The Other Markeplace Restriction is a string list of markeplaces where the item is prohibited from being sold.
fba_certified
(boolean) The Fulfillment By Amazon (FBA) Certified parameter indicates whether this supplier has FBA set up on this Item.
categories
(array) The Categories array contains objects that describe the path to the item. It is structured like categories=[{‘path’: [‘home’, ‘garden’]}] where the item would exist in the garden category which has home as it’s parent. Not implemented yet is passing in the category path description, although a blank description is passed back in the response.
custom_attributes
(object) The Custom Attributes object parameter contains any special attributes you would like to include in a key-value pair

Response Parameters:

Parameters
uuid
(string) Universal Unique Identifier for the Item
skus
(array) The Stock Keeping Units (SKUs) is returned as an empty array that will be used to contains individual SKUs, or Item-variants, with their SKU-level data. see Create Sku
restrict_from_marketplaces
(array) The Restrict From Marketplaces parameter indicates the marketplaces where sales for this Item are not permitted
supplier
(object) The Supplier object contains the uuid for the Supplier and the Supplier name
cost_range
(object) The Cost Range object contains the minimum and maximum prices you will pay for the Item, based on the available variants (SKUs).
minimum_advertised_price_range
(object) The Minimum Advertised Price Range object contains the minimum and maximum MAPs for the item, based on the available variants (SKUs).
msrp_range
(object) The Manufacturer’s Suggested Retail Price Range object contains the minimum and maximum MSRPs for the Item, based on the available variants (SKUs).
product_images
(array) The Product Images list stores a list of images for the item, based on the available variants (SKUs)
product_videos
(array) The Product videos list stores a list of videos for the item, based on the available variants (SKUs)
categories
(array) The Categories array contains objects that describe the path to the item. It is structured like categories=[{‘path’: [‘home’, ‘garden’], description: ‘some string’}] where the item would exist in the garden category which has home as it’s parent. Not implemented yet is passing in the category path description, so an empty string will currently be returned for description.
created
(string) The Created parameter is the date when the Item was added to our system.
last_updated
(string) The Last Updated parameter is the date when the Item was last updated in our system.
item_id
(string) The Item Identifier is the identifier for the item as provided by the supplier. This is the parent identifier for the child SKU; SKUs are considered children identifiers to the item_id.
title
(string) The Item Title is the title for the Item
description
(string) The Description for the Item
warranty
(string) The Warranty for the Item, if provided/available
return_policy
(string) The Return Policy for the Item, if provided/available
manufacturer
(string) The Manufacturer for the Item
brand
(string) The Brand of the Item
country_of_origin
(string) The Country of Origin is the country code of the origin of the Item
shipping_origin_country
(string) The Shipping Origin Country is the country code of the shipping origin of the Item. If the item is manufacturered in the USA, but the distributor is in Canada, the Shipping Origin Country is going to have a value of “CA”.
other_marketplace_restriction
(string) The Other Markeplace Restriction is a string list of markeplaces where the item is prohibited from being sold.
fba_certified
(boolean) The Fulfillment By Amazon (FBA) Certified parameter indicates whether this supplier has FBA set up on this Item.
custom_attributes
(object) The Custom Attributes object contains any special or custom-created attributes provided by the Supplier for this Item.

Supplier Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Supplier
name
(string) The Supplier Name

Cost Range Object:

Parameters
min
(decimal) The Minimum price for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum price for one of the SKUs or Item-variants (2 decimal places)

Minimum Advertized Price Range Object:

Parameters
min
(decimal) The Minimum MAP for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum MAP for one of the SKUs or Item-variants (2 decimal places)

Manufacturer’s Suggested Retail Price (MSRP) Range Object:

Parameters
min
(decimal) The Minimum MSRP for one of the SKUs or Item-variants (2 decimal places)
max
(decimal) The Maximum MSRP for one of the SKUs or Item-variants (2 decimal places)

Product Images Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Image
uri
(string) The URI for the SKU Product Image
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’
width
(integer) The Image Width in pixels for the SKU Product Image
height
(integer) The Image Height in pixels for the SKU Product Image

Product Videos Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Video
uri
(string) The URI for the SKU Product Video
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’

Custom Attributes Object

These are key:value pairs defined by the supplier. For example:

{“color”: “blue”} {“size”: “XL”} {“sauce”: “KC Masterpiece BBQ”}

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/items/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "description": "This is the default description. In this description the product is explained in detail. The idea with the description is to include everything that isn'"'"'t already included elsewhere in the item attributes, such as manufacturer, brand, country_of_origin, shipping_origin_country, marketplace_restrictions, fba_certified, etc.",
  "categories": [
    {
      "path": [
        "computer",
        "games"
      ]
    }
  ],
  "shipping_origin_country": "US",
  "country_of_origin": "CN",
  "category_id": "8hVEcErHcJToqARWeITB6yvdmrXsbH6x",
  "item_id": "J2b35VAXEumkduUhm5ik3MlQ6AS55UgE",
  "brand": "The Brand",
  "other_marketplace_restriction": "eBay, Amazon, Sears, Walmart",
  "fba_certified": false,
  "title": "The Item Title - GeUHLUfHYx",
  "custom_attributes": {
    "Color": "black",
    "Size": "15\\" x 15\\" x 18\\""
  },
  "warranty": "The warranty information is included here",
  "manufacturer": "The Manufacturer",
  "return_policy": "The return policy is included here"
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/items/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    description="This is the default description. In this description the product is explained in detail. The idea with the description is to include everything that isn't already included elsewhere in the item attributes, such as manufacturer, brand, country_of_origin, shipping_origin_country, marketplace_restrictions, fba_certified, etc." \
    categories:="[
  {
    \"path\": [
      \"computer\",
      \"games\"
    ]
  }
]" \
    shipping_origin_country="US" \
    country_of_origin="CN" \
    category_id="8hVEcErHcJToqARWeITB6yvdmrXsbH6x" \
    item_id="J2b35VAXEumkduUhm5ik3MlQ6AS55UgE" \
    brand="The Brand" \
    other_marketplace_restriction="eBay, Amazon, Sears, Walmart" \
    fba_certified:=false \
    title="The Item Title - GeUHLUfHYx" \
    custom_attributes:="{
  \"Color\": \"black\",
  \"Size\": \"15\\\" x 15\\\" x 18\\\"\"
}" \
    warranty="The warranty information is included here" \
    manufacturer="The Manufacturer" \
    return_policy="The return policy is included here"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Create Item
    # POST https://api-sandbox.cruxconnect.com/timp/products/items/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/items/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    description="This is the default description. In this description the product is explained in detail. The idea with the description is to include everything that isn't already included elsewhere in the item attributes, such as manufacturer, brand, country_of_origin, shipping_origin_country, marketplace_restrictions, fba_certified, etc." \
    categories:="[
  {
    \"path\": [
      \"computer\",
      \"games\"
    ]
  }
]" \
    shipping_origin_country="US" \
    country_of_origin="CN" \
    category_id="8hVEcErHcJToqARWeITB6yvdmrXsbH6x" \
    item_id="J2b35VAXEumkduUhm5ik3MlQ6AS55UgE" \
    brand="The Brand" \
    other_marketplace_restriction="eBay, Amazon, Sears, Walmart" \
    fba_certified:=false \
    title="The Item Title - GeUHLUfHYx" \
    custom_attributes:="{
  \"Color\": \"black\",
  \"Size\": \"15\\\" x 15\\\" x 18\\\"\"
}" \
    warranty="The warranty information is included here" \
    manufacturer="The Manufacturer" \
    return_policy="The return policy is included here")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Create Item
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/items/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"item_id\":\"J2b35VAXEumkduUhm5ik3MlQ6AS55UgE\",\"title\":\"The Item Title - GeUHLUfHYx\",\"description\":\"This is the default description. In this description the product is explained in detail. The idea with the description is to include everything that isn't already included elsewhere in the item attributes, such as manufacturer, brand, country_of_origin, shipping_origin_country, marketplace_restrictions, fba_certified, etc.\",\"warranty\":\"The warranty information is included here\",\"return_policy\":\"The return policy is included here\",\"manufacturer\":\"The Manufacturer\",\"brand\":\"The Brand\",\"country_of_origin\":\"CN\",\"shipping_origin_country\":\"US\",\"other_marketplace_restriction\":\"eBay, Amazon, Sears, Walmart\",\"fba_certified\":false,\"category_id\":\"8hVEcErHcJToqARWeITB6yvdmrXsbH6x\",\"custom_attributes\":{\"Color\":\"black\",\"Size\":\"15\\\" x 15\\\" x 18\\\"\"},\"categories\":[{\"path\":[\"computer\",\"games\"]}]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "item_id": "J2b35VAXEumkduUhm5ik3MlQ6AS55UgE",
  "title": "The Item Title - GeUHLUfHYx",
  "description": "This is the default description. In this description the product is explained in detail. The idea with the description is to include everything that isn't already included elsewhere in the item attributes, such as manufacturer, brand, country_of_origin, shipping_origin_country, marketplace_restrictions, fba_certified, etc.",
  "warranty": "The warranty information is included here",
  "return_policy": "The return policy is included here",
  "manufacturer": "The Manufacturer",
  "brand": "The Brand",
  "country_of_origin": "CN",
  "shipping_origin_country": "US",
  "other_marketplace_restriction": "eBay, Amazon, Sears, Walmart",
  "fba_certified": false,
  "category_id": "8hVEcErHcJToqARWeITB6yvdmrXsbH6x",
  "custom_attributes": {
    "Color": "black",
    "Size": "XL"
  },
  "categories": [
    {
      "path": [
        "computer",
        "games"
      ]
    }
  ]
}
{
  "uuid": "905c3e4b-ef10-4f77-b07e-03d4ecb743a0",
  "skus": [],
  "restrict_from_marketplaces": null,
  "supplier": {
    "uuid": "ed0eb521-1a0a-4526-a155-31daa726e66c",
    "name": "projectzuul"
  },
  "cost_range": {
    "min": null,
    "max": null
  },
  "minimum_advertised_price_range": {
    "min": null,
    "max": null
  },
  "msrp_range": {
    "min": null,
    "max": null
  },
  "product_images": [],
  "product_videos": [],
  "categories": [
    {
      "uuid": "b010fd20-751e-4fe1-b511-a194d1ca40b9",
      "path": [
        "computer",
        "games"
      ],
      "description": ""
    }
  ],
  "created": "2018-08-24T21:55:16.877922Z",
  "last_updated": "2018-08-24T21:55:16.877972Z",
  "item_id": "00lm4MAHOgppj2Vg8EoLhx7e3MyICdnM",
  "title": "The Item Title - ldRQfxUITI",
  "description": "This is the default description. In this description the product is explained in detail. The idea with the description is to include everything that isn't already included elsewhere in the item attributes, such as manufacturer, brand, country_of_origin, shipping_origin_country, marketplace_restrictions, fba_certified, etc.",
  "warranty": "The warranty information is included here",
  "return_policy": "The return policy is included here",
  "manufacturer": "The Manufacturer",
  "brand": "The Brand",
  "country_of_origin": "CN",
  "shipping_origin_country": "US",
  "other_marketplace_restriction": "eBay, Amazon, Sears, Walmart",
  "fba_certified": false,
  "item_attributes": {}
}

post /timp/products/catalogs/<catalog_uuid>/remove-items/

Remove Items to a Catalog

Remove Items from the specified Catalog for Retailers to access. This allows you to remove Items and all associated SKUs from a Catalog.

URL Parameters

Parameters
catalog_uuid
(string) Universal Unique Identifier for the selected catalog

Request Parameters:

Parameters
item_uuids
(array) The Item UUIDs list parameter holds item_uuids for all of the items you wish to remove from your Catalog

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/catalogs/baffb36f-0bdd-46d7-9413-7b8a1cc8fe3e/remove-items/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "item_uuids": [
    "147c1a2d-6a2f-4ee4-b3e5-f8e2ca726f47"
  ]
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/catalogs/baffb36f-0bdd-46d7-9413-7b8a1cc8fe3e/remove-items/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    item_uuids:="[
  \"147c1a2d-6a2f-4ee4-b3e5-f8e2ca726f47\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Catalog Remove Items
    # POST https://api-sandbox.cruxconnect.com/timp/products/catalogs/baffb36f-0bdd-46d7-9413-7b8a1cc8fe3e/remove-items/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/catalogs/baffb36f-0bdd-46d7-9413-7b8a1cc8fe3e/remove-items/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    item_uuids:="[
  \"147c1a2d-6a2f-4ee4-b3e5-f8e2ca726f47\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Catalog Remove Items
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/catalogs/baffb36f-0bdd-46d7-9413-7b8a1cc8fe3e/remove-items/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"item_uuids\":[\"147c1a2d-6a2f-4ee4-b3e5-f8e2ca726f47\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "item_uuids": [
    "147c1a2d-6a2f-4ee4-b3e5-f8e2ca726f47"
  ]
}

post /timp/products/catalogs/<catalog_uuid>/remove-items-by-search/

Remove Items from an existing Catalog by Search

Remove Items from an existing Catalog by Search. This allows you to Remove Items with all associated SKUs via by providing your catalog_uuid and search criteria, you can successfully remove them from the indicated Catalog.

URL Parameters:

Parameters
catalog_uuid
(string) Universal Unique Identifier for the selected catalog

Request Parameters:

Parameters
filters
(object) The Filters object parameter includes all of the potential filters you wish to include in your Search. These filters include “cost_per_unit”, “number_of_item_images”, “image_height”, “image_width”, etc.
facets
(object) The Facets object parameter includes all of the potential facets you wish to include in your Search. These facets include “supplier”, “shipping_cost_type”, “shipping_origin_country”, “country_of_origin”, “bundle_type”, “product_identifiers”, “categories”, etc.
search_term
(string) The Search Term you would like to search for
sort
(string) The Sort parameter indicates what attribute on which you would like to sort
pagination
(object) The Pagination object includes start and limit which allow you to receive a manageable amount of data back from your API call.

Filters Object:

Parameters
cost_per_unit
(object) The Cost Per Unit object may contain a minimum and a maximum number
number_of_item_images
(object) The Number of Item Images object may contain a minimum and a maximum number
image_height
(object) The Image Height object may contain a minimum and a maximum number
image_width
(object) The Image Width object may contain a minimum and a maximum number

Facets Object:

Parameters
supplier
(array) Array of suppliers using uuid or name
shipping_cost_type
(array) Array of shipping costs types as defined by the Supplier
shipping_origin_country
(array) Array of country shipping origins using the country codes using 2 character format. For example: “US”, “CA”, “GE”
bundle_type
(array) Array of bundle types the Supplier has set up for the SKUs. Values for bundle_type_name include “Case Pack” and “Single”.
product_identifiers
(array) Array of product identifiers available on each SKU
categories
(array) Array of categories in which SKUs may reside
catalog_type
(array) Array of catalog types to which the retrieved SKUs belong. Values include “standard” and/or “discovery”. Defaults to [“standard”] if catalog_type is not provided.

Pagination Object:

Parameters
start
(integer) The Start parameter indicates on which element of the list of results the pagination should begin.
limit
(integer) The Limit parameter indicates one which element of the list of results the pagination should end.

Expected Response Codes:

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/catalogs/5f8b63d8-8afc-469a-894a-10548a21ce94/remove-items-by-search/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "search_term": "",
  "filters": {
    "cost_per_unit": {
      "min": "0"
    }
  },
  "pagination": {
    "start": 0,
    "limit": 50
  },
  "sort": "title",
  "facets": {
    "supplier": [],
    "shipping_cost_type": [],
    "shipping_origin_country": [],
    "bundle_type": [],
    "product_identifiers": [],
    "categories": []
  }
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/catalogs/5f8b63d8-8afc-469a-894a-10548a21ce94/remove-items-by-search/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    search_term="" \
    filters:="{
  \"cost_per_unit\": {
    \"min\": \"0\"
  }
}" \
    pagination:="{
  \"start\": 0,
  \"limit\": 50
}" \
    sort="title" \
    facets:="{
  \"supplier\": [],
  \"shipping_cost_type\": [],
  \"shipping_origin_country\": [],
  \"bundle_type\": [],
  \"product_identifiers\": [],
  \"categories\": []
}"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Catalog Remove Item by Search
    # POST https://api-sandbox.cruxconnect.com/timp/products/catalogs/5f8b63d8-8afc-469a-894a-10548a21ce94/remove-items-by-search/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/catalogs/5f8b63d8-8afc-469a-894a-10548a21ce94/remove-items-by-search/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    search_term="" \
    filters:="{
  \"cost_per_unit\": {
    \"min\": \"0\"
  }
}" \
    pagination:="{
  \"start\": 0,
  \"limit\": 50
}" \
    sort="title" \
    facets:="{
  \"supplier\": [],
  \"shipping_cost_type\": [],
  \"shipping_origin_country\": [],
  \"bundle_type\": [],
  \"product_identifiers\": [],
  \"categories\": []
}")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Catalog Remove Item by Search
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/catalogs/5f8b63d8-8afc-469a-894a-10548a21ce94/remove-items-by-search/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"filters\":{\"cost_per_unit\":{\"min\":\"0\"}},\"facets\":{\"supplier\":[],\"shipping_cost_type\":[],\"shipping_origin_country\":[],\"bundle_type\":[],\"product_identifiers\":[],\"categories\":[]},\"search_term\":\"\",\"sort\":\"title\",\"pagination\":{\"start\":0,\"limit\":50}}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "filters": {
    "cost_per_unit": {
      "min": "0"
    }
  },
  "facets": {
    "supplier": [],
    "shipping_cost_type": [],
    "shipping_origin_country": [],
    "bundle_type": [],
    "product_identifiers": [],
    "categories": []
  },
  "search_term": "",
  "sort": "title",
  "pagination": {
    "start": 0,
    "limit": 50
  }
}

post /timp/products/catalogs/<catalog_uuid>/add-skus/

Add already existing SKUs to a Catalog

Add already existing SKUs to a Catalog for Retailers to access. By providing your catalog_uuid in the URL and array of sku_uuids, you can successfully add them to items previously included in the indicated Catalog.

URL Parameters

Parameters
catalog_uuid
(string) Universal Unique Identifier for the catalog to which the sku will be added

Request Parameters:

Parameters
sku_uuids
(array) The SKU UUIDs parameter holds an array of sku_uuids

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/catalogs/f3603476-1f48-4ef9-a76c-0ec2f9c612fc/add-skus/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "sku_uuids": [
    ""
  ]
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/catalogs/f3603476-1f48-4ef9-a76c-0ec2f9c612fc/add-skus/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    sku_uuids:="[
  \"\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Catalog Add SKU
    # POST https://api-sandbox.cruxconnect.com/timp/products/catalogs/f3603476-1f48-4ef9-a76c-0ec2f9c612fc/add-skus/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/catalogs/f3603476-1f48-4ef9-a76c-0ec2f9c612fc/add-skus/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    sku_uuids:="[
  \"\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Catalog Add SKU
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/catalogs/f3603476-1f48-4ef9-a76c-0ec2f9c612fc/add-skus/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"sku_uuids\":[\"\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "sku_uuids": [
    ""
  ]
}
null

post /timp/products/skus/

Create a SKU to add to a specified item_uuid

Create a SKU to add to a specified item_uuid.

Request Parameters:

Parameters
item
(object) The Item object contains the item_uuid; the item_uuid is the parent identifer for the sku_uuid.
sku_id
(string) The SKU Identifier for the SKU as provided by the Supplier
restrictions
(string) The Restrictions imposed on the SKU which can include “tmpunavail” (temporary unavailable) or “discontd” (dicontinued)
condition
(string) The Condition of the SKU; these include “new”, “used”, and “refurb” (refurbished)
quantity_in_stock
(integer) The Quantity In-Stock parameter indicates how many SKUs are currently available for purchase.
quantity_on_backorder
(number) The Quantity on Backorder parameter indicates how many of this particular SKU are going to be replenished. It can be considered a tentative quantity to be added to the current quantity in-stock.
number_of_units_bundled
(integer) The Number of Units Bundled parameter indicates how many SKUs are in a single bundle.
sku_distinguishing_attributes
(array) Attributes that help to distinquish one sku from another. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a distinquishing attribute if another another sku of the same item is color: green
sku_nondistinguishing_attributes
(array) Attributes that are particular to the individual sku and do not necessarily distinquish a sku from other skus. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a non-distinquishing attribute if another sku(s) of the same item has the attribute color: blue. If all the skus of an item share the same non-distinguishing attribute, then it is preferrable to list that attribute as part of item_attributes.
minimum_advertised_price
(decimal) The Minimum Advertised Price (MAP) is a price floor for advertisement on the SKU. You may not legally list the SKU for sale at a lower price. (2 decmial places)
msrp
(decimal) The Manufacturer’s Suggested Retail Price for the SKU. This is only a suggestion. It is not a price floor nor is it a price ceiling. (2 decmial places)

Response Parameters:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU
restrictions
(string) The Restrictions imposed on the SKU
condition
(string) The Condition of the SKU; these include “new”, “used”, and “refurb”
sku_distinguishing_attributes
(array) Attributes that help to distinquish one sku from another. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a distinquishing attribute if another another sku of the same item is color: green
sku_nondistinguishing_attributes
(array) Attributes that are particular to the individual sku and do not necessarily distinquish a sku from other skus. It may also be empty, as per the Suppliers’ discretion. For example, the color: blue is a non-distinquishing attribute if another sku(s) of the same item has the attribute color: blue. If all the skus of an item share the same non-distinguishing attribute, then it is preferrable to list that attribute as part of item_attributes.
minimum_advertised_price
(decimal) The Minimum Advertised Price (MAP) is a price floor for advertisement on the SKU. You may not legally list the SKU for sale at a lower price. (2 decimal places)
msrp
(decimal) The Manufacturer’s Suggested Retail Price for the SKU. This is only a suggestion. It is not a price floor nor is it a price ceiling. (2 decimal places)
price_tiers
(array) Array of Price Tier objects on this SKU
product_images
(array) Array of product image objects for the SKU. Each object contains a uuid, uri, uri_type, width, and height of the image.
product_videos
(array) Array of product video objects for the SKU. Each object contains a uuid, uri, and uri_type of the video.
measurements
(object) The Measurements object contains sku measurements object and a package measurements object.
product_identifiers
(object) The Product Identifiers object contains the upca, ean13, gtin14, isbn, asin, and mpn for the SKU.
inventory_lists
(array) Array of all the Inventory list objects where the SKU currently resides.
created
(string) The Created parameter indicates the date the SKU was Created in our system.
last_updated
(string) The Last Updated parameter indicates the date the SKU was Last Updated in our system.
sku_id
(string) The SKU Identifier for the SKU as provided by the Supplier
quantity_in_stock
(integer) The Quantity In-Stock parameter indicates how many SKUs are currently available for purchase.
quantity_on_backorder
(integer) The Quantity on Backorder parameter indicates how many of this particular SKU are going to be replenished. It can be considered a tentative quantity to be added to the current quantity in-stock.
number_of_units_bundled
(integer) The Number of Units Bundled parameter indicates how many SKUs are in a single bundle.
item
(object) The Item object contains the item_uuid; the item_uuid is the parent identifer for the sku_uuid.

SKU Distinguishing Attributes Object:

These are key:value pairs defined by the supplier. For example:

{“color”: “blue”} {“size”: “XL”} {“sauce”: “KC Masterpiece BBQ”}

Price Tier Object:

Parameters
handling_cost
(decimal) Handling cost for the item at the price tier (2 decimal places)
shipping_cost_type
(string) Shipping cost type including Fixed, Free, or Variable
catalog
(object) Catalog Object including the catalog name and catalog uuid
shipping_cost_is_estimate
(boolean) Boolean value showing if the shipping cost is an estimate or not
cost
(decimal) Cost for the item at the price tier (2 decimal places)
cost_per_unit
(decimal) Unit cost for an item at the price tier (2 decimal places)
minimum_tier_quantity
(integer) Minimum quantity purchased to qualify for the price tier

Catalog Object

Parameters
uuid
(string) Universal Unique Identifier for the Catalog
name
(string) Catalog Name

Product Image Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Image
uri
(string) The URI for the SKU Product Image
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’
width
(integer) The Image Width in pixels for the SKU Product Image
height
(integer) The Image Height in pixels for the SKU Product Image

Product Videos Object:

Parameters
uuid
(string) The Universal Unique Identifier for the SKU Product Video
uri
(string) The URI for the SKU Product Video
uri_type
(string) The type of Uniform Resource Identifier (URI). Can be one of ‘url’ or ‘filename’

SKU Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the SKU in “dimension_units” (2 decimal places)

Package Measurements Object:

Parameters
weight_units
(string) The units utilized by the supplier for weight (‘g’, ‘kg’, ‘lb’, and ‘oz’ are potential options, where ‘g’ is the default)
weight
(decimal) The Weight of the packaged SKU in the “weight_units” (2 decimal places)
dimension_units
(string) The units utilized by the supplier for dimensions (‘cm’, ‘m’, ‘in’, and ‘ft’ are potential options, where ‘cm’ is the default)
length
(decimal) The Length of the packaged SKU in “dimension_units” (2 decimal places)
width
(decimal) The Width of the packaged SKU in “dimension_units” (2 decimal places)
height
(decimal) The Height of the packaged SKU in “dimension_units” (2 decimal places)

Product Identifiers Object:

Parameters
upca
(string) The Universal Product Code type A (UPCA) is a 12-digit code used to identify the SKU.
ean13
(string) The 13-digit European Article Number (EAN13) also known as the International Article Number is a 13-digit code used to identify the SKU.
gtin14
(string) The 14-digit Global Trade Identification Number (GTIN14) also known as the Global Trade Item Number is a 14-digit code used to identify the SKU.
isbn
(string) The International Standard Book Number (ISBN) is a unique numberic commercial book identifier. If the SKU is a book or can be classified as a book in some way shape or form, then an ISBN may be available for it.
asin
(string) Amazon Standard Identification Number (ASIN) is the unique ID provided by the Amazon company. This number may be used to identify and match this SKU up to the proper listing on Amazon.com.
mpn
(string) Manufacturer Part Number (MPN) is an identifier given to a part by the manufacturer. This number may be used to identify products such as car parts or computer parts that generally have sofisticated systems and readily available software for product management.

Catalog Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Catalog
name
(string) The name of the catalog

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/skus/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "restrictions": "tmpunavail",
  "number_of_units_bundled": "2",
  "condition": "used",
  "minimum_advertised_price_currency": "USD",
  "item": {
    "uuid": "905c3e4b-ef10-4f77-b07e-03d4ecb743a0"
  },
  "sku_id": "iKcYUL-LmEOGvTg-GL3kecYL",
  "msrp": "55.99",
  "quantity_in_stock": "500",
  "minimum_advertised_price": "40.00",
  "msrp_currency": "USD",
  "quantity_on_backorder": "100",
  "distinguishing_attributes": {
    "color": "blue"
  }
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/skus/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    restrictions="tmpunavail" \
    number_of_units_bundled="2" \
    condition="used" \
    minimum_advertised_price_currency="USD" \
    item:="{
  \"uuid\": \"905c3e4b-ef10-4f77-b07e-03d4ecb743a0\"
}" \
    sku_id="iKcYUL-LmEOGvTg-GL3kecYL" \
    msrp="55.99" \
    quantity_in_stock="500" \
    minimum_advertised_price="40.00" \
    msrp_currency="USD" \
    quantity_on_backorder="100" \
    distinguishing_attributes:="{
  \"color\": \"blue\"
}"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Create SKU
    # POST https://api-sandbox.cruxconnect.com/timp/products/skus/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/skus/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    restrictions="tmpunavail" \
    number_of_units_bundled="2" \
    condition="used" \
    minimum_advertised_price_currency="USD" \
    item:="{
  \"uuid\": \"905c3e4b-ef10-4f77-b07e-03d4ecb743a0\"
}" \
    sku_id="iKcYUL-LmEOGvTg-GL3kecYL" \
    msrp="55.99" \
    quantity_in_stock="500" \
    minimum_advertised_price="40.00" \
    msrp_currency="USD" \
    quantity_on_backorder="100" \
    distinguishing_attributes:="{
  \"color\": \"blue\"
}")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Create SKU
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/skus/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"item\":{\"uuid\":\"905c3e4b-ef10-4f77-b07e-03d4ecb743a0\"},\"sku_id\":\"iKcYUL-LmEOGvTg-GL3kecYL\",\"restrictions\":\"tmpunavail\",\"condition\":\"used\",\"quantity_in_stock\":\"500\",\"quantity_on_backorder\":\"100\",\"number_of_units_bundled\":\"2\",\"distinguishing_attributes\":{\"color\":\"blue\"},\"minimum_advertised_price\":\"40.00\",\"msrp\":\"55.99\",\"minimum_advertised_price_currency\":\"USD\",\"msrp_currency\":\"USD\"}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "item": {
    "uuid": "905c3e4b-ef10-4f77-b07e-03d4ecb743a0"
  },
  "sku_id": "iKcYUL-LmEOGvTg-GL3kecYL",
  "restrictions": "tmpunavail",
  "condition": "used",
  "quantity_in_stock": "500",
  "quantity_on_backorder": "100",
  "number_of_units_bundled": "2",
  "distinguishing_attributes": {
    "color": "blue"
  },
  "minimum_advertised_price": "40.00",
  "msrp": "55.99",
  "minimum_advertised_price_currency": "USD",
  "msrp_currency": "USD"
}
{
  "uuid": "4c443958-eb6f-4043-8cbc-b227e044334e",
  "restrictions": "tmpunavail",
  "condition": "used",
  "sku_distinguishing_attributes": {},
  "item": {
    "uuid": "905c3e4b-ef10-4f77-b07e-03d4ecb743a0"
  },
  "minimum_advertised_price": 40,
  "msrp": 55.99,
  "price_tiers": [],
  "product_images": [],
  "product_videos": [],
  "measurements": {
    "sku": {
      "weight": null,
      "weight_units": null,
      "length": null,
      "width": null,
      "height": null,
      "dimension_units": null
    },
    "package": {
      "weight": null,
      "weight_units": null,
      "length": null,
      "width": null,
      "height": null,
      "dimension_units": null
    }
  },
  "product_identifiers": {
    "upca": null,
    "ean13": null,
    "gtin14": null,
    "isbn": null,
    "asin": null,
    "mpn": null
  },
  "catalogs": [
    {
      "uuid": "96ce2c9d-044f-4208-9148-5e4b5b2771cb",
      "name": "__master__"
    }
  ],
  "created": "2018-08-24T22:45:10.623218Z",
  "last_updated": "2018-08-24T22:45:10.623271Z",
  "sku_id": "AKpvhb-UhLREqWn-cO3bLy4P",
  "quantity_in_stock": 500,
  "quantity_on_backorder": 100,
  "number_of_units_bundled": 2,
  "sku_nondistinguishing_attributes": {}
}

post /timp/products/catalogs/<catalog-uuid>/remove-skus/

Remove SKUs from a Catalog

Remove SKUs from a Catalog for Retailers to access. This allows you to remove SKUs from a Catalog. By providing your catalog_uuid and a list of sku_uuids, you can successfully remove them from the indicated Catalog.Your username and password are optional as you can send your authorization token to receive this information.

URL Parameters

Parameters
catalog-uuid
(string) Unique Universal Identifier for the Catalog

Request Parameters:

Parameters
sku_uuids
(array) Array of SKU uuid(s) for all of the SKUs you wish to remove from your Catalog

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/products/catalogs/7c973d2d-e888-4aa6-878d-5b62253cf0ea/remove-skus/" \
     -H 'Authorization: Token 47d4yfbwymedhiudj384702984nakju4hajh395d' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "sku_uuids": [
    "fcf57d87-19ae-46ad-adea-aad17ccb2d15"
  ]
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/products/catalogs/7c973d2d-e888-4aa6-878d-5b62253cf0ea/remove-skus/' \
    'Authorization':'Token 47d4yfbwymedhiudj384702984nakju4hajh395d' \
    'Content-Type':'application/json; charset=utf-8' \
    sku_uuids:="[
  \"fcf57d87-19ae-46ad-adea-aad17ccb2d15\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Catalog Remove SKU
    # POST https://api-sandbox.cruxconnect.com/timp/products/catalogs/7c973d2d-e888-4aa6-878d-5b62253cf0ea/remove-skus/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/products/catalogs/7c973d2d-e888-4aa6-878d-5b62253cf0ea/remove-skus/",
            headers={
                "Authorization": "Token 47d4yfbwymedhiudj384702984nakju4hajh395d",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    sku_uuids:="[
  \"fcf57d87-19ae-46ad-adea-aad17ccb2d15\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Catalog Remove SKU
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/products/catalogs/7c973d2d-e888-4aa6-878d-5b62253cf0ea/remove-skus/',
        method: 'POST',
        headers: {"Authorization":"Token 47d4yfbwymedhiudj384702984nakju4hajh395d","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"sku_uuids\":[\"fcf57d87-19ae-46ad-adea-aad17ccb2d15\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "sku_uuids": [
    "fcf57d87-19ae-46ad-adea-aad17ccb2d15"
  ]
}

post /timp/orders/

Get the Orders for your organization

Get Orders matching certain criteria for your organization. This may contain any or all of your orders: completed, incomplete, processing, etc.

Request Parameters:

Parameters
start
(int) The Start is the number of which “Order” you would like to start. If no other filters are used, the default order, which is date created, is used. The default Start value is 0. If this filter is not included in your request, the default value is used.
limit
(int) The Limit is the element number of “Order” in your Orders List where you would like your results to end. If you have 10 orders and you limit at 8 and start at 4, only orders 4, 5, 6, 7, and 8 are included in the results.
sort
(object) The Sort object contains a Key to sort on and a Direction (dir) to sort in.
line_item_allocation_statuses
(array) One or more line item statuses. Possible choices include: Unallocated, Partial, or Allocated
line_item_designation
(string) Line item status designation. One of the following : HasTracking, NeedsTracking, Backordered, Rejected, Cancelled
start_date
(string) The Start Date for your search results. The date must be written in the following format “YYYY-MM-DDThh:mm:ss.000Z”
end_date
(string) The End Date for your search results. The date must be written in the following format “YYYY-MM-DDThh:mm:ss.000Z”
term
(string) Term can be Order UUID, PO Number or SKU ID
sent_to_supplier
(boolean) True/False to request orders that have been sent to the supplier for fullfillment
org_uuids
(array) An array of Organization Universal Unique Identifiers
Sort Object:
Parameters
key
(string) The Key is the attribute on which you’d like to sort. Possible values include date, status, and sku_id.
dir
(string) The Direction is ascending (“asc”) or descending (“desc”).

Response Parameters:

Parameters
total_results
(number) The Total Results are the total order count per your oganization
orders
(array) An array of order objects

Order Object:

Parameters
uuid
(string) The Universal Unique Identifier for the Order
is_allocated
(boolean) Is the order Allocated by the Supplier as of the moment you get the response. Generally, this is false initially as the supplier(s) providing the SKU(s) must allocate for each Order.
purchase_order_id
(string) The Purchase Order (PO) Identifier for this order. This is the one you provided in the request parameters. It is the Identifer that your organization uses to identify the Order.
created_date
(string) The Date when the order was created. It will always be the same day as when you send in the request to Create the Order.
retailer_provided_order_notes
(string) The notes you provided from your request to create the Order.
supplier_provided_order_notes
(string) The notes provided from the supplier.
fees
(object) The Fees object contains the estimated shipping cost, drop ship fee, and order fee
retailer
(object) The Retailer object contains an organization name, organization uuid, and a user object
address
(object) The Address object containing name, business name, address line 1, address line 2, city, state, postal code
requested_shipping
(object) The Requested Shipping object contains the shipping carrier and shipping method from the request to create the Order.
line_items
(array) The Line Items list contains line items with their uuid, item uuid, item name, status, sku uuid, sku id, sku name, cost, supplier uuid, supplier name, tracking numbers object, and allocation object.
retailer_provided_order_attributes
(array) Retailer provided key/value pair of attributes related to the order
supplier_provided_order_attributes
(array) Supplier provided key/value pair of attributes related to the order

Fees Object:

Parameters
estimated_shipping_cost
(decimal) The Estimated Shipping Cost for the Order. (2 decimal places)
drop_ship_fee
(decimal) The Drop Ship Fee for the Order as charged by the Supplier. (2 decimal places)
order_fee
(decimal) The Order Fee charged for processing the order through our platform. (2 decimal places)

Retailer Object:

Parameters
name
(string) The Organization Name within your Retailer account
uuid
(string) The Universal Unique Identifier for your Organization
user
(object) The User object contains your name and email address; the name and email address of the user who submitted the Create Order API call.

Address Object:

Parameters
name
(string) The Name associated with the Address
business_name
(string) The Business Name associated with the Address
address1
(string) The First line of the Address
address2
(string) The Second line of the Address. If an apartment or suite, that information should be entered in this parameter.
city
(string) The City associated with the Address
state
(string) The State associated with the Address
postal_code
(string) The Zip Code / Postal Code associated with the Address
phone_number
(string) The phone number associated with the Address

Requested Shipping Object:

Parameters
shipping_carrier
(string) The Shipping Carrier to deliver the order
shipping_method
(string) The Shipping Method used by the Shipping Carrier to deliver the order

Line Item Object:

Parameters
uuid
(string) Universal Unique Identifier for the Line Item
status
(string) The Status for the Line Item. Possible Values are: Unallocated, Allocated, Rejected, HasTracking, Backordered, Cancelled
item_uuid
(string) Universal Unique Identifier for the Item
item_name
(string) The Item Name
sku_uuid
(string) The Universal Unique Identifier for the SKU
sku_id
(string) The SKU as provided by the Supplier
sku_name
(string) The SKU Name
sku_title_variants
(string) SKU title variants
sku_special_instructions
(string) SKU special instructions
cost
(decimal) The Cost of the SKU (2 decimal places)
supplier_uuid
(string) The Universal Unique Identifier for the Supplier
supplier_name
(string) The Supplier Name
tracking_numbers
(array) The Tracking Numbers array parameter includes tracking number objects. Each include a tracking number, carrier, method, weight, cost, shipping date, and quantity.
allocation
(object) The Allocation object contains quantity ordered, quantity allocated, quantity backordered, quantity rejected, and backorder date.
supplier_provided_item_attributes
(array) Supplier provided key/value pair of attributes related to the line item
retailer_provided_item_attributes
(array) Retailer provided key/value pair of attributes related to the line item

Tracking Numbers Object:

Parameters
tracking_number
(string) The tracking number for this shipment
shipping_carrier
(string) The Shipping Carrier for this shipment
shipping_method
(string) The Shipping Method for this shipment
shipping_weight
(string) The Shipping Weight for this shipment
shipping_cost
(number) The Shipping Cost for this shipment
shipping_date
(string) The date the order was shipped
quantity
(integer) The number of items in the shipment
package_attributes
(array) Array of key/value pair attributes related to the package

Allocation Object:

Parameters
quantity_ordered
(integer) The Quantity Ordered of the SKU
quantity_allocated
(integer) The Quantity Allocated by the Supplier for this Order
quantity_backordered
(integer) The Quantity Backordered is the quantity of the order that cannot be shipped because it is currently in a “backordered” state. If you allow the supplier to fulfill the order, this number is supposed to decrease to 0 as they get the item in-stock in their warehouse(s). When a Supplier gets a Backorder Date, they add it to the field labeled “backorder_date”.
quantity_rejected
(integer) The Quantity Rejected by the Supplier is the Quantity that they simply cannot fulfill. Reasons may vary, such as state or federal law, customs, or being out-of-stock on an already discontinued product line.
backorder_date
(string) The Date that the Backordered SKU will be available for shipment. This date should be used as a tentative schedule which may help determine if waiting for the order is appropriate. Should this date be unacceptable, you may cancel the order with the “Cancel Order” API call.

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/orders/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "start": 0,
  "limit": 1
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/orders/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    start:=0 \
    limit:=1

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Orders
    # POST https://api-sandbox.cruxconnect.com/timp/orders/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/orders/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    start:=0 \
    limit:=1)
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Orders
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/orders/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"start\":0,\"limit\":1}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "start": 0,
  "limit": 1
}
{
  "total_results": 142,
  "orders": [
    {
      "uuid": "319bba9f-71b1-4a93-8abf-67a45b8fdd5c",
      "is_allocated": false,
      "purchase_order_id": "8e5b1ccb-0221-4e26-a343-cd566bfe7419",
      "created_date": "2018-06-28T12:57:30.359784Z",
      "retailer_provided_order_notes": null,
      "supplier_provided_order_notes": null,
      "retailer_provided_order_attributes": null,
      "supplier_provided_order_attributes": null,
      "fees": {
        "estimated_shipping_cost": 0,
        "drop_ship_fee": 0,
        "order_fee": 0
      },
      "retailer": {
        "name": "projectthanos",
        "uuid": "ebf3657c-2abb-4aff-be70-69082acc9302",
        "user": {
          "name": "owner user",
          "email": "owneruser7@projectthanos.com"
        }
      },
      "address": {
        "name": "Megan King",
        "business_name": "Black-Rice",
        "address1": "08712 Villarreal Cliffs\nBishopchester, OK 45032",
        "address2": "9652 Richard Plains\nErikamouth, MP 22422-9361",
        "city": "Franklinbury",
        "state": "North Dakota",
        "postal_code": "85254",
        "phone_number": null,
        "country": "USA"
      },
      "requested_shipping": {
        "shipping_carrier": "UPS",
        "shipping_method": "Ground"
      },
      "invoices": [
      {
        "invoice_items": [
          {
            "sku_id": "56",
            "quantity_ordered": 10,
            "quantity_invoiced": 6,
            "supplier_order_number": "third",
            "invoice_item_attributes": [
              {
                "attribute_name": "invoice item name",
                "attribute_value": "can't believe we need invoice item attribute names and values"
              }
            ]
          }
        ],
        "invoice_number": "abcdef-ghi",
        "invoice_attributes": [
          {
            "attribute_name": "invoice attribute name",
            "attribute_value": "invoice attribute value"
          }
        ]
      }
    ],
      "line_items": [
    {
      "line_item_uuid": "5e91d918-67e8-4957-a69a-df9d2072ad9b",
      "status": "Unallocated",
      "line_item_designation": null,
      "item_uuid": "3bb5ef3b-2f1e-41da-bd85-1d6c746b0fa8",
      "item_name": null,
      "sku_uuid": "841ca56b-26f8-4d45-ac25-5b40d1da7354",
      "sku_id": "7FZvMyg0BjfewNJJ",
      "sku_name": null,
      "sku_title_variants": "None {}",
      "product_codes": {
        "upca": null,
        "ean13": null,
        "isbn": null,
        "gtin14": null,
        "asin": null,
        "mpn": null
      },
      "supplier_item_notes": null,
      "retailer_item_notes": null,
      "retailer_provided_sku_cost": 27.2,
      "supplier": {
        "uuid": "d6ac857d-c844-4312-8485-6d121d065308",
        "organization_name": "Stevens, Smith and Krause",
        "order_submitted_by": null
      },
      "supplier_provided_item_attributes": null,
      "retailer_provided_item_attributes": [
        {
          "attribute_name": "donut",
          "attribute_value": "jelly"
        }
      ],
      "tracking": [
      {
        "tracking_number": "12345",
        "shipping_carrier": "UPS",
        "shipping_method": "Speedy Ground",
        "shipping_weight": null,
        "shipping_cost": 3,
        "shipping_date": "2018-11-12",
        "created_date": "2018-11-10T17:47:07.872391Z",
        "quantity": 10,
        "package_attributes": [
          {
            "attribute_name": "package attribute name",
            "attribute_value": "package attribute value"
          }
        ]
      }
    ],
      "allocation": null
    }
}

get /timp/orders/<uuid>/

Get the Details for a specified Order

Get the Details for a specified Order. This includes the identifiers for the order, universal unique identifier for the order, po number, SKU(s) ordered, and details on the destination, receiver, etc.

URL Parameters

Parameters
uuid
(string) The Universal Unique Identifier for the Order

Response Parameters:

Parameters
uuid
(string) The Universal Unique Identifier for the Order
is_allocated
(boolean) Is the order Allocated by the Supplier as of the moment you get the response. Generally, this is false initially as the supplier(s) providing the SKU(s) must allocate for each Order.
purchase_order_id
(string) The Purchase Order (PO) Identifier for this order. This is the one you provided in the request parameters. It is the Identifer that your organization uses to identify the Order.
created_date
(string) The Date when the order was created. It will always be the same day as when you send in the request to Create the Order.
retailer_provided_order_notes
(string) The notes you provided from your request to create the Order.
supplier_provided_order_notes
(string) The notes provided from the supplier.
fees
(object) The Fees object contains the estimated shipping cost, drop ship fee, and order fee
retailer
(object) The Retailer object contains an organization name, organization uuid, and a user object
address
(object) The Address object containing name, business name, address line 1, address line 2, city, state, postal code
requested_shipping
(object) The Requested Shipping object contains the shipping carrier and shipping method from the request to create the Order.
retailer_provided_order_attributes
(array) Retailer provided key/value pair of attributes related to the order
supplier_provided_order_attributes
(array) Supplier provided key/value pair of attributes related to the order
line_items
(list) The Line Items list contains line item objects with their uuid, item uuid, item name, sku uuid, sku id, sku name, cost, supplier uuid, supplier name, tracking numbers list, and allocation object.

Fees Object:

Parameters
estimated_shipping_cost
(decimal) The Estimated Shipping Cost for the Order. (2 decimal places)
drop_ship_fee
(decimal) The Drop Ship Fee for the Order as charged by the Supplier. (2 decimal places)
order_fee
(decimal) The Order Fee charged for processing the order through our platform. (2 decimal places)

Retailer Object:

Parameters
name
(string) The Organization Name within your Retailer account
uuid
(string) The Universal Unique Identifier for your Organization
user
(object) The User object contains your name and email address; the name and email address of the user who submitted the Create Order API call.

Address Object:

Parameters
name
(string) The Name associated with the Address
business_name
(string) The Business Name associated with the Address
address1
(string) The First line of the Address
address2
(string) The Second line of the Address. If an apartment or suite, that information should be entered in this parameter.
city
(string) The City associated with the Address
state
(string) The State associated with the Address
postal_code
(string) The Zip Code / Postal Code associated with the Address
phone_number
(string) The phone number associated with the Address

Requested Shipping Object:

Parameters
shipping_carrier
(string) The Shipping Carrier to deliver the order
shipping_method
(string) The Shipping Method used by the Shipping Carrier to deliver the order

Line Item Object:

Parameters
uuid
(string) Universal Unique Identifier for the Line Item
status
(string) The Status for the Line Item. Possible Values are: Unallocated, Allocated, Rejected, HasTracking, Backordered, Cancelled
item_uuid
(string) Universal Unique Identifier for the Item
item_name
(string) The Item Name
sku_uuid
(string) The Universal Unique Identifier for the SKU
sku_id
(string) The SKU as provided by the Supplier
sku_name
(string) The SKU Name
sku_title_variants
(string) SKU title variants
sku_special_instructions
(string) SKU special instructions
cost
(decimal) The Cost of the SKU (2 decimal places)
supplier_uuid
(string) The Universal Unique Identifier for the Supplier
supplier_name
(string) The Supplier Name
tracking_numbers
(array) The Tracking Numbers array parameter includes tracking number objects. Each include a tracking number, carrier, method, weight, cost, shipping date, and quantity.
allocation
(object) The Allocation object contains quantity ordered, quantity allocated, quantity backordered, quantity rejected, and backorder date.
supplier_provided_item_attributes
(array) Supplier provided key/value pair of attributes related to the line item
retailer_provided_item_attributes
(array) Retailer provided key/value pair of attributes related to the line item

User Object

Parameters
name
(string) User Full Name
email
(string) User Email Address

Tracking Number Object:

Parameters
tracking_number
(string) The tracking number for this shipment
shipping_carrier
(string) The Shipping Carrier for this shipment
shipping_method
(string) The Shipping Method for this shipment
shipping_weight
(string) The Shipping Weight for this shipment
shipping_cost
(number) The Shipping Cost for this shipment
shipping_date
(string) The date the order was shipped
quantity
(integer) The number of items in the shipment
package_attributes
(array) Array of key/value pair attributes related to the package

Allocation Object:

Parameters
quantity_ordered
(integer) The Quantity Ordered of the SKU
quantity_allocated
(integer) The Quantity Allocated by the Supplier for this Order
quantity_backordered
(integer) The Quantity Backordered is the quantity of the order that cannot be shipped because it is currently in a “backordered” state. If you allow the supplier to fulfill the order, this number is supposed to decrease to 0 as they get the item in-stock in their warehouse(s). When a Supplier gets a Backorder Date, they add it to the field labeled “backorder_date”.
quantity_rejected
(integer) The Quantity Rejected by the Supplier is the Quantity that they simply cannot fulfill. Reasons may vary, such as state or federal law, customs, or being out-of-stock on an already discontinued product line.
backorder_date
(string) The Date that the Backordered SKU will be available for shipment. This date should be used as a tentative schedule which may help determine if waiting for the order is appropriate. Should this date be unacceptable, you may cancel the order with the “Cancel Order” API call.

Expected Response Codes

For standard response codes see: Response Codes

curl "https://api-sandbox.cruxconnect.com/timp/orders/f7bc1028-844c-44ca-82df-fe76282d2a8b/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{}'

http --json GET 'https://api-sandbox.cruxconnect.com/timp/orders/f7bc1028-844c-44ca-82df-fe76282d2a8b/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8'


# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Order Detail
    # GET https://api-sandbox.cruxconnect.com/timp/orders/f7bc1028-844c-44ca-82df-fe76282d2a8b/

    try:
        response = requests.get(
            url="https://api-sandbox.cruxconnect.com/timp/orders/f7bc1028-844c-44ca-82df-fe76282d2a8b/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps()
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Order Detail
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/orders/f7bc1028-844c-44ca-82df-fe76282d2a8b/',
        method: 'GET',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "order_uuid": "f7bc1028-844c-44ca-82df-fe76282d2a8b",
  "po_number": "po-5527771067",
  "created_date": "2018-08-23T16:07:35.864274Z",
  "address": {
    "name": "Bob Iger",
    "business_name": "NBC",
    "address1": "30 Rockefeller Plaza",
    "address2": "STE 123",
    "city": "New York",
    "state": "NY",
    "postal_code": "10112",
    "phone_number": "801-555-1212",
    "country": null
  },
  "sent_to_supplier": false,
  "retailer": {
    "uuid": "ebf3657c-2abb-4aff-be70-69082acc9302",
    "organization_name": "projectthanos",
    "order_submitted_by": null
  },
  "retailer_provided_order_notes": null,
  "supplier_provided_order_notes": null,
  "retailer_provided_fees": {
    "order_fee": 0.99,
    "order_tax": 2.97,
    "shipping_cost": 7.99,
    "dropship_fee": 0.5
  },
  "retailer_provided_order_attributes": null,
  "supplier_provided_order_attributes": null,
  "invoices": [
  {
    "invoice_items": [
      {
        "sku_id": "56",
        "quantity_ordered": 10,
        "quantity_invoiced": 6,
        "supplier_order_number": "third",
        "invoice_item_attributes": [
          {
            "attribute_name": "invoice item name",
            "attribute_value": "can't believe we need invoice item attribute names and values"
          }
        ]
      }
    ],
    "invoice_number": "abcdef-ghi",
    "invoice_attributes": [
      {
        "attribute_name": "invoice attribute name",
        "attribute_value": "invoice attribute value"
      }
    ]
  }
],
  "line_items": [
    {
      "line_item_uuid": "5e91d918-67e8-4957-a69a-df9d2072ad9b",
      "status": "Unallocated",
      "line_item_designation": null,
      "item_uuid": "3bb5ef3b-2f1e-41da-bd85-1d6c746b0fa8",
      "item_name": null,
      "sku_uuid": "841ca56b-26f8-4d45-ac25-5b40d1da7354",
      "sku_id": "7FZvMyg0BjfewNJJ",
      "sku_name": null,
      "sku_title_variants": "None {}",
      "product_codes": {
        "upca": null,
        "ean13": null,
        "isbn": null,
        "gtin14": null,
        "asin": null,
        "mpn": null
      },
      "supplier_item_notes": null,
      "retailer_item_notes": null,
      "retailer_provided_sku_cost": 27.2,
      "supplier": {
        "uuid": "d6ac857d-c844-4312-8485-6d121d065308",
        "organization_name": "Stevens, Smith and Krause",
        "order_submitted_by": null
      },
      "supplier_provided_item_attributes": null,
      "retailer_provided_item_attributes": [
        {
          "attribute_name": "donut",
          "attribute_value": "jelly"
        }
      ],
      "tracking": [
      {
        "tracking_number": "12345",
        "shipping_carrier": "UPS",
        "shipping_method": "Speedy Ground",
        "shipping_weight": null,
        "shipping_cost": 3,
        "shipping_date": "2018-11-12",
        "created_date": "2018-11-10T17:47:07.872391Z",
        "quantity": 10,
        "package_attributes": [
          {
            "attribute_name": "package attribute name",
            "attribute_value": "package attribute value"
          }
        ]
      }
    ],
      "allocation": null
    }
  ]
}

post /timp/orders/export/

Get an Export of the Order List via an email

Get an Export of the Orders via an email to your email address on file.

This API call, like other “Export” calls, will send an email to your email address. That is, the email address linked to your user_uuid. The Order Details will be attached to the email as as a comma-delimited (.csv) file.

We also provide an Export uuid in response to this call.

Request Parameters:

Parameters
uuids
(array) Array of Universal Unique Identifiers for Export

Response Parameters:

Parameters
uuid
(string) The Universal Unique Identifier for the Export

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/orders/export/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "uuids": [
    "319bba9f-71b1-4a93-8abf-67a45b8fdd5c"
  ]
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/orders/export/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    uuids:="[
  \"319bba9f-71b1-4a93-8abf-67a45b8fdd5c\"
]"

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Orders Export
    # POST https://api-sandbox.cruxconnect.com/timp/orders/export/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/orders/export/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    uuids:="[
  \"319bba9f-71b1-4a93-8abf-67a45b8fdd5c\"
]")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Orders Export
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/orders/export/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"uuids\":[\"319bba9f-71b1-4a93-8abf-67a45b8fdd5c\"]}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "uuids": [
    "319bba9f-71b1-4a93-8abf-67a45b8fdd5c"
  ]
}
{
  "uuid": "dccef0e0-52ff-4704-a279-3e5b0f92990e"
}

post /timp/orders/search/export/

Get the Orders for your organization

Get Orders matching provided criteria for your organization sent to via email

This API call, like other “Export” calls, will send an email to your email address. That is, the email address linked to your user_uuid. The email will have a comma delimited file (.csv) attached with the response parameter data.

We also provide an array of the Export uuids in response to this call.

Request Parameters:

Optional:

Parameters
start
(int) The Start is the number of which “Order” you would like to start. If no other filters are used, the default order, which is date created, is used. The default Start value is 0. If this filter is not included in your request, the default value is used.
limit
(int) The Limit is the element number of “Order” in your Orders List where you would like your results to end. If you have 10 orders and you limit at 8 and start at 4, only orders 4, 5, 6, 7, and 8 are included in the results.
line_item_allocation_statuses
(array) One or more line item statuses. Possible string values are: Unallocated, Allocated, Partial.
line_item_designation
(array) One or more line item designations. Possible string values are: Rejected, HasTracking, Backordered, Cancelled, NeedsTracking
term
(string) Term can be Order UUID, PO Number or SKU ID
start_date
(string) The Start Date for your search results. The date must be written in the following format “YYYY-MM-DDThh:mm:ss.000Z”
end_date
(string) The End Date for your search results. The date must be written in the following format “YYYY-MM-DDThh:mm:ss.000Z”
sort
(object) The Sort object contains a Key to sort on and a Direction (dir) to sort in
org_uuids
(array) An array of Organization Universal Unique Identifiers
Sort Object:
Parameters
key
(string) The Key is the attribute on which you’d like to sort. Possible values include date, status, and sku_id.
dir
(string) The Direction is ascending or descending entered as “asc” or “des”

Response Parameters:

Parameters
orders
(array) The array of export uuids

Expected Response Codes

For standard response codes see: Response Codes

curl -X "POST" "https://api-sandbox.cruxconnect.com/timp/orders/search/export/" \
     -H 'Authorization: Token 1234567890' \
     -H 'Content-Type: application/json; charset=utf-8' \
     -d $'{
  "org_uuids": [],
  "sort": {
    "key": "date",
    "value": "asc"
  },
  "start": 0,
  "start_date": "2017-07-31T06:00:00.000Z",
  "limit": 10,
  "line_item_designation": [],
  "line_item_allocation_statuses": [
    "Unallocated",
    "Partial",
    "Allocated"
  ],
  "end_date": "2018-08-03T06:00:00.000Z",
  "term": ""
}'

http --json POST 'https://api-sandbox.cruxconnect.com/timp/orders/search/export/' \
    'Authorization':'Token 1234567890' \
    'Content-Type':'application/json; charset=utf-8' \
    org_uuids:="[]" \
    sort:="{
  \"key\": \"date\",
  \"value\": \"asc\"
}" \
    start:=0 \
    start_date="2017-07-31T06:00:00.000Z" \
    limit:=10 \
    line_item_designation:="[]" \
    line_item_allocation_statuses:="[
  \"Unallocated\",
  \"Partial\",
  \"Allocated\"
]" \
    end_date="2018-08-03T06:00:00.000Z" \
    term=""

# Install the Python Requests library:
# `pip install requests`

import requests
import json


def send_request():
    # Get Orders By Search
    # POST https://api-sandbox.cruxconnect.com/timp/orders/search/export/

    try:
        response = requests.post(
            url="https://api-sandbox.cruxconnect.com/timp/orders/search/export/",
            headers={
                "Authorization": "Token 1234567890",
                "Content-Type": "application/json; charset=utf-8",
            },
            data=json.dumps(    org_uuids:="[]" \
    sort:="{
  \"key\": \"date\",
  \"value\": \"asc\"
}" \
    start:=0 \
    start_date="2017-07-31T06:00:00.000Z" \
    limit:=10 \
    line_item_designation:="[]" \
    line_item_allocation_statuses:="[
  \"Unallocated\",
  \"Partial\",
  \"Allocated\"
]" \
    end_date="2018-08-03T06:00:00.000Z" \
    term="")
        )
        print('Response HTTP Status Code: {status_code}'.format(
            status_code=response.status_code))
        print('Response HTTP Response Body: {content}'.format(
            content=response.content))
    except requests.exceptions.RequestException:
        print('HTTP Request failed')

// request Get Orders By Search
(function(callback) {
    'use strict';

    const httpTransport = require('https');
    const responseEncoding = 'utf8';
    const httpOptions = {
        hostname: 'api-sandbox.cruxconnect.com',
        port: '443',
        path: '/timp/orders/search/export/',
        method: 'POST',
        headers: {"Authorization":"Token 1234567890","Content-Type":"application/json; charset=utf-8"}
    };
    httpOptions.headers['User-Agent'] = 'node ' + process.version;


    const request = httpTransport.request(httpOptions, (res) => {
        let responseBufs = [];
        let responseStr = '';

        res.on('data', (chunk) => {
            if (Buffer.isBuffer(chunk)) {
                responseBufs.push(chunk);
            }
            else {
                responseStr = responseStr + chunk;
            }
        }).on('end', () => {
            responseStr = responseBufs.length > 0 ?
                Buffer.concat(responseBufs).toString(responseEncoding) : responseStr;

            callback(null, res.statusCode, res.headers, responseStr);
        });

    })
    .setTimeout(0)
    .on('error', (error) => {
        callback(error);
    });
    request.write("{\"start\":0,\"limit\":10,\"line_item_allocation_statuses\":[\"Unallocated\",\"Partial\",\"Allocated\"],\"line_item_designation\":[],\"term\":\"\",\"start_date\":\"2017-07-31T06:00:00.000Z\",\"end_date\":\"2018-08-03T06:00:00.000Z\",\"org_uuids\":[],\"sort\":{\"key\":\"date\",\"value\":\"asc\"}}")
    request.end();


})((error, statusCode, headers, body) => {
    console.log('ERROR:', error);
    console.log('STATUS:', statusCode);
    console.log('HEADERS:', JSON.stringify(headers));
    console.log('BODY:', body);
});

{
  "start": 0,
  "limit": 10,
  "line_item_allocation_statuses": [
    "Unallocated",
    "Partial",
    "Allocated"
  ],
  "line_item_designation": [],
  "term": "",
  "start_date": "2017-07-31T06:00:00.000Z",
  "end_date": "2018-08-03T06:00:00.000Z",
  "org_uuids": [],
  "sort": {
    "key": "date",
    "value": "asc"
  }
}
{
  "uuid": "5ebdba7f-36a6-40ca-a79a-6da76a631734"
}

get /timp/orders/<order_uuid>/fees/

Get the Fees for a potential Order.

Before placing an order, use this call to return the total Fees for the Order. This may be used a number of ways. Perhaps you would like to make sure you are charging enough for an order and would like a “sanity check” on the price before committing to the potential buyer. This API call allows you to get the full, all-inclusive price for the Order.

Response Parameters:

Parameters
supplier_provided_drop_ship_fee
(decimal) Supplier provided drop ship fee (2 decimal positions)
supplier_provided_order_fee
(decimal) Supplier