People 2.0.0

{
  "swagger": "2.0",
  "info": {
    "version": "v2",
    "title": "Inmar.Analytics.PowerShopper.Api"
  },
  "host": "api.people.inmar.io",
  "schemes": [
    "https"
  ],
  "paths": {
    "/api/v2/tenants/{externalTenantId}/shoppers/{shopperId}/activities/{activityId}": {
      "get": {
        "tags": [
          "Activities"
        ],
        "operationId": "Activities_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "shopperId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "shopperLookupId",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientActivity"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/shoppers/{shopperId}/activities": {
      "get": {
        "tags": [
          "Activities"
        ],
        "operationId": "Activities_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "shopperId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "shopperLookupId",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientActivity"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/activities": {
      "post": {
        "tags": [
          "Activities"
        ],
        "operationId": "Activities_Create",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientActivity",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientActivity"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientActivity"
            }
          }
        },
        "deprecated": false
      },
      "patch": {
        "tags": [
          "Activities"
        ],
        "operationId": "Activities_BatchUpsert",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientActivities",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ClientActivity"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientJobCore"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/activities/{activityId}": {
      "put": {
        "tags": [
          "Activities"
        ],
        "operationId": "Activities_Update",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientActivity",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientActivity"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientActivity"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/shoppers/{id}/activities/{activityId}": {
      "delete": {
        "tags": [
          "Activities"
        ],
        "operationId": "Activities_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "shopperId",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "activityId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientJobCore"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/apikeys": {
      "get": {
        "tags": [
          "ApiKeys"
        ],
        "operationId": "ApiKeys_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "ApiKeys"
        ],
        "operationId": "ApiKeys_Update",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "apiKey",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApiKey"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "ApiKeys"
        ],
        "operationId": "ApiKeys_Create",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "apiKey",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ApiKey"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/apikeys/{key}": {
      "get": {
        "tags": [
          "ApiKeys"
        ],
        "operationId": "ApiKeys_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "ApiKeys"
        ],
        "operationId": "ApiKeys_Disable",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/authorizations/{id}": {
      "get": {
        "tags": [
          "Authorizations"
        ],
        "operationId": "Authorizations_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Authorization"
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Authorizations"
        ],
        "operationId": "Authorizations_Update",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "authorization",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InmarAuthorization"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Authorization"
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/authorizations": {
      "post": {
        "tags": [
          "Authorizations"
        ],
        "operationId": "Authorizations_Create",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "authorization",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/InmarAuthorization"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Authorization"
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/fields": {
      "get": {
        "tags": [
          "FieldDefinitions"
        ],
        "operationId": "FieldDefinitions_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "array",
                "items": {
                  "$ref": "#/definitions/ClientFieldDefinition"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/fields/{scope}": {
      "get": {
        "tags": [
          "FieldDefinitions"
        ],
        "operationId": "FieldDefinitions_GetAllByScope",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "scope",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ClientFieldDefinition"
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "FieldDefinitions"
        ],
        "operationId": "FieldDefinitions_Create",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "scope",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientFieldDefinition",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientFieldDefinition"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientFieldDefinition"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/fields/{scope}/{id}": {
      "get": {
        "tags": [
          "FieldDefinitions"
        ],
        "operationId": "FieldDefinitions_GetById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "scope",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientFieldDefinition"
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "FieldDefinitions"
        ],
        "operationId": "FieldDefinitions_Update",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "scope",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientFieldDefinition",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientFieldDefinition"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientFieldDefinition"
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "FieldDefinitions"
        ],
        "operationId": "FieldDefinitions_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "scope",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientFieldDefinition"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/jobs/{workItemName}/{id}": {
      "get": {
        "tags": [
          "InmarJobs"
        ],
        "operationId": "InmarJobs_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "workItemName",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientJobCore"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/admin/lookups": {
      "get": {
        "tags": [
          "Lookups"
        ],
        "operationId": "Lookups_AdminGetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "includeDisabled",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Lookup"
              }
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Lookups"
        ],
        "operationId": "Lookups_AdminUpdate",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "lookup",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Lookup"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Lookup"
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Lookups"
        ],
        "operationId": "Lookups_AdminCreate",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "lookup",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Lookup"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Lookup"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/admin/lookups/{id}": {
      "delete": {
        "tags": [
          "Lookups"
        ],
        "operationId": "Lookups_AdminDelete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Lookup"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/lookups": {
      "get": {
        "tags": [
          "Lookups"
        ],
        "operationId": "Lookups_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "includeDisabled",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ClientLookup"
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Lookups"
        ],
        "operationId": "Lookups_Create",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "lookupRequest",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientLookup"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientLookup"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/lookups/{id}": {
      "get": {
        "tags": [
          "Lookups"
        ],
        "operationId": "Lookups_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "includeDisabled",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientLookup"
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Lookups"
        ],
        "operationId": "Lookups_Update",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "lookupRequest",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientLookup"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientLookup"
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Lookups"
        ],
        "operationId": "Lookups_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientLookup"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/mementos/shoppers/{id}": {
      "get": {
        "tags": [
          "Mementos"
        ],
        "operationId": "Mementos_GetLookup",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "diff",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{tenantExternalId}/mementos/lookups/{id}": {
      "get": {
        "tags": [
          "Mementos"
        ],
        "operationId": "Mementos_GetLookup",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "query",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "diff",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "tenantExternalId",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/mementos/tenants/{id}": {
      "get": {
        "tags": [
          "Mementos"
        ],
        "operationId": "Mementos_GetTenant",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "diff",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/ping": {
      "get": {
        "tags": [
          "Ping"
        ],
        "operationId": "Ping_HealthCheck",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "includeCertificates",
            "in": "query",
            "required": false,
            "type": "boolean"
          },
          {
            "name": "storeName",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "AddressBook",
              "AuthRoot",
              "CertificateAuthority",
              "Disallowed",
              "My",
              "Root",
              "TrustedPeople",
              "TrustedPublisher"
            ]
          },
          {
            "name": "storeLocation",
            "in": "query",
            "required": false,
            "type": "string",
            "enum": [
              "CurrentUser",
              "LocalMachine"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/settings": {
      "get": {
        "tags": [
          "Settings"
        ],
        "operationId": "Settings_GetAllByTenant",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "groupingLabel",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ClientSetting"
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Settings"
        ],
        "operationId": "Settings_Create",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientSetting",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientSetting"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientSetting"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/settings/{id}": {
      "get": {
        "tags": [
          "Settings"
        ],
        "operationId": "Settings_GetById",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientSetting"
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Settings"
        ],
        "operationId": "Settings_Update",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientSetting",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientSetting"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientSetting"
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Settings"
        ],
        "operationId": "Settings_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientSetting"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/login": {
      "post": {
        "tags": [
          "ShopperAuthentications"
        ],
        "operationId": "ShopperAuthentications_Login",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientAuthentication",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientShopperAuthentication"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "boolean"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/authentications/{id}": {
      "get": {
        "tags": [
          "ShopperAuthentications"
        ],
        "operationId": "ShopperAuthentications_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "lookupId",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientShopperAuthentication"
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "ShopperAuthentications"
        ],
        "operationId": "ShopperAuthentications_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "lookupId",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientShopperAuthentication"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/authentications": {
      "put": {
        "tags": [
          "ShopperAuthentications"
        ],
        "operationId": "ShopperAuthentications_Update",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientAuthentication",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientShopperAuthentication"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ShopperAuthentication"
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "ShopperAuthentications"
        ],
        "operationId": "ShopperAuthentications_Create",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientAuthentication",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientShopperAuthentication"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientShopperAuthentication"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/authentications/legacy/shoppers/{shopperId}": {
      "post": {
        "tags": [
          "ShopperAuthentications"
        ],
        "operationId": "ShopperAuthentications_CreateLegacy",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "shopperId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "legacyPassword",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/PasswordHash"
            }
          },
          {
            "name": "shopperLookupId",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientShopperAuthentication"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/admin/shoppers/{id}": {
      "get": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_AdminGet",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "lookupId",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "includeDisabled",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientShopperWithHistory"
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_AdminDelete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Shopper"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/admin/shoppers": {
      "put": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_AdminUpdate",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "shopper",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Shopper"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Shopper"
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_AdminCreate",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "shopper",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Shopper"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/Shopper"
            }
          }
        },
        "deprecated": false
      },
      "patch": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_AdminBatchUpsert",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "shoppers",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/Shopper"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ClientResult[Shopper]"
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/shoppers/{id}": {
      "get": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "lookupId",
            "in": "query",
            "required": false,
            "type": "string"
          },
          {
            "name": "includeDisabled",
            "in": "query",
            "required": false,
            "type": "boolean"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientShopper"
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_Update",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientShopper",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientShopper"
            }
          },
          {
            "name": "lookupId",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientJobCore"
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "lookupId",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientJobCore"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/shoppers": {
      "post": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_Create",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientShopper",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/ClientShopper"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientJobCore"
            }
          }
        },
        "deprecated": false
      },
      "patch": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_BatchUpsert",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "clientShoppers",
            "in": "body",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/definitions/ClientShopper"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientJobCore"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/shoppers/{id}/fields/{fieldId}": {
      "delete": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_DeleteField",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "fieldId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "lookupId",
            "in": "query",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientShopper"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{externalTenantId}/shoppers/{id}/sourceSystems/{sourceSystem}": {
      "delete": {
        "tags": [
          "Shoppers"
        ],
        "operationId": "Shoppers_DeleteSourceSystem",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "externalTenantId",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          },
          {
            "name": "sourceSystem",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "$ref": "#/definitions/ClientShopper"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants": {
      "get": {
        "tags": [
          "Tenants"
        ],
        "operationId": "Tenants_GetAll",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      },
      "put": {
        "tags": [
          "Tenants"
        ],
        "operationId": "Tenants_Update",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "tenant",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Tenant"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Tenants"
        ],
        "operationId": "Tenants_Create",
        "consumes": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml",
          "application/x-www-form-urlencoded"
        ],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "tenant",
            "in": "body",
            "required": true,
            "schema": {
              "$ref": "#/definitions/Tenant"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      }
    },
    "/api/v2/tenants/{id}": {
      "get": {
        "tags": [
          "Tenants"
        ],
        "operationId": "Tenants_Get",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "Tenants"
        ],
        "operationId": "Tenants_Delete",
        "consumes": [],
        "produces": [
          "application/json",
          "text/json",
          "application/xml",
          "text/xml"
        ],
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "schema": {
              "type": "object"
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "definitions": {
    "ClientActivity": {
      "type": "object",
      "properties": {
        "tenant": {
          "type": "string"
        },
        "shopper": {
          "type": "string"
        },
        "shopperLookupId": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "createdOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "attributes": {
          "type": "object",
          "additionalProperties": {
            "type": "object"
          }
        }
      }
    },
    "ClientJobCore": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "entityId": {
          "type": "string"
        },
        "entityType": {
          "type": "string"
        },
        "workItemName": {
          "type": "string"
        },
        "statusUrl": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "statusCode": {
          "type": "string"
        },
        "statusMessage": {
          "type": "string"
        },
        "statusDetails": {
          "type": "string"
        }
      }
    },
    "ApiKey": {
      "type": "object",
      "properties": {
        "key": {
          "type": "string"
        },
        "applicationName": {
          "type": "string"
        },
        "scopes": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/ApiKeyAccess"
          },
          "readOnly": true
        },
        "isEnabled": {
          "type": "boolean"
        },
        "owner": {
          "$ref": "#/definitions/ApiKeyOwner"
        }
      }
    },
    "ApiKeyAccess": {
      "type": "object",
      "properties": {
        "components": {
          "type": "object",
          "additionalProperties": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "readOnly": true
        }
      }
    },
    "ApiKeyOwner": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "emailAddress": {
          "type": "string"
        }
      }
    },
    "Authorization": {
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "readOnly": true
        },
        "connectionGroupId": {
          "type": "string",
          "readOnly": true
        },
        "complete": {
          "type": "boolean",
          "readOnly": true
        },
        "protectionRealm": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "mutuallyAuthenticated": {
          "type": "boolean"
        }
      }
    },
    "InmarAuthorization": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "isEnabled": {
          "type": "boolean"
        },
        "scopes": {
          "type": "object",
          "additionalProperties": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "concurrencyToken": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "systemCreatedOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedBy": {
          "type": "string"
        },
        "systemModifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "createdOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedOn": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "ClientFieldDefinition": {
      "type": "object",
      "properties": {
        "tenant": {
          "type": "string"
        },
        "scope": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "externalId": {
          "type": "string"
        },
        "groupingLabel": {
          "type": "string"
        },
        "requiresEncryption": {
          "type": "boolean"
        },
        "isLookupId": {
          "type": "boolean"
        },
        "validation": {
          "$ref": "#/definitions/ClientFieldValidationDefinition"
        },
        "labelLookupType": {
          "type": "string"
        },
        "fieldType": {
          "type": "string"
        },
        "auditEnabled": {
          "type": "boolean"
        },
        "historyEnabled": {
          "type": "boolean"
        }
      }
    },
    "ClientFieldValidationDefinition": {
      "type": "object",
      "properties": {
        "customExpression": {
          "type": "string"
        },
        "allowedLookupIds": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "label": {
          "type": "string"
        }
      }
    },
    "Lookup": {
      "type": "object",
      "properties": {
        "tenant": {
          "$ref": "#/definitions/Tenant"
        },
        "id": {
          "type": "string"
        },
        "externalId": {
          "type": "string"
        },
        "description": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "displayValue": {
          "type": "string"
        },
        "isEnabled": {
          "type": "boolean"
        },
        "parent": {
          "$ref": "#/definitions/Lookup"
        },
        "type": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Lookup"
          }
        },
        "concurrencyToken": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "systemCreatedOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedBy": {
          "type": "string"
        },
        "systemModifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "createdOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedOn": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "Tenant": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "externalId": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "isEnabled": {
          "type": "boolean"
        },
        "concurrencyToken": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "systemCreatedOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedBy": {
          "type": "string"
        },
        "systemModifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "createdOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedOn": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "ClientLookup": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string"
        },
        "externalId": {
          "type": "string"
        },
        "isEnabled": {
          "type": "boolean"
        },
        "displayValue": {
          "type": "string"
        },
        "value": {
          "type": "string"
        },
        "parent": {
          "type": "string"
        },
        "type": {
          "type": "string"
        },
        "children": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/ClientLookup"
          }
        }
      }
    },
    "ClientSetting": {
      "type": "object",
      "properties": {
        "tenant": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "groupingLabel": {
          "type": "string"
        },
        "value": {
          "type": "object"
        }
      }
    },
    "ClientShopperAuthentication": {
      "type": "object",
      "properties": {
        "tenant": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "lookupId": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "createdOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedOn": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "ShopperAuthentication": {
      "type": "object",
      "properties": {
        "shopper": {
          "$ref": "#/definitions/Shopper"
        },
        "password": {
          "$ref": "#/definitions/PasswordHash"
        },
        "legacyPassword": {
          "$ref": "#/definitions/PasswordHash"
        },
        "concurrencyToken": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "systemCreatedOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedBy": {
          "type": "string"
        },
        "systemModifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "createdOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedOn": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "Shopper": {
      "type": "object",
      "properties": {
        "tenant": {
          "$ref": "#/definitions/Tenant"
        },
        "id": {
          "type": "string"
        },
        "sourceSystemIds": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "readOnly": true
        },
        "lookupIds": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "readOnly": true
        },
        "isEnabled": {
          "type": "boolean"
        },
        "fields": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Field"
          }
        },
        "_self": {
          "type": "string"
        },
        "_etag": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "systemCreatedOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedBy": {
          "type": "string"
        },
        "systemModifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "createdOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedOn": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "PasswordHash": {
      "type": "object",
      "properties": {
        "iterationCount": {
          "format": "int32",
          "type": "integer"
        },
        "salt": {
          "type": "string"
        },
        "hash": {
          "type": "string"
        },
        "plainText": {
          "type": "string"
        }
      }
    },
    "Field": {
      "type": "object",
      "properties": {
        "fieldDefinition": {
          "$ref": "#/definitions/FieldDefinition"
        },
        "label": {
          "type": "string"
        },
        "historicalValues": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/FieldValue"
          },
          "readOnly": true
        }
      }
    },
    "FieldDefinition": {
      "type": "object",
      "properties": {
        "tenant": {
          "$ref": "#/definitions/Tenant"
        },
        "scope": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "externalId": {
          "type": "string"
        },
        "groupingLabel": {
          "type": "string"
        },
        "requiresEncryption": {
          "type": "boolean"
        },
        "labelLookupType": {
          "type": "string"
        },
        "validation": {
          "$ref": "#/definitions/FieldValidationDefinition"
        },
        "fieldType": {
          "enum": [
            "FirstName",
            "LastName",
            "Email",
            "PhoneNumber",
            "Address",
            "Gender",
            "Custom"
          ],
          "type": "string"
        },
        "isLookupId": {
          "type": "boolean"
        },
        "auditEnabled": {
          "type": "boolean"
        },
        "historyEnabled": {
          "type": "boolean"
        },
        "concurrencyToken": {
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "systemCreatedOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedBy": {
          "type": "string"
        },
        "systemModifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "createdOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedOn": {
          "format": "date-time",
          "type": "string"
        }
      }
    },
    "FieldValue": {
      "type": "object",
      "properties": {
        "value": {
          "type": "object"
        },
        "isEncrypted": {
          "type": "boolean"
        },
        "modifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "systemModifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedBy": {
          "type": "string"
        }
      }
    },
    "FieldValidationDefinition": {
      "type": "object",
      "properties": {
        "customExpression": {
          "type": "string"
        },
        "allowedLookups": {
          "type": "array",
          "items": {
            "$ref": "#/definitions/Lookup"
          }
        },
        "label": {
          "type": "string"
        }
      }
    },
    "ClientShopperWithHistory": {
      "type": "object",
      "properties": {
        "systemModifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "systemCreatedOn": {
          "format": "date-time",
          "type": "string"
        },
        "createdBy": {
          "type": "string"
        },
        "modifiedBy": {
          "type": "string"
        },
        "tenant": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "sourceSystem": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "createdOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "isEnabled": {
          "type": "boolean"
        },
        "sensitiveDataExcluded": {
          "type": "boolean"
        },
        "addresses": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/ClientAddress"
          }
        },
        "attributes": {
          "type": "object",
          "additionalProperties": {
            "type": "object"
          }
        }
      }
    },
    "ClientAddress": {
      "type": "object",
      "properties": {
        "streetOne": {
          "type": "string"
        },
        "streetTwo": {
          "type": "string"
        },
        "city": {
          "type": "string"
        },
        "postalCode": {
          "type": "string"
        },
        "state": {
          "type": "string"
        },
        "country": {
          "type": "string"
        }
      }
    },
    "ClientResult[Shopper]": {
      "type": "object",
      "properties": {
        "entity": {
          "$ref": "#/definitions/Shopper"
        },
        "isSuccessful": {
          "type": "boolean"
        },
        "statusCode": {
          "enum": [
            "Continue",
            "SwitchingProtocols",
            "OK",
            "Created",
            "Accepted",
            "NonAuthoritativeInformation",
            "NoContent",
            "ResetContent",
            "PartialContent",
            "MultipleChoices",
            "Ambiguous",
            "MovedPermanently",
            "Moved",
            "Found",
            "Redirect",
            "SeeOther",
            "RedirectMethod",
            "NotModified",
            "UseProxy",
            "Unused",
            "TemporaryRedirect",
            "RedirectKeepVerb",
            "BadRequest",
            "Unauthorized",
            "PaymentRequired",
            "Forbidden",
            "NotFound",
            "MethodNotAllowed",
            "NotAcceptable",
            "ProxyAuthenticationRequired",
            "RequestTimeout",
            "Conflict",
            "Gone",
            "LengthRequired",
            "PreconditionFailed",
            "RequestEntityTooLarge",
            "RequestUriTooLong",
            "UnsupportedMediaType",
            "RequestedRangeNotSatisfiable",
            "ExpectationFailed",
            "UpgradeRequired",
            "InternalServerError",
            "NotImplemented",
            "BadGateway",
            "ServiceUnavailable",
            "GatewayTimeout",
            "HttpVersionNotSupported"
          ],
          "type": "string"
        },
        "errorMessage": {
          "type": "string"
        }
      }
    },
    "ClientShopper": {
      "type": "object",
      "properties": {
        "tenant": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "sourceSystem": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "createdOn": {
          "format": "date-time",
          "type": "string"
        },
        "modifiedOn": {
          "format": "date-time",
          "type": "string"
        },
        "isEnabled": {
          "type": "boolean"
        },
        "sensitiveDataExcluded": {
          "type": "boolean"
        },
        "addresses": {
          "type": "object",
          "additionalProperties": {
            "$ref": "#/definitions/ClientAddress"
          }
        },
        "attributes": {
          "type": "object",
          "additionalProperties": {
            "type": "object"
          }
        }
      }
    }
  },
  "securityDefinitions": {
    "apiKey": {
      "type": "apiKey",
      "description": "API Key Authentication",
      "name": "x-api-key",
      "in": "header"
    }
  }
}