Skip to main content

Operation Definitions

The operation definitions include the security, endpoints, and data models used in the Portal API, and are organized in the following sections:

Companies

Security

jwt-bearer-token

apiKey

API Key

Name

Authorization

In

header

Endpoints

GET /companies/{companyid}

Summary

Get the information for one company. This endpoint does not work with person tokens, as they do not have a companyid.

Request Parameter

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

Responses

Code

Description

Schema

200

Success Response

A single company

Company

403

Error Response

Message: Permission denied

404

Error Response

Message: Company not found

Default

Error Response

Message: Unexpected Error

Sample Success Response Body

{
  "id": "string",
  "name": "string",
  "is_active": true,
  "active": true,
  "is_smb": true,
  "allow_cleanup": true,
  "primary_contact": {
    "name": "string",
    "email": "string"
  },
  "created_at": "string",
  "created_by": "string",
  "updated_at": "string",
  "updated_by": "string",
  "sites_count": 0,
  "demo_sites_count": 0,
  "sites_href": "string",
  "subscriptions": [
    {
      "product": "string",
      "count": 0,
      "name": "string",
      "external_data": {},
      "is_active": true,
      "active": true
    }
  ],
  "aliases": [
    {
      "name": "string",
      "value": "string"
    }
  ],
  "location": {
    "address_1": "string",
    "address_2": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "formatted_address": "string",
    "country": "string"
  },
  "is_sales_partner": true,
  "sales_partner": {
    "id": "string",
    "support_contact": "string"
  },
  "support_contact": "string",
  "brands": [
    "string"
  ],
  "child_companies": [
    "string"
  ]
}

Companies - People

Security

jwt-bearer-token

apiKey

API Key

Name

Authorization

In

header

Endpoints

GET /companies/{companyid}/people/{personid}/user-groups

Summary

Get the list of the person’s user groups.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

personid

string

Yes

The person identifier

query

$expand

string

No

 

Responses

Code

Description

Schema

200

Success Response

A list of user groups for the person

Inline

403

Error Response

Message: Permission denied

None

404

Error Response

Message: User group not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "name": "string",
      "description": "string",
      "roles": [],
      "users": [],
      "sites": [],
      "company_id": "string",
      "created_at": "string",
      "created_by": "string",
      "updated_at": "string",
      "updated_by": "string"
    }
  ]
}

GET /companies/{companyid}/people/{personid}/permissions

Summary

Get a person's permissions for selected company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

personid

string

Yes

The person identifier

Responses

Code

Description

Schema

200

Success Response

An array of company permissions for the person

permission_declaration_set

403

Error Response

Message: Permission denied

None

Default

Error Response

Message: Permission denied

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "name": "string",
      "app_code": "string",
      "type": "string",
      "title": "string",
      "helptext": "string"
    }
  ]
}

GET /companies/{companyid}/people/{personid}/user-preferences

Summary

Get all preferences for a user in a subject company. Only the existing access token is required to call this endpoint.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

personid

string

Yes

The person identifier

Responses

Code

Description

Schema

200

Success Response

A list of company preferences

User preferences list response

401

Error Response

Message: Not authorized

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "company_id": "string",
      "site_id": "string",
      "person_id": "string",
      "default_app": "string",
      "name": "string",
      "value": "string",
      "is_active": true,
      "created_at": "string",
      "created_by": "string",
      "updated_at": "string",
      "updated_by": "string"
    }
  ]
}

POST /companies/{companyid}/people/{personid}/user-preferences

Summary

Add a custom user preference on the company level. Only the existing access token is required to call this endpoint.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

personid

string

Yes

The person identifier

body

body

CompaniesPeopleUserPreferencesRequestBody

Yes

The custom preference payload details

Responses

Code

Description

Schema

200

Success Response

Created a company user preference

user_preference

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

422

Error Response

Message: Person in company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "company_id": "string",
  "site_id": "string",
  "person_id": "string",
  "default_app": "string",
  "name": "string",
  "value": "string",
  "is_active": true,
  "created_at": "string",
  "created_by": "string",
  "updated_at": "string",
  "updated_by": "string"
}

DELETE /companies/{companyid}/people/{personid}/user-preferences/{userpreferenceid}

Summary

Delete a user preference by the specified identifier. Only the existing access token is required to call this endpoint.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

personid

string

Yes

The person identifier

path

userpreferenceid

string

Yes

The user preference identifier

Responses

Code

Description

Schema

204

No content.

The user preference was successfully removed.

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: User preference not found

None

Default

Error Response

Message: Unexpected Error

None

GET /companies/{companyid}/people

Summary

Get the people related to a company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

query

limit

integer (int32)

Yes

The maximum records to return

query

skip

integer (int32)

Yes

The records to skip before returning

query

filter

string

No

A substring of names to filter on

query

include_inactive

boolean

No

If "True," include resources where active is false

Responses

Code

Description

Schema

200

Success Response

A list of people

person_list

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "id": "string",
      "cognito_uuid": "string",
      "sign_up_date": "string",
      "active": true,
      "is_confirmed": true,
      "is_sign_up_token_expired": true,
      "name": "string",
      "email": "user@example.com",
      "is_active": true,
      "roles": [],
      "preferred_language": "string",
      "last_login": {},
      "created_at": "string",
      "created_by": "string",
      "updated_at": "string",
      "updated_by": "string"
    }
  ]
}

PUT /companies/{companyid}/people/{personid}

Summary

Update a person for the company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

personid

string

Yes

The person identifier

body

body

NewCompanyPersonRequestBody

Yes

The JSON of the person from the company

Responses

Code

Description

Schema

200

Success Response

Successful update of the person in the company

company_person

403

Error Response

Message: Permission denied

None

422

Error Response

Message: Not implemented yet

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": "string",
  "company_id": "string",
  "person_id": "string",
  "is_contact": true,
  "is_confirmed": true,
  "roles": [
    {
      "role_id": "string",
      "role_name": "string"
    }
  ],
  "is_active": true,
  "receives_notifications": true,
  "created_at": "string",
  "created_by": "string",
  "updated_at": "string",
  "updated_by": "string"
}

GET /companies/{companyid}/people/{personid}

Summary

Get a person of a company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

personid

string

Yes

The person identifier

Responses

Code

Description

Schema

200

Success Response

Information about a company person

company_person

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

422

Error Response

Message: Person in company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": "string",
  "company_id": "string",
  "person_id": "string",
  "is_contact": true,
  "is_confirmed": true,
  "roles": [
    {
      "role_id": "string",
      "role_name": "string"
    }
  ],
  "is_active": true,
  "receives_notifications": true,
  "created_at": "string",
  "created_by": "string",
  "updated_at": "string",
  "updated_by": "string"
}

DELETE /companies/{companyid}/people/{personid}

Summary

Remove a person from the company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

personid

string

Yes

The person identifier

Responses

Code

Description

Schema

204

No content.

Successful removal of the person.

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

422

Error Response

Message: Person in company not found

None

Default

Error Response

Message: Unexpected Error

None

PUT /companies/{companyid}/people/{personid}

Summary

Update a person for the company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

personid

string

Yes

The person identifier

body

body

NewCompanyPersonRequestBody

Yes

The JSON of the person from the company

Responses

Code

Description

Schema

200

Success Response

Successful update of the person in the company

company_person

403

Error Response

Message: Permission denied

None

422

Error Response

Message: Not implemented yet

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": "string",
  "company_id": "string",
  "person_id": "string",
  "is_contact": true,
  "is_confirmed": true,
  "roles": [
    {
      "role_id": "string",
      "role_name": "string"
    }
  ],
  "is_active": true,
  "receives_notifications": true,
  "created_at": "string",
  "created_by": "string",
  "updated_at": "string",
  "updated_by": "string"
}

Data Models

NewCompanyPersonRequestBody

Field Name

Type

Description

name

string

email

string

preferred_language

string

roles

array

roles_role_id

string

roles_role_name

string

received_notifications

boolean

send_invitation_email

boolean

Sample Request Body

{
  "name": "string",
  "email": "string",
  "preferred_language": "string",
  "roles": [
    {
      "role_id": "string",
      "role_name": "string"
    }
  ],
  "receives_notifications": true,
  "send_invitation_email": true
}

CompaniesPeopleUserPreferencesRequestBody

Field Name

Type

Required

Description

name

string

Yes

value

string

Yes

default_app

string

No

Sample Request Body

{
  "name": "string",
  "value": "string",
  "default_app": "string"
}

Companies - Site Hierarchies

Security

jwt-bearer-token

apiKey

API Key

Name

Authorization

In

header

Endpoints

GET /companies/{companyid}/site-hierarchies

Summary

Get a site hierarchies list by a specified identifier.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

siteHierarchyId

string

Yes

The site hierarchy identifier

Responses

Code

Description

Schema

200

Success Response

A site hierarchies list

site_hierarchies_list_response

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Site hierarchy not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "name": "string",
      "company_id": "string",
      "levels": [],
      "is_active": true,
      "created_at": "string",
      "created_by": "string",
      "updated_at": "string",
      "updated_by": "string"
    }
  ]
}

POST /companies/{companyid}/site-hierarchies

Summary

Create a new site hierarchy.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

Responses

Code

Description

Schema

201

Success Response

Created a site hierarchy document

site_hierarchy_document

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Validation error

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "name": "string",
  "company_id": "string",
  "sites": [
    "string"
  ],
  "levels": [
    {}
  ]
}

PUT /companies/{companyid}/site-hierarchies/{siteHierarchyId}

Summary

Update the site hierarchy by the identifier.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

siteHierarchyId

string

Yes

The site hierarchy identifier

Responses

Code

Description

Schema

201

Success Response

Updated the site hierarchy document

site_hierarchy_document

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Validation error

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "name": "string",
  "company_id": "string",
  "sites": [
    "string"
  ],
  "levels": [
    {}
  ]
}

GET /companies/{companyid}/site-hierarchies/{siteHierarchyId}

Summary

Get a site hierarchy document by the specified identifier.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

siteHierarchyId

string

Yes

The site hierarchy identifier

Responses

Code

Description

Schema

200

Success Response

A site hierarchy document

site_hierarchy

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Site hierarchy not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "name": "string",
  "company_id": "string",
  "levels": [
    {}
  ],
  "is_active": true,
  "created_at": "string",
  "created_by": "string",
  "updated_at": "string",
  "updated_by": "string"
}

DELETE /companies/{companyid}/site-hierarchies/{siteHierarchyId}

Summary

Delete a site hierarchy document by the specified identifier.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

siteHierarchyId

string

Yes

The site hierarchy identifier

Responses

Code

Description

Schema

204

No content.

The site hierarchy has been successfully removed.

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Site hierarchy not found

None

Default

Error Response

Message: Unexpected Error

None

GET /companies/{companyid}/custom-fields-entities

Summary

Get the company metadata entities.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

Responses

Code

Description

Schema

200

Success Response

Get the company metadata entities

custom-fields-entities

403

Error Response

Message: Permission denied

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

[
  {}
]

Companies - Metadata

Security

jwt-bearer-token

apiKey

API Key

Name

Authorization

In

header

Endpoints

GET /companies/{companyid}/metadata

Summary

Get all metadata documents for a company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

Responses

Code

Description

Schema

200

Success Response

A list of company metadata documents

company

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": "string",
  "name": "string",
  "is_active": true,
  "active": true,
  "is_smb": true,
  "allow_cleanup": true,
  "primary_contact": {
    "name": "string",
    "email": "string"
  },
  "created_at": "string",
  "created_by": "string",
  "updated_at": "string",
  "updated_by": "string",
  "sites_count": 0,
  "demo_sites_count": 0,
  "sites_href": "string",
  "subscriptions": [
    {
      "product": "string",
      "count": 0,
      "name": "string",
      "external_data": {},
      "is_active": true,
      "active": true
    }
  ],
  "aliases": [
    {
      "name": "string",
      "value": "string"
    }
  ],
  "location": {
    "address_1": "string",
    "address_2": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "formatted_address": "string",
    "country": "string"
  },
  "is_sales_partner": true,
  "sales_partner": {
    "id": "string",
    "support_contact": "string"
  },
  "support_contact": "string",
  "brands": [
    "string"
  ],
  "child_companies": [
    "string"
  ]
}

POST /companies/{companyid}/metadata

Summary

Add a metadata tag document for a company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

body

body

MetadataPayloadRequestBody

Yes

The metadata payload details

Responses

Code

Description

Schema

200

Success Response

A single company

company

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": "string",
  "name": "string",
  "is_active": true,
  "active": true,
  "is_smb": true,
  "allow_cleanup": true,
  "primary_contact": {
    "name": "string",
    "email": "string"
  },
  "created_at": "string",
  "created_by": "string",
  "updated_at": "string",
  "updated_by": "string",
  "sites_count": 0,
  "demo_sites_count": 0,
  "sites_href": "string",
  "subscriptions": [
    {
      "product": "string",
      "count": 0,
      "name": "string",
      "external_data": {},
      "is_active": true,
      "active": true
    }
  ],
  "aliases": [
    {
      "name": "string",
      "value": "string"
    }
  ],
  "location": {
    "address_1": "string",
    "address_2": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "formatted_address": "string",
    "country": "string"
  },
  "is_sales_partner": true,
  "sales_partner": {
    "id": "string",
    "support_contact": "string"
  },
  "support_contact": "string",
  "brands": [
    "string"
  ],
  "child_companies": [
    "string"
  ]
}

DELETE /companies/{companyid}/metadata/tags/{metadataTagId}

Summary

Delete a metadata tag from a company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifer

path

metadataTagId

string

Yes

The metadata tag identifier

Respones

Code

Description

Schema

204

No content.

The metadata tag has been removed successfully.

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

POST /companies/{companyid}/metadata/custom-fields

Summary

Add a metadata field document for a company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

body

body

MetadataCustomFieldRequestBody

Yes

The metadata payload details

Responses

Code

Description

Schema

200

Success Response

Created a metadata object

metadata_custom_field

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "name": "string",
  "section_name": "string",
  "order": 0,
  "section_order": 0,
  "help_text": "string",
  "placeholder_text": "string",
  "usage_type": "string",
  "custom_validation_rules": [
    {
      "name": "string",
      "rule_definition": "string"
    }
  ]
}

Data Models

MetadataPayloadRequestBody

Field Name

Type

Required

Description

entity_id

string

Yes

The entity identifier

value

object

Yes

path

string

No

section_name

string

No

order

integer

No

Sample Request Body

{
  "entity_id": "string",
  "value": {},
  "path": "string",
  "section_name": "string",
  "order": 0
}

MetadataCustomFieldRequestBody

Field Name

Type

Description

name

string

section_name

string

order

integer

section_order

integer

help_text

string

placeholder_text

string

usage_type

string

custom_validation_rules

object

custom_validation_rules_name

string

custom_validation_rules_rule_definition

string

Sample Request Body

{
  "name": "string",
  "section_name": "string",
  "order": 0,
  "section_order": 0,
  "help_text": "string",
  "placeholder_text": "string",
  "usage_type": "string",
  "custom_validation_rules": [
    {
      "name": "string",
      "rule_definition": "string"
    }
  ]
}

Companies - Sites

Security

jwt-bearer-token

apiKey

API Key

Name

Authorization

In

header

Endpoints

POST /companies/{companyid}/sites

Summary

Add a site to the company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

body

body

NewSiteRequestBody

Yes

The JSON of the site being added to the company

Respones

Code

Description

Schema

200

Success Response

Successful linking site with the company

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

GET /companies/{companyid}/sites

Summary

Get the sites for a company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

query

limit

integer (int32)

Yes

The maximum records to return

query

skip

integer (int32)

Yes

The records to skip before returning

query

filter

string

No

A substring of a name to filter on

query

include_inactive

boolean

No

If "True", include resources where active is false

query

alias_name

string

No

An alias name to filter on

query

alias_value

string

No

An alias value to filter on

Responses

Code

Description

Schema

200

Success Response

A list of sites

site_list

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "id": 0,
      "active": true,
      "name": "string",
      "phone_settings": {
        "code": "string",
        "number": "string",
        "country": "string"
      },
      "website": "string",
      "email": "user@example.com",
      "store_number": "string",
      "company": {
        "id": "string",
        "name": "string",
        "is_smb": true,
        "is_active": true,
        "created_at": "string",
        "created_by": "string",
        "updated_at": "string",
        "updated_by": "string",
        "subscriptions": [
          {
            "product": "string",
            "count": 0,
            "name": "string",
            "external_data": {},
            "is_active": true,
            "active": true
          }
        ],
        "brands": [
          "string"
        ]
      },
      "subscriptions": [
        "string"
      ],
      "location": {
        "address_1": "string",
        "address_2": "string",
        "city": "string",
        "state": "string",
        "zip": "string",
        "formatted_address": "string",
        "country": "string"
      },
      "access_code": "string",
      "automatic_updates": true,
      "apps": {
        "additionalProp1": {
          "preferred_version": {
            "version": "string",
            "uri": "string",
            "end_of_life": "string"
          },
          "installed_version": {
            "version": "string",
            "uri": "string",
            "end_of_life": "string"
          }
        },
        "additionalProp2": {
          "preferred_version": {
            "version": "string",
            "uri": "string",
            "end_of_life": "string"
          },
          "installed_version": {
            "version": "string",
            "uri": "string",
            "end_of_life": "string"
          }
        },
        "additionalProp3": {
          "preferred_version": {
            "version": "string",
            "uri": "string",
            "end_of_life": "string"
          },
          "installed_version": {
            "version": "string",
            "uri": "string",
            "end_of_life": "string"
          }
        }
      },
      "connected_devices": [
        {
          "app_code": "string",
          "devices": [
            {
              "terminal_id": "string",
              "terminal_entity_id": "string",
              "device_uuid": "string",
              "installed_version": "string",
              "date": "string"
            }
          ]
        }
      ],
      "timezone": "string",
      "is_demo": true,
      "is_active": true,
      "edm_sync": true
    }
  ]
}

POST /companies/{companyid}/sites/refresh-xkm-site-data

Summary

Refresh the Enterprise Kitchen site data.

Note

This operation refreshes the site configuration data, not the cloud data.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

header

CONTENT-TYPE

string

Yes

application/json

header

AUTHORIZATION

string

Yes

The integrator token created previously

body

body

RefreshKMSitesRequestBody

Yes

The request body

Responses

Code

Description

Schema

201

Success Response

The status of the request

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: The company or site not found

None

Default

Error Response

Message: Unexpected Error

None

POST /companies/{companyid}/sites/subscriptions

Summary

Get the active sites subscription codes.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

Responses

Code

Description

Schema

201

Success Response

The status of the request

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

GET /companies/{companyid}/sites/{siteid}

Summary

Get one company site.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

siteid

string

Yes

The site identifier

Responses

Code

Description

Schema

200

Success Response

A single site

site_response

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Site not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": 0,
  "active": true,
  "name": "string",
  "phone_settings": {
    "code": "string",
    "number": "string",
    "country": "string"
  },
  "website": "string",
  "email": "user@example.com",
  "store_number": "string",
  "company": {
    "id": "string",
    "name": "string",
    "is_smb": true,
    "is_active": true,
    "created_at": "string",
    "created_by": "string",
    "updated_at": "string",
    "updated_by": "string",
    "subscriptions": [
      {}
    ],
    "brands": [
      "string"
    ]
  },
  "subscriptions": [
    "string"
  ],
  "location": {
    "address_1": "string",
    "address_2": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "formatted_address": "string",
    "country": "string"
  },
  "identifiers": {
    "federal_tax": "string",
    "state_province_tax": "string"
  },
  "access_code": "string",
  "automatic_updates": true,
  "apps": {
    "property1": {
      "preferred_version": {},
      "installed_version": {}
    },
    "property2": {
      "preferred_version": {},
      "installed_version": {}
    }
  },
  "connected_devices": [
    {
      "app_code": "string",
      "devices": []
    }
  ],
  "timezone": "string",
  "is_demo": true,
  "is_active": true,
  "edm_sync": true
}

PUT /companies/{companyid}/sites/{siteid}

Summary

Update a site for the company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

siteid

string

Yes

The site identifier

body

body

SiteUpdateRequestBody

Yes

The JSON of the site being updated in the company

Responses

Code

Description

Schema

200

Success Response

updated the site information

site_response

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company or site not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": 0,
  "active": true,
  "name": "string",
  "phone_settings": {
    "code": "string",
    "number": "string",
    "country": "string"
  },
  "website": "string",
  "email": "user@example.com",
  "store_number": "string",
  "company": {
    "id": "string",
    "name": "string",
    "is_smb": true,
    "is_active": true,
    "created_at": "string",
    "created_by": "string",
    "updated_at": "string",
    "updated_by": "string",
    "subscriptions": [
      {}
    ],
    "brands": [
      "string"
    ]
  },
  "subscriptions": [
    "string"
  ],
  "location": {
    "address_1": "string",
    "address_2": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "formatted_address": "string",
    "country": "string"
  },
  "identifiers": {
    "federal_tax": "string",
    "state_province_tax": "string"
  },
  "access_code": "string",
  "automatic_updates": true,
  "apps": {
    "property1": {
      "preferred_version": {},
      "installed_version": {}
    },
    "property2": {
      "preferred_version": {},
      "installed_version": {}
    }
  },
  "connected_devices": [
    {
      "app_code": "string",
      "devices": []
    }
  ],
  "timezone": "string",
  "is_demo": true,
  "is_active": true,
  "edm_sync": true
}

DELETE /companies/{companyid}/sites/{siteid}

Summary

Remove a site from the company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

siteid

string

Yes

The site identifier

Responses

Code

Description

Schema

204

No content.

The successful removing of a site from the company.

None

404

Error Response

Message: Company or site not found

None

Default

Error Response

Message: Unexpected Error

None

POST /companies/{companyid}/get-sites

Summary

Get the sites for a company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

query

limit

integer (int32)

Yes

The maximum records to return

query

skip

integer (int32)

Yes

The records to skip before returning

query

filter

string

No

A substring of the name to filter on

query

include_inactive

boolean

No

If "True," include the resources where active is false

query

alias_name

string

No

An alias name to filter on

query

alias_value

string

No

An alias value to filter on

Responses

Code

Description

Schema

200

Success Response

A list of sites

site_list

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "id": 0,
      "active": true,
      "name": "string",
      "phone_settings": {},
      "website": "string",
      "email": "user@example.com",
      "store_number": "string",
      "company": {},
      "subscriptions": [],
      "location": {},
      "identifiers": {},
      "access_code": "string",
      "automatic_updates": true,
      "apps": {},
      "connected_devices": [],
      "timezone": "string",
      "is_demo": true,
      "is_active": true,
      "edm_sync": true
    }
  ]
}

GET /companies/{companyid}/sites-count

Summary

Get a company’s sites count available for the user.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

Responses

Code

Description

Schema

200

Success Response

The company identifier with sites count

company_sites_count

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

[
  {
    "company_id": "string",
    "sites_count": 0,
    "restricted_access": true
  }
]

POST /companies/{companyid}/sites/:site_id/roles

Summary

Add a new site role. Only the existing access token is required to call this endpoint.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

siteid

string

Yes

The site identifier

body

body

SiteRoleRequestBody

Yes

The JSON of the new site role

Responses

Code

Description

Schema

201

No content.

The role was created successfully.

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Site not found or company not found

None

Default

Error Response

Message: Unexpected Error

None

GET /companies/{companyid}/sites/{siteid}/roles

Summary

Get the company site roles.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

siteid

string

Yes

The site identifier

Responses

Code

Description

Schema

200

Success Response

A list of the site roles

site_roles_response

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company or site not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "id": "string",
      "name": "string",
      "is_active": true,
      "created_at": "string",
      "created_by": "string",
      "updated_at": "string",
      "updated_by": "string",
      "permissions": [],
      "company_role_id": "string",
      "site_id": "string",
      "company_id": "string",
      "description": "string"
    }
  ]
}

DELETE /companies/{companyid}/sites/{siteid}/roles/{siteroleid}

Summary

Remove the company site role. Only the existing access token is required to call this endpoint.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

siteid

string

Yes

The site identifier

path

siteroleid

string

Yes

The site role identifier

Responses

Code

Description

Schema

200

No content.

The site role is removed.

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company or site not found

None

Default

Error Response

Message: Unexpected Error

None

Data Models

NewSiteRequestBody

Field Name

Type

Required

Description

name

string

Yes

A descriptive name for the site

phone_settings

PhoneSettingsRequestBody

No

website

string

No

email

string (email)

No

store_number

string

Yes

A unique identifier for the site defined by the company

location

LocationRequestBody

Yes

The location object defines the site’s address

automatic_updates

boolean

No

timezone

string

Yes

environment

string

Yes

Examples: Production, Site-Lab, QA-Test, Training

business_type

string

Yes

Examples: QSR, TSR, Retail, Suite

source_site_copy_id

string

No

Sample Request Body

{ "name": "string", "phone_settings": { "code": "string", "number": "string", "country": "string" }, "website": "string", "email": "user@example.com", "store_number": "string", "location": { "address_1": "string", "address_2": "string", "city": "string", "state": "string", "zip": "string", "formatted_address": "string", "country": "string" }, "automatic_updates": true, "timezone": "string", "environment": "string", "business_type": "string", "preferred_language": "string", "source_site_copy_id": "string" }

PhoneSettingsRequestBody

Field Name

Type

Description

code

string

number

string

country

string

LocationRequestBody

Field Name

Type

Required

Description

address_1

string

Yes

The first line of the site’s street address

address_2

string

No

The second line of the site’s street address

city

string

Yes

The city portion of the site’s address

state

string

Yes

The state, province, or region portion of the site’s address

zip

string

Yes

The zip or postal code portion of the site’s address

formatted_address

string

No

country

string

Yes

The country of the site’s address.

https://en.wikipedia.org/wiki/ISO_3166-1

RefreshKMSitesRequestBody

Field Name

Type

Required

Description

site_ids

array

Yes

The list of site identifiers (IDs)

kitchen_stations_ids

array

Yes

The list of kitchen station IDs

kitchen_entity_ids

array

Yes

The list of kitchen entity IDs

Sample Request Body

curl --location 'https://xprtbackend.xenial.com/v1/companies/<company_id> /sites/refresh-xkm-site-data' \ --header 'authorization: Bearer <TOKEN>' \ --header 'Content-Type: application/json' \ --data '{ "site_ids": [ "5abbc2171fd8fb001ca02a19" ], "kitchen_stations_ids": [ "66f1920dcc2a1e4f1b7daba9", "66f1920dcc2a1e4f1b7dabaa", "66f1920dcc2a1e4f1b7dabab", "66f1920dcc2a1e4f1b7dabac", "66f1920dcc2a1e4f1b7dabaf", "66f1920dcc2a1e4f1b7dabb0" ], "kitchen_entity_ids": [ "58a70c994a52a807a49ea3a5", "58a70cd64a52a807a49ea3a9", "5fb58ccaa4c48e002cdd384f", "eb7c05b9b0ae3c72efcfb50c", "58a70caf4a52a807a49ea3a7", "5907bb57c34d43b25110f0b9" ] }'

SiteUpdateRequestBody

Field Name

Type

Required

Description

id

integer (string)

Yes

name

string

Yes

phone_number

string

No

website

string

No

email

string (email)

No

store_number

string

No

company

CompanyRequestBody

No

location

LocationRequestBody

No

access_code

string

No

automatic_updates

boolean

No

apps

AppsRequestBody

No

timezone

string

Yes

source_site_replace_id

string

No

copy_entities

[string]

No

revert

boolean

No

Sample Request Body

{ "id": 0, "name": "string", "phone_number": "string", "website": "string", "email": "user@example.com", "store_number": "string", "company": { "id": "string", "name": "string", "is_smb": true, "is_active": true, "created_at": "string", "created_by": "string", "updated_at": "string", "updated_by": "string", "subscriptions": [ {} ], "brands": [ "string" ] }, "location": { "address_1": "string", "address_2": "string", "city": "string", "state": "string", "zip": "string", "formatted_address": "string", "country": "string" }, "access_code": "string", "automatic_updates": true, "apps": { "property1": { "preferred_version": {} }, "property2": { "preferred_version": {} } }, "timezone": "string", "source_site_replace_id": "string", "copy_entities": [ "string" ], "revert": true }

CompanyRequestBody

Field Name

Type

Description

id

string

name

string

is_smb

boolean

is_active

boolean

created_at

string

created_by

string

updated_at

string

updated_by

string

subscriptions

SubscriptionsRequestBodySubscriptionsRequestBody

brands

[string]

AppsRequestBody

Field Name

Type

Description

additionalProperties

AdditionalPropertiesRequestBody

AdditionalPropertiesRequestBody

Field Name

Type

Required

Description

preferred_version

PreferredVersionRequestBody

Yes

PreferredVersionRequestBody

Field Name

Type

Required

Description

version

string

Yes

uri

string

Yes

end_of_life

string

Yes

SiteRoleRequestBody

Field Name

Type

Description

id

string

The site role unique identifier

name

string

The site role name

is_active

boolean

The flag that indicates if the site role is active

created_at

string

The date and time the site role was created

created_by

string

The user who created the site role

updated_at

string

The date and time the site role was updated

updated_by

string

The user who updated the site role

permissions

PermissionsRequestBody

The list of permissions assigned to the site role

company_role_id

string

The company role identifier

site_id

string

The site identifier

company_id

string

The company identifier

description

string

The site role description

Sample Request Body

{ "id": "string", "name": "string", "is_active": true, "created_at": "string", "created_by": "string", "updated_at": "string", "updated_by": "string", "permissions": [ { "app_code": "string", "name": "string", "type": "string", "value": "string", "created_at": "string", "created_by": "string", "updated_at": "string", "updated_by": "string" } ], "company_role_id": "string", "site_id": "string", "company_id": "string", "description": "string" }

PermissionsRequestBody

Field Name

Type

Required

Description

app_code

string

Yes

The application code

name

string

Yes

The permission name

type

string

No

The permission type

value

string

Yes

The permission value

created_at

string

No

The date and time the permission was created

created_by

string

No

The user who created the permission

updated_at

string

No

The date and time the permission was updated

updated_by

string

No

The user who updated the permission

Companies - Roles

Security

jwt-bearer-token

apiKey

API Key

Name

Authorization

In

header

Endpoints

GET /companies/{companyid}/roles

Summary

Get the company's roles.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

Responses

Code

Description

Schema

200

Success Response

A list of the companies’ roles

companies_roles_response

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "id": "string",
      "name": "string",
      "is_active": true,
      "created_at": "string",
      "created_by": "string",
      "updated_at": "string",
      "updated_by": "string",
      "permissions": [
        {
          "app_code": "string",
          "name": "string",
          "type": "string",
          "value": "string",
          "created_at": "string",
          "created_by": "string",
          "updated_at": "string",
          "updated_by": "string"
        }
      ]
    }
  ]
}

POST /companies/{companyid}/roles

Summary

Add a new role to the company.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

body

body

RoleRequestBody

Yes

The JSON of the new role for the company

Responses

Code

Description

Schema

201

No content.

The role was created successfully.

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

GET /companies/{companyid}/roles/{roleid}

Summary

Get the company role by the roleid.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

roleid

string

Yes

The role identifier

Responses

Code

Description

Schema

200

Success Response

A company role

company_role

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company role not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": "string",
  "name": "string",
  "is_active": true,
  "created_at": "string",
  "created_by": "string",
  "updated_at": "string",
  "updated_by": "string",
  "permissions": [
    {
      "app_code": "string",
      "name": "string",
      "type": "string",
      "value": "string",
      "created_at": "string",
      "created_by": "string",
      "updated_at": "string",
      "updated_by": "string"
    }
  ]
}

PUT /companies/{companyid}/roles/{roleid}

Summary

Update a company role.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

roleid

string

Yes

The role identifier

body

body

RoleRequestBody

Yes

The JSON of the new data of the company role

Responses

Code

Description

Schema

204

No content.

The role was updated successfully.

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

GET /companies/{companyid}/permissions

Summary

Get company permissions. Only the existing access token is required to call this endpoint.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

Responses

Code

Description

Schema

200

Success Response

All company permissions

permission_declaration_set

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "name": "string",
      "app_code": "string",
      "type": "string",
      "title": "string",
      "helptext": "string"
    }
  ]
}

POST /companies/{companyid}/permissions

Summary

Update company roles with permissions. Only the existing access token is required to call this endpoint.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

body

body

CompanyPermissionRequestBody

Yes

The JSON of the permission information

POST /companies/{companyid}/usage-data/roles

Summary

Get the company role(s) usage data.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

body

body

CompanyRolesRequestBody

Yes

The JSON of the company roles to deactivate

Responses

Code

Description

Schema

201

The role(s) usage data was successfully created

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Roles/company not found

None

Default

Error Response

Message: Unexpected Error

None

PUT /companies/{companyid}/status/roles/{status}

Summary

Update the company role(s) status.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

status

string

Yes

The role status

body

body

CompanyRolesRequestBody

Yes

The JSON of the company role identifiers

Responses

Code

Description

Schema

201

The role(s) deactivation successful

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Roles/ company not found

None

Default

Error Response

Message: Unexpected Error

None

GET /companies/{companyid}/user_roles/{status}

Summary

Get the active/inactive companies’ roles.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

path

status

string

Yes

The role status

Responses

Code

Description

Schema

200

Success Response

A list of active/inactive companies’ roles

company_roles_responses

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "id": "string",
      "name": "string",
      "is_active": true,
      "created_at": "string",
      "created_by": "string",
      "updated_at": "string",
      "updated_by": "string",
      "permissions": [
        {
          "app_code": "string",
          "name": "string",
          "type": "string",
          "value": "string",
          "created_at": "string",
          "created_by": "string",
          "updated_at": "string",
          "updated_by": "string"
        }
      ]
    }
  ]
}

GET /companies/{companyid}/default-roles

Summary

Get a company's default role names.

Request Parameters

In

Field Name

Type

Required

Description

path

companyid

string

Yes

The company identifier

Responses

Code

Description

Schema

200

Success Response

An array of the company default roles names

company_default_role_names

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Company not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

[
  "string"
]

Data Models

CompanyPermissionRequestBody

Field Name

Type

Required

Description

app_code

string

Yes

The application code

name

string

Yes

The company permission name

roles

[string]

Yes

The list of company permission roles

Sample Request Body

{
  "app_code": "string",
  "name": "string",
  "roles": [
    "string"
  ]
}

CompanyRolesRequestBody

Field Name

Type

Required

Description

roles

[string]

Yes

The list of roles information

Sample Request Body

{
  "roles": [
    "string"
  ]
}

RoleRequestBody

Field Name

Type

Required

Description

id

string

No

The object identifier

name

string

Yes

The role name

is_active

boolean

No

The flag that indicates if the role is active

created_at

string

No

The date and time the role was created

created_by

string

No

The user who created the role

updated_at

string

No

The date and time the role was updated

updated_by

string

No

The user who updated the role

permissions

PermissionsRequestBody

Yes

The list of permission information

Sample Request Body

{
  "id": "string",
  "name": "string",
  "is_active": true,
  "created_at": "string",
  "created_by": "string",
  "updated_at": "string",
  "updated_by": "string",
  "permissions": [
    {
      "app_code": "string",
      "name": "string",
      "type": "string",
      "value": "string",
      "created_at": "string",
      "created_by": "string",
      "updated_at": "string",
      "updated_by": "string"
    }
  ]
}

Sites

Security

jwt-bearer-token

apiKey

API Key

Name

Authorization

In

header

Endpoints

GET /sites

Summary

Get the list of sites.

Request Parameters

In

Field Name

Type

Required

Description

query

limit

integer (int32)

Yes

The maximum records to return

query

skip

integer (int32)

Yes

The records to skip before returning

query

filter

string

No

A substring of name to filter on

query

include_inactive

boolean

No

If "True," include resources where active is false

Responses

Code

Description

Schema

200

Success Response

A list of sites

site_list

403

Error Response

Message: Permission denied

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "id": 0,
      "active": true,
      "name": "string",
      "phone_settings": {},
      "website": "string",
      "email": "user@example.com",
      "store_number": "string",
      "company": {},
      "subscriptions": [],
      "location": {},
      "identifiers": {},
      "access_code": "string",
      "automatic_updates": true,
      "apps": {},
      "connected_devices": [],
      "timezone": "string",
      "is_demo": true,
      "is_active": true,
      "edm_sync": true
    }
  ]
}

POST /sites

Summary

Add a new site.

Request Parameters

In

Field Name

Type

Required

Description

body

body

SiteUpdateRequestBody

Yes

The JSON of the site being created

Responses

Code

Description

Schema

201

Success Response

Site added

site_response

403

Error Response

Message: Permission denied

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": 0,
  "active": true,
  "name": "string",
  "phone_settings": {
    "code": "string",
    "number": "string",
    "country": "string"
  },
  "website": "string",
  "email": "user@example.com",
  "store_number": "string",
  "company": {
    "id": "string",
    "name": "string",
    "is_smb": true,
    "is_active": true,
    "created_at": "string",
    "created_by": "string",
    "updated_at": "string",
    "updated_by": "string",
    "subscriptions": [
      {
        "product": "string",
        "count": 0,
        "name": "string",
        "external_data": {},
        "is_active": true,
        "active": true
      }
    ],
    "brands": [
      "string"
    ]
  },
  "subscriptions": [
    "string"
  ],
  "location": {
    "address_1": "string",
    "address_2": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "formatted_address": "string",
    "country": "string"
  },
  "access_code": "string",
  "automatic_updates": true,
  "apps": {
    "additionalProp1": {
      "preferred_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      },
      "installed_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      }
    },
    "additionalProp2": {
      "preferred_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      },
      "installed_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      }
    },
    "additionalProp3": {
      "preferred_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      },
      "installed_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      }
    }
  },
  "connected_devices": [
    {
      "app_code": "string",
      "devices": [
        {
          "terminal_id": "string",
          "terminal_entity_id": "string",
          "device_uuid": "string",
          "installed_version": "string",
          "date": "string"
        }
      ]
    }
  ],
  "timezone": "string",
  "is_demo": true,
  "is_active": true,
  "edm_sync": true
}

DELETE /sites/bulk

Summary

Create, update, or delete many sites per one request.

Request Parameters

In

Field Name

Type

Required

Description

body

sites

array [object]

No

The sites' documents to create, update, or delete

Responses

Code

Description

Schema

200

Success Response

The details for each bulk operation: create, update, or delete

bulk_execution_response

403

Error Response

Message: Permission denied

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "notCreated": {
    "total": 0,
    "items": [
      {}
    ]
  },
  "notUpdated": {
    "total": 0,
    "items": [
      {}
    ]
  },
  "notDeleted": {
    "total": 0,
    "items": [
      {}
    ]
  }
}

PUT /sites/{siteid}

Summary

Edit a site.

Request Parameters

In

Field Name

Type

Required

Description

path

siteid

string

Yes

The site identifier

body

body

SiteUpdateRequestBody

Yes

The JSON of the site being edited

Responses

Code

Description

Schema

200

Success Response

Site edited

site_response

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Site not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": 0,
  "active": true,
  "name": "string",
  "phone_settings": {
    "code": "string",
    "number": "string",
    "country": "string"
  },
  "website": "string",
  "email": "user@example.com",
  "store_number": "string",
  "company": {
    "id": "string",
    "name": "string",
    "is_smb": true,
    "is_active": true,
    "created_at": "string",
    "created_by": "string",
    "updated_at": "string",
    "updated_by": "string",
    "subscriptions": [
      {
        "product": "string",
        "count": 0,
        "name": "string",
        "external_data": {},
        "is_active": true,
        "active": true
      }
    ],
    "brands": [
      "string"
    ]
  },
  "subscriptions": [
    "string"
  ],
  "location": {
    "address_1": "string",
    "address_2": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "formatted_address": "string",
    "country": "string"
  },
  "access_code": "string",
  "automatic_updates": true,
  "apps": {
    "additionalProp1": {
      "preferred_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      },
      "installed_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      }
    },
    "additionalProp2": {
      "preferred_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      },
      "installed_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      }
    },
    "additionalProp3": {
      "preferred_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      },
      "installed_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      }
    }
  },
  "connected_devices": [
    {
      "app_code": "string",
      "devices": [
        {
          "terminal_id": "string",
          "terminal_entity_id": "string",
          "device_uuid": "string",
          "installed_version": "string",
          "date": "string"
        }
      ]
    }
  ],
  "timezone": "string",
  "is_demo": true,
  "is_active": true,
  "edm_sync": true
}

GET /sites/{siteid}

Summary

Get one site.

Request Parameters

In

Field Name

Type

Required

Description

path

siteid

string

Yes

The site identifier

Responses

Code

Description

Schema

200

Success Response

A single site

site_response

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Site not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": 0,
  "active": true,
  "name": "string",
  "phone_settings": {
    "code": "string",
    "number": "string",
    "country": "string"
  },
  "website": "string",
  "email": "user@example.com",
  "store_number": "string",
  "company": {
    "id": "string",
    "name": "string",
    "is_smb": true,
    "is_active": true,
    "created_at": "string",
    "created_by": "string",
    "updated_at": "string",
    "updated_by": "string",
    "subscriptions": [
      {
        "product": "string",
        "count": 0,
        "name": "string",
        "external_data": {},
        "is_active": true,
        "active": true
      }
    ],
    "brands": [
      "string"
    ]
  },
  "subscriptions": [
    "string"
  ],
  "location": {
    "address_1": "string",
    "address_2": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "formatted_address": "string",
    "country": "string"
  },
  "access_code": "string",
  "automatic_updates": true,
  "apps": {
    "additionalProp1": {
      "preferred_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      },
      "installed_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      }
    },
    "additionalProp2": {
      "preferred_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      },
      "installed_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      }
    },
    "additionalProp3": {
      "preferred_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      },
      "installed_version": {
        "version": "string",
        "uri": "string",
        "end_of_life": "string"
      }
    }
  },
  "connected_devices": [
    {
      "app_code": "string",
      "devices": [
        {
          "terminal_id": "string",
          "terminal_entity_id": "string",
          "device_uuid": "string",
          "installed_version": "string",
          "date": "string"
        }
      ]
    }
  ],
  "timezone": "string",
  "is_demo": true,
  "is_active": true,
  "edm_sync": true
}

DELETE /sites/{siteid}

Summary

Deactivate a site.

Request Parameters

In

Field Name

Type

Required

Description

path

siteid

string

Yes

The site identifier

Responses

Code

Description

Schema

204

No content.

Successful deactivation,

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Site not found

None

Default

Error Response

Message: Unexpected Error

None

POST /sites/{siteid}/metadata

Summary

Add metadata for a site.

Request Parameters

In

Field Name

Type

Required

Description

path

siteid

string

Yes

The site identifier

body

body

MetadataPayloadRequestBody

Yes

The metadata payload details

Responses

Code

Description

Schema

200

Success Response

A single site

site_response

404

Error Response

Message: Site not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": 0,
  "active": true,
  "name": "string",
  "phone_settings": {
    "code": "string",
    "number": "string",
    "country": "string"
  },
  "website": "string",
  "email": "user@example.com",
  "store_number": "string",
  "company": {
    "id": "string",
    "name": "string",
    "is_smb": true,
    "is_active": true,
    "created_at": "string",
    "created_by": "string",
    "updated_at": "string",
    "updated_by": "string",
    "subscriptions": [
      {}
    ],
    "brands": [
      "string"
    ]
  },
  "subscriptions": [
    "string"
  ],
  "location": {
    "address_1": "string",
    "address_2": "string",
    "city": "string",
    "state": "string",
    "zip": "string",
    "formatted_address": "string",
    "country": "string"
  },
  "identifiers": {
    "federal_tax": "string",
    "state_province_tax": "string"
  },
  "access_code": "string",
  "automatic_updates": true,
  "apps": {
    "property1": {
      "preferred_version": {},
      "installed_version": {}
    },
    "property2": {
      "preferred_version": {},
      "installed_version": {}
    }
  },
  "connected_devices": [
    {
      "app_code": "string",
      "devices": []
    }
  ],
  "timezone": "string",
  "is_demo": true,
  "is_active": true,
  "edm_sync": true
}

GET /sites/{siteid}/roles

Summary

Get available roles for a site.

Request Parameters

In

Field Name

Type

Required

Description

path

siteid

string

Yes

The site identifier

Responses

Code

Description

Schema

200

Success Response

A list of roles for a single site

site_roles

404

Error Response

Message: Site not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "id": "string",
      "name": "string",
      "is_active": true,
      "created_at": "string",
      "created_by": "string",
      "updated_at": "string",
      "updated_by": "string",
      "permissions": [
        {
          "app_code": "string",
          "name": "string",
          "type": "string",
          "value": "string",
          "created_at": "string",
          "created_by": "string",
          "updated_at": "string",
          "updated_by": "string"
        }
      ]
    }
  ]
}

GET /sites/{siteid}/people

Summary

Get the people related with a site.

Request Parameters

In

Field Name

Type

Required

Description

path

siteid

string

Yes

The site identifier

query

limit

integer (int32)

Yes

The maximum records to return

query

skip

integer (int32)

Yes

The records to skip before returning

query

filter

string

No

A substring of name to filter on

query

include_inactive

boolean

No

If "True," include resources where active is false

query

include_permissions

boolean

No

If "True," include permissions for the person/people

query

include_manually_assigned

boolean

No

If "True," include site_people assigned to sites manually, not through the user groups

Responses

Code

Description

Schema

200

Success Response

A list of site people

site_people

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Site not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "total": 0,
  "items": [
    {
      "id": "string",
      "name": "string",
      "email": "string",
      "pos_id": 0,
      "pin": 0,
      "pin_updated_at": "string",
      "force_pin_updated": true,
      "roles": [
        {
          "role_id": "string",
          "role_name": "string"
        }
      ],
      "created_at": "string",
      "created_by": "string",
      "updated_at": "string",
      "updated_by": "string"
    }
  ]
}

POST /sites/{siteid}/people

Summary

Link a person to the site.

Request Parameters

In

Field Name

Type

Required

Description

path

siteid

string

Yes

The site identifier

body

body

NewSitePersonRequestBody

Yes

The JSON of the person identifier being linked to the site

Responses

Code

Description

Schema

201

Success Response

Successful linking of a site with a person

site_person

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Site not found

None

Default

Error Response

Message: Unexpected Error

None

Sample Success Response Body

{
  "id": "string",
  "name": "string",
  "email": "string",
  "pos_id": 0,
  "pin": 0,
  "pin_updated_at": "string",
  "force_pin_updated": true,
  "roles": [
    {
      "role_id": "string",
      "role_name": "string"
    }
  ],
  "created_at": "string",
  "created_by": "string",
  "updated_at": "string",
  "updated_by": "string"
}

DELETE /sites/{siteid}/people/{personid}

Summary

Remove a person from the site.

Request Parameters

In

Field Name

Type

Required

Description

path

siteid

string

Yes

The site identifier

path

personid

string

Yes

The person identifier

Responses

Code

Description

Schema

204

No content.

Successful removing of the person from the site.

None

403

Error Response

Message: Permission denied

None

404

Error Response

Message: Site not found

None

422

Error Response

Message: Person in site not found

None

Default

Error Response

Message: Unexpected Error

None

Data Models

SiteUpdateRequestBody

Field Name

Type

Required

Description

id

integer (string)

Yes

The site identifier

name

string

Yes

The site name

phone_number

string

No

The site phone number

website

string

No

The site website

email

string (email)

No

The site email

store_number

string

No

The site store number

company

CompanyRequestBody

No

The site company information

location

LocationRequestBody

No

The site location information

access_code

string

No

The site access code

automatic_updates

boolean

No

The flag that indicates whether automatic updates is set

apps

AppsRequestBody

No

The site's applications information

timezone

string

Yes

The site time zone

source_site_replace_id

string

No

copy_entities

[string]

No

revert

boolean

No

NewSitePersonRequestBody

Field Name

Type

Description

person_id

string

The person's identifier

Sample Request Body

{
  "person_id": "string"
}