Online Now  

/v1/partner/

GET

/v1/partner/get_bulk_availability_template

#
Get the CSV columns and example row for bulk venue availability imports.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_bulk_availability_template' \
  --data-urlencode 'key={{API_KEY}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_bulk_availability_template_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.columnsarray Yes
$.oneOf[0].allOf[1].Payload.columns[]string No
$.oneOf[0].allOf[1].Payload.examplestring Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_bulk_availability_template",
    "RequestUserAlias": "example-user",
    "Payload": {
        "columns": [
            "inventory type",
            "date",
            "time/start hour",
            "quantity",
            "price",
            "currency",
            "guest first name",
            "guest last name",
            "contact email",
            "contact phone",
            "category-field JSON",
            "linked post ID"
        ],
        "example": "inventory type,date,time/start hour,quantity,price,currency,guest first name,guest last name,contact email,contact phone,category-field JSON,linked post ID\nSynthetic Dinner Table,2030-07-14,19:00,2,125,USD,Synthetic,Guest,guest@example.com,+1 202 555 0100,\"[]\","
    }
}
Machine-readable endpoint documentation
GET

/v1/partner/get_inventory

#
Get location-specific inventory types and linked community posts for a managed venue.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to inspect.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_inventory' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_inventory_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.InventoryTypesarray Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[]object No
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Namestring Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IsDefault Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IsDefault.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IsDefault.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IsDefault.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IsDefault.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ATLocation_ID Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ATLocation_ID.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ATLocation_ID.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ATLocation_ID.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ATLocation_ID.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Admin-ATUser_ID Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Admin-ATUser_ID.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Admin-ATUser_ID.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Admin-ATUser_ID.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Admin-ATUser_ID.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Descriptionstring Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].AllowListingsDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].AllowListings.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].AllowListings.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IncludeGroupNameInLabelTextDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IncludeGroupNameInLabelText.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IncludeGroupNameInLabelText.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ExtendedDescription Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ExtendedDescription.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ExtendedDescription.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ExtendedDescriptionHeadline Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ExtendedDescriptionHeadline.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ExtendedDescriptionHeadline.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].PriceIncludesServiceDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].PriceIncludesService.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].PriceIncludesService.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IncludedCreditCurrencyAmount Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IncludedCreditCurrencyAmount.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IncludedCreditCurrencyAmount.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IncludedCreditCurrencyAmount.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IncludedCreditCurrencyAmount.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IsFallbackOnlyDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IsFallbackOnly.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IsFallbackOnly.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Headcount Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Headcount.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Headcount.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Headcount.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].Headcount.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].GroupNameComp Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].GroupNameComp.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].GroupNameComp.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ATLocationCategory_ShareableWithResourceDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ATLocationCategory_ShareableWithResource.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ATLocationCategory_ShareableWithResource.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IncludedCreditCurrencyPricenumber Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].DefaultBidAmountnumber Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].DefaultOfferAmountnumber Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].IsClaimedboolean Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].RawNamestring Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].GroupEntryCountinteger Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].GroupNamestring Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].ClaimURLstring Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].ATLocationInventoryType_IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].ATLocationInventoryType_ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].ATLocationInventoryType_ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].ATDiscussionPosts_IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].ATDiscussionPosts_ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].ATDiscussionPosts_ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].PostTitle Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].PostTitle.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].PostTitle.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[0].URLSlug = "" Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].postLink.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].DefaultBidAmountCentsinteger Yes
$.oneOf[0].allOf[1].Payload.InventoryTypes[].DefaultOfferAmountCentsinteger Yes
$.oneOf[0].allOf[1].Payload.PostLinksarray Yes
$.oneOf[0].allOf[1].Payload.PostLinks[]object No
$.oneOf[0].allOf[1].Payload.PostLinks[].IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.PostLinks[].ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.PostLinks[].ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.PostLinks[].ATLocationInventoryType_IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.PostLinks[].ATLocationInventoryType_ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.PostLinks[].ATLocationInventoryType_ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.PostLinks[].ATDiscussionPosts_IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.PostLinks[].ATDiscussionPosts_ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.PostLinks[].ATDiscussionPosts_ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.PostLinks[].PostTitle Yes
$.oneOf[0].allOf[1].Payload.PostLinks[].PostTitle.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.PostLinks[].PostTitle.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.PostLinks[].URLSlug = "" Yes
$.oneOf[0].allOf[1].Payload.Schemaobject Yes
$.oneOf[0].allOf[1].Payload.Schema.readyboolean Yes
$.oneOf[0].allOf[1].Payload.Schema.missingTablesarray Yes
$.oneOf[0].allOf[1].Payload.Schema.missingTables[]string No
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_inventory",
    "RequestUserAlias": "example-user",
    "Payload": {
        "InventoryTypes": [],
        "PostLinks": [],
        "Schema": {
            "ready": false,
            "missingTables": []
        }
    }
}
Machine-readable endpoint documentation
GET

/v1/partner/get_listing_regulation_policy

#
Get the venue listing-regulation override policy for a managed venue.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to inspect.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_listing_regulation_policy' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_listing_regulation_policy_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.policystring ["None","AllowAnyone","CurrentOwnerResellOnly"] Yes
$.oneOf[0].allOf[1].Payload.defaultPolicy = "CurrentOwnerResellOnly" Yes
$.oneOf[0].allOf[1].Payload.canEditboolean Yes
$.oneOf[0].allOf[1].Payload.schemaobject Yes
$.oneOf[0].allOf[1].Payload.schema.readyboolean Yes
$.oneOf[0].allOf[1].Payload.schema.missingColumnsarray Yes
$.oneOf[0].allOf[1].Payload.schema.missingColumns[]string No
$.oneOf[0].allOf[1].Payload.optionsarray Yes
$.oneOf[0].allOf[1].Payload.options[]object No
$.oneOf[0].allOf[1].Payload.options[].valuestring ["AllowAnyone","CurrentOwnerResellOnly"] Yes
$.oneOf[0].allOf[1].Payload.options[].labelstring Yes
$.oneOf[0].allOf[1].Payload.restrictedByRegulationboolean Yes
$.oneOf[0].allOf[1].Payload.blockingRegulation Yes
$.oneOf[0].allOf[1].Payload.blockingRegulation.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.blockingRegulation.anyOf[0].namestring Yes
$.oneOf[0].allOf[1].Payload.blockingRegulation.anyOf[0].effectiveDateStartstring Yes
$.oneOf[0].allOf[1].Payload.blockingRegulation.anyOf[0].idinteger Yes
$.oneOf[0].allOf[1].Payload.blockingRegulation.anyOf[1]null Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_listing_regulation_policy",
    "RequestUserAlias": "example-user",
    "Payload": {
        "policy": "None",
        "defaultPolicy": "CurrentOwnerResellOnly",
        "canEdit": false,
        "schema": {
            "ready": false,
            "missingColumns": []
        },
        "options": [],
        "restrictedByRegulation": false,
        "blockingRegulation": {
            "name": "synthetic-example",
            "effectiveDateStart": "synthetic-example",
            "id": 0
        }
    }
}
Machine-readable endpoint documentation
GET

/v1/partner/get_location_claim_options

#
Search venues that can be selected for a partner management claim.

Parameters

NameTypeRequiredDefaultDescription
q string No "" Search query.
pageSize int No 15 Maximum options to return.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_location_claim_options' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'q={{q}}' \
  --data-urlencode 'pageSize={{pageSize}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_location_claim_options_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.querystring Yes
$.oneOf[0].allOf[1].Payload.optionsarray Yes
$.oneOf[0].allOf[1].Payload.options[]object No
$.oneOf[0].allOf[1].Payload.options[].valuestring Yes
$.oneOf[0].allOf[1].Payload.options[].labelstring Yes
$.oneOf[0].allOf[1].Payload.options[].subtitlestring Yes
$.oneOf[0].allOf[1].Payload.options[].keywordsstring Yes
$.oneOf[0].allOf[1].Payload.options[].aliasstring Yes
$.oneOf[0].allOf[1].Payload.options[].citystring Yes
$.oneOf[0].allOf[1].Payload.options[].countryShortstring Yes
$.oneOf[0].allOf[1].Payload.options[].categoryNamestring Yes
$.oneOf[0].allOf[1].Payload.options[].managementURLstring Yes
$.oneOf[0].allOf[1].Payload.options[].profileURLstring Yes
$.oneOf[0].allOf[1].Payload.options[].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.options[].canManageboolean Yes
$.oneOf[0].allOf[1].Payload.options[].canRequestClaimboolean Yes
$.oneOf[0].allOf[1].Payload.options[].pendingRequest Yes
$.oneOf[0].allOf[1].Payload.options[].pendingRequest.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.options[].pendingRequest.anyOf[0].chatURLstring Yes
$.oneOf[0].allOf[1].Payload.options[].pendingRequest.anyOf[0].requestIDinteger Yes
$.oneOf[0].allOf[1].Payload.options[].pendingRequest.anyOf[0].chatIDinteger Yes
$.oneOf[0].allOf[1].Payload.options[].pendingRequest.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.schemaobject Yes
$.oneOf[0].allOf[1].Payload.schema.readyboolean Yes
$.oneOf[0].allOf[1].Payload.schema.missingTablesarray Yes
$.oneOf[0].allOf[1].Payload.schema.missingTables[]string No
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_location_claim_options",
    "RequestUserAlias": "example-user",
    "Payload": {
        "query": "synthetic-example",
        "options": [],
        "schema": {
            "ready": false,
            "missingTables": []
        }
    }
}
Machine-readable endpoint documentation
GET

/v1/partner/get_location_dashboard

#
Get overview demand, listing, sales, and conversion signals for a managed venue.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to inspect.
overviewRange string No "30d" Timeframe key: 1d, 7d, 30d, or custom.
overviewFrom string No "" Custom range start date when overviewRange is custom.
overviewTo string No "" Custom range end date when overviewRange is custom.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_location_dashboard' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'overviewRange={{overviewRange}}' \
  --data-urlencode 'overviewFrom={{overviewFrom}}' \
  --data-urlencode 'overviewTo={{overviewTo}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_location_dashboard_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.Dashboardobject Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryobject Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summary.ViewsDatabaseNumber NoNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.summary.Views.oneOf[0]number No
$.oneOf[0].allOf[1].Payload.Dashboard.summary.Views.oneOf[1]string No
$.oneOf[0].allOf[1].Payload.Dashboard.summary.BidsDatabaseNumber NoNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.summary.Bids.oneOf[0]number No
$.oneOf[0].allOf[1].Payload.Dashboard.summary.Bids.oneOf[1]string No
$.oneOf[0].allOf[1].Payload.Dashboard.summary.ActiveListingsDatabaseNumber NoNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.summary.ActiveListings.oneOf[0]number No
$.oneOf[0].allOf[1].Payload.Dashboard.summary.ActiveListings.oneOf[1]string No
$.oneOf[0].allOf[1].Payload.Dashboard.summary.CompletedSalesDatabaseNumber NoNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.summary.CompletedSales.oneOf[0]number No
$.oneOf[0].allOf[1].Payload.Dashboard.summary.CompletedSales.oneOf[1]string No
$.oneOf[0].allOf[1].Payload.Dashboard.summary.GrossVolumeDatabaseNumber NoNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.summary.GrossVolume.oneOf[0]number No
$.oneOf[0].allOf[1].Payload.Dashboard.summary.GrossVolume.oneOf[1]string No
$.oneOf[0].allOf[1].Payload.Dashboard.summary.Views30DayDatabaseNumber YesNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.summary.Views30Day.oneOf[0]number Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summary.Views30Day.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summary.Bids30DayDatabaseNumber YesNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.summary.Bids30Day.oneOf[0]number Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summary.Bids30Day.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summary.CompletedSales90DayDatabaseNumber YesNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.summary.CompletedSales90Day.oneOf[0]number Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summary.CompletedSales90Day.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summary.GrossVolume90DayDatabaseNumber YesNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.summary.GrossVolume90Day.oneOf[0]number Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summary.GrossVolume90Day.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.trendarray Yes
$.oneOf[0].allOf[1].Payload.Dashboard.trend[]object No
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].Date Yes
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].Date.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].Date.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].ViewsDatabaseNumber YesNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].Views.oneOf[0]number Yes
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].Views.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].SalesDatabaseNumber YesNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].Sales.oneOf[0]number Yes
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].Sales.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].GrossVolumeDatabaseNumber YesNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].GrossVolume.oneOf[0]number Yes
$.oneOf[0].allOf[1].Payload.Dashboard.trend[].GrossVolume.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypesarray Yes
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[]object No
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].Namestring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].ListingCountDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].ListingCount.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].ListingCount.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].SalesCountDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].SalesCount.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].SalesCount.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].GrossVolumeDatabaseNumber YesNumeric value; MySQL reads can serialize numbers as numeric strings.
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].GrossVolume.oneOf[0]number Yes
$.oneOf[0].allOf[1].Payload.Dashboard.topInventoryTypes[].GrossVolume.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryFormattedobject Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryFormatted.viewsstring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryFormatted.bidsstring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryFormatted.activeListingsstring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryFormatted.completedSalesstring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryFormatted.grossVolumestring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryFormatted.conversionstring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryFormatted.views30Daystring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryFormatted.bids30Daystring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryFormatted.completedSales90Daystring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.summaryFormatted.grossVolume90Daystring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.timeframeobject Yes
$.oneOf[0].allOf[1].Payload.Dashboard.timeframe.keystring ["1d","7d","30d","custom"] Yes
$.oneOf[0].allOf[1].Payload.Dashboard.timeframe.fromDatestring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.timeframe.toDatestring Yes
$.oneOf[0].allOf[1].Payload.Dashboard.timeframe.daysinteger Yes
$.oneOf[0].allOf[1].Payload.Dashboard.timeframe.labelstring Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_location_dashboard",
    "RequestUserAlias": "example-user",
    "Payload": {
        "Dashboard": {
            "summary": {
                "Views30Day": 0,
                "Bids30Day": 0,
                "CompletedSales90Day": 0,
                "GrossVolume90Day": 0
            },
            "trend": [],
            "topInventoryTypes": [],
            "summaryFormatted": {
                "views": "synthetic-example",
                "bids": "synthetic-example",
                "activeListings": "synthetic-example",
                "completedSales": "synthetic-example",
                "grossVolume": "synthetic-example",
                "conversion": "synthetic-example",
                "views30Day": "synthetic-example",
                "bids30Day": "synthetic-example",
                "completedSales90Day": "synthetic-example",
                "grossVolume90Day": "synthetic-example"
            },
            "timeframe": {
                "key": "1d",
                "fromDate": "synthetic-example",
                "toDate": "synthetic-example",
                "days": 0,
                "label": "synthetic-example"
            }
        }
    }
}
Machine-readable endpoint documentation
GET

/v1/partner/get_location_inventory_forecast

#
Get a managed venue's inventory forecast using the same market-insight engine as the seller forecast, without public API pricing.

Parameters

NameTypeRequiredDefaultDescription
locationID int No 0 Target location ID.
locationAlias string No "" Optional target location alias when locationID is not supplied.
dateRange string No "30d" One of 30d, 60d, 90d, custom.
startDate string No "" Custom range start date when dateRange=custom, YYYY-MM-DD.
endDate string No "" Custom range end date when dateRange=custom, YYYY-MM-DD.
sourceLocationIDs string No "" Optional comma-separated similar restaurant location IDs. If empty, saved similar restaurants are used.
sourceLocationAliases string No "" Optional comma-separated similar restaurant aliases.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_location_inventory_forecast' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'locationAlias={{locationAlias}}' \
  --data-urlencode 'dateRange={{dateRange}}' \
  --data-urlencode 'startDate={{startDate}}' \
  --data-urlencode 'endDate={{endDate}}' \
  --data-urlencode 'sourceLocationIDs={{sourceLocationIDs}}' \
  --data-urlencode 'sourceLocationAliases={{sourceLocationAliases}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_location_inventory_forecast_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.sourceLocationIDsarray Yes
$.oneOf[0].allOf[1].Payload.sourceLocationIDs[]integer No
$.oneOf[0].allOf[1].Payload.forecastobject Yes
$.oneOf[0].allOf[1].Payload.forecast.location Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].locationAliasstring Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].locationNamestring Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].marketLinestring Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].categoryNamestring Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].categoryID Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].categoryID.anyOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].categoryID.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].sourceLocationsarray Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].sourceLocations[]object No
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].sourceLocations[].locationAliasstring Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].sourceLocations[].locationNamestring Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].sourceLocations[].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[0].sourceModestring ["likeness","direct"] Yes
$.oneOf[0].allOf[1].Payload.forecast.location.anyOf[1]array Yes
$.oneOf[0].allOf[1].Payload.forecast.timeframeobject Yes
$.oneOf[0].allOf[1].Payload.forecast.timeframe.keystring ["30d","60d","90d","custom"] Yes
$.oneOf[0].allOf[1].Payload.forecast.timeframe.daysinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.timeframe.fromstring Yes
$.oneOf[0].allOf[1].Payload.forecast.timeframe.tostring Yes
$.oneOf[0].allOf[1].Payload.forecast.timeframe.fromDatestring Yes
$.oneOf[0].allOf[1].Payload.forecast.timeframe.toDatestring Yes
$.oneOf[0].allOf[1].Payload.forecast.timeframe.labelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.summary Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].rowCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].opportunityRowCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].sourceLocationCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessmentobject Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.labelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.averagePriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.confidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.recommendedListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.activeListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.neededListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.averagePriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.recentViewCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.showByDefaultboolean Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.statusstring ["room_for_supply","good_supply","oversupply","no_estimation"] Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.tonestring ["neutral","positive","warning"] Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.confidencestring ["high","medium","developing"] Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.reasonCodesarray Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.reasonCodes[]string ["history","likeness","events","current_demand","popularity","supply","views"] No
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.reasonLabelsarray Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.reasonLabels[]string No
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.priceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.priceConfidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.priceBasisLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.priceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.isEstimatedPriceboolean Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.priceConfidencestring ["high","medium","low","none"] Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.priceBasisstring ["direct_market","active_supply","related_market","related_country","comparable_sales","none"] Yes
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.comparableSaleCountinteger No
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.isExactInventoryComparableboolean No
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.relatedPriceLocationIDinteger No
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[0].supplyAssessment.relatedPriceLocationNamestring No
$.oneOf[0].allOf[1].Payload.forecast.summary.anyOf[1]array Yes
$.oneOf[0].allOf[1].Payload.forecast.rowsarray Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[]object No
$.oneOf[0].allOf[1].Payload.forecast.rows[].inventoryTypeNamestring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].datestring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].dateLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].dateWithDayLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].timeframeLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].averagePriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].suggestedPriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].confidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].directAveragePriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].inventoryTypeIDinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].demandSignalCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].directDemandSignalCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].historyYearCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].activeListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].sellerCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].recommendedListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].neededListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].averagePriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].suggestedPriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].popularityTierinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].directAveragePriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].isLikenessBasedboolean Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].requiresInventoryMappingboolean Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].startHour Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].startHour.anyOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].startHour.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].confidencestring ["high","medium","developing"] Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].evidenceReasonCodesarray Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].evidenceReasonCodes[]string ["history","likeness","supply","popularity"] No
$.oneOf[0].allOf[1].Payload.forecast.rows[].evidenceLabelsarray Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].evidenceLabels[]string No
$.oneOf[0].allOf[1].Payload.forecast.rows[].sourceModestring ["direct","likeness","direct+likeness"] Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].sourceLocationIDsarray Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].sourceLocationIDs[]integer No
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessmentobject Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.labelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.averagePriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.confidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.recommendedListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.activeListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.neededListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.averagePriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.recentViewCountinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.showByDefaultboolean Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.statusstring ["room_for_supply","good_supply","oversupply","no_estimation"] Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.tonestring ["neutral","positive","warning"] Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.confidencestring ["high","medium","developing"] Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.reasonCodesarray Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.reasonCodes[]string ["history","likeness","events","current_demand","popularity","supply","views"] No
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.reasonLabelsarray Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.reasonLabels[]string No
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.priceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.priceConfidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.priceBasisLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.priceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.isEstimatedPriceboolean Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.priceConfidencestring ["high","medium","low","none"] Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.priceBasisstring ["direct_market","active_supply","related_market","related_country","comparable_sales","none"] Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.comparableSaleCountinteger No
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.isExactInventoryComparableboolean No
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.relatedPriceLocationIDinteger No
$.oneOf[0].allOf[1].Payload.forecast.rows[].supplyAssessment.relatedPriceLocationNamestring No
$.oneOf[0].allOf[1].Payload.forecast.rows[].competitionobject Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.countinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listingsarray Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[]object No
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].listingIDstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].listingURLstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].locationAliasstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].inventoryTypeNamestring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].listingDatestring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].listingTimeLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].listingDateTimeLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].askingPriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].inventoryTypeIDinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].askingPriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].listingViewsOneDayinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].listingViewsAllTimeinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].listingPopularityScoreBracketinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].isRequestingUserListingboolean Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].listingStartHour Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].listingStartHour.anyOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].competition.listings[].listingStartHour.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].priceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].priceConfidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].priceBasisLabelstring Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].priceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].isEstimatedPriceboolean Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].priceConfidencestring ["high","medium","low","none"] Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].priceBasisstring ["direct_market","active_supply","related_market","related_country","comparable_sales","none"] Yes
$.oneOf[0].allOf[1].Payload.forecast.rows[].comparableSaleCountinteger No
$.oneOf[0].allOf[1].Payload.forecast.rows[].isExactInventoryComparableboolean No
$.oneOf[0].allOf[1].Payload.forecast.sourceLocationIDsarray Yes
$.oneOf[0].allOf[1].Payload.forecast.sourceLocationIDs[]integer No
$.oneOf[0].allOf[1].Payload.location Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].locationAliasstring Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].locationNamestring Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].marketLinestring Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].categoryNamestring Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].categoryID Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].categoryID.anyOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].categoryID.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].sourceLocationsarray Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].sourceLocations[]object No
$.oneOf[0].allOf[1].Payload.location.anyOf[0].sourceLocations[].locationAliasstring Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].sourceLocations[].locationNamestring Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].sourceLocations[].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[0].sourceModestring ["likeness","direct"] Yes
$.oneOf[0].allOf[1].Payload.location.anyOf[1]array Yes
$.oneOf[0].allOf[1].Payload.timeframeobject Yes
$.oneOf[0].allOf[1].Payload.timeframe.keystring ["30d","60d","90d","custom"] Yes
$.oneOf[0].allOf[1].Payload.timeframe.daysinteger Yes
$.oneOf[0].allOf[1].Payload.timeframe.fromstring Yes
$.oneOf[0].allOf[1].Payload.timeframe.tostring Yes
$.oneOf[0].allOf[1].Payload.timeframe.fromDatestring Yes
$.oneOf[0].allOf[1].Payload.timeframe.toDatestring Yes
$.oneOf[0].allOf[1].Payload.timeframe.labelstring Yes
$.oneOf[0].allOf[1].Payload.summary Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].rowCountinteger Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].opportunityRowCountinteger Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].sourceLocationCountinteger Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessmentobject Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.labelstring Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.averagePriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.confidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.recommendedListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.activeListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.neededListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.averagePriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.recentViewCountinteger Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.showByDefaultboolean Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.statusstring ["room_for_supply","good_supply","oversupply","no_estimation"] Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.tonestring ["neutral","positive","warning"] Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.confidencestring ["high","medium","developing"] Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.reasonCodesarray Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.reasonCodes[]string ["history","likeness","events","current_demand","popularity","supply","views"] No
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.reasonLabelsarray Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.reasonLabels[]string No
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.priceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.priceConfidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.priceBasisLabelstring Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.priceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.isEstimatedPriceboolean Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.priceConfidencestring ["high","medium","low","none"] Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.priceBasisstring ["direct_market","active_supply","related_market","related_country","comparable_sales","none"] Yes
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.comparableSaleCountinteger No
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.isExactInventoryComparableboolean No
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.relatedPriceLocationIDinteger No
$.oneOf[0].allOf[1].Payload.summary.anyOf[0].supplyAssessment.relatedPriceLocationNamestring No
$.oneOf[0].allOf[1].Payload.summary.anyOf[1]array Yes
$.oneOf[0].allOf[1].Payload.rowsarray Yes
$.oneOf[0].allOf[1].Payload.rows[]object No
$.oneOf[0].allOf[1].Payload.rows[].inventoryTypeNamestring Yes
$.oneOf[0].allOf[1].Payload.rows[].datestring Yes
$.oneOf[0].allOf[1].Payload.rows[].dateLabelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].dateWithDayLabelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].timeframeLabelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].averagePriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.rows[].suggestedPriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.rows[].confidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].directAveragePriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.rows[].inventoryTypeIDinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].demandSignalCountinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].directDemandSignalCountinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].historyYearCountinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].activeListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].sellerCountinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].recommendedListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].neededListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].averagePriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].suggestedPriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].popularityTierinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].directAveragePriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].isLikenessBasedboolean Yes
$.oneOf[0].allOf[1].Payload.rows[].requiresInventoryMappingboolean Yes
$.oneOf[0].allOf[1].Payload.rows[].startHour Yes
$.oneOf[0].allOf[1].Payload.rows[].startHour.anyOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.rows[].startHour.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.rows[].confidencestring ["high","medium","developing"] Yes
$.oneOf[0].allOf[1].Payload.rows[].evidenceReasonCodesarray Yes
$.oneOf[0].allOf[1].Payload.rows[].evidenceReasonCodes[]string ["history","likeness","supply","popularity"] No
$.oneOf[0].allOf[1].Payload.rows[].evidenceLabelsarray Yes
$.oneOf[0].allOf[1].Payload.rows[].evidenceLabels[]string No
$.oneOf[0].allOf[1].Payload.rows[].sourceModestring ["direct","likeness","direct+likeness"] Yes
$.oneOf[0].allOf[1].Payload.rows[].sourceLocationIDsarray Yes
$.oneOf[0].allOf[1].Payload.rows[].sourceLocationIDs[]integer No
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessmentobject Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.labelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.averagePriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.confidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.recommendedListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.activeListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.neededListingCountinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.averagePriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.recentViewCountinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.showByDefaultboolean Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.statusstring ["room_for_supply","good_supply","oversupply","no_estimation"] Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.tonestring ["neutral","positive","warning"] Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.confidencestring ["high","medium","developing"] Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.reasonCodesarray Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.reasonCodes[]string ["history","likeness","events","current_demand","popularity","supply","views"] No
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.reasonLabelsarray Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.reasonLabels[]string No
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.priceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.priceConfidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.priceBasisLabelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.priceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.isEstimatedPriceboolean Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.priceConfidencestring ["high","medium","low","none"] Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.priceBasisstring ["direct_market","active_supply","related_market","related_country","comparable_sales","none"] Yes
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.comparableSaleCountinteger No
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.isExactInventoryComparableboolean No
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.relatedPriceLocationIDinteger No
$.oneOf[0].allOf[1].Payload.rows[].supplyAssessment.relatedPriceLocationNamestring No
$.oneOf[0].allOf[1].Payload.rows[].competitionobject Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.countinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listingsarray Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[]object No
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].listingIDstring Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].listingURLstring Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].locationAliasstring Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].inventoryTypeNamestring Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].listingDatestring Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].listingTimeLabelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].listingDateTimeLabelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].askingPriceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].inventoryTypeIDinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].askingPriceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].listingViewsOneDayinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].listingViewsAllTimeinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].listingPopularityScoreBracketinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].isRequestingUserListingboolean Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].listingStartHour Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].listingStartHour.anyOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.rows[].competition.listings[].listingStartHour.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.rows[].priceFormattedstring Yes
$.oneOf[0].allOf[1].Payload.rows[].priceConfidenceLabelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].priceBasisLabelstring Yes
$.oneOf[0].allOf[1].Payload.rows[].priceCentsinteger Yes
$.oneOf[0].allOf[1].Payload.rows[].isEstimatedPriceboolean Yes
$.oneOf[0].allOf[1].Payload.rows[].priceConfidencestring ["high","medium","low","none"] Yes
$.oneOf[0].allOf[1].Payload.rows[].priceBasisstring ["direct_market","active_supply","related_market","related_country","comparable_sales","none"] Yes
$.oneOf[0].allOf[1].Payload.rows[].comparableSaleCountinteger No
$.oneOf[0].allOf[1].Payload.rows[].isExactInventoryComparableboolean No
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_location_inventory_forecast",
    "RequestUserAlias": "example-user",
    "Payload": {
        "locationID": 0,
        "sourceLocationIDs": [],
        "forecast": {
            "location": {
                "locationAlias": "synthetic-example",
                "locationName": "synthetic-example",
                "marketLine": "synthetic-example",
                "categoryName": "synthetic-example",
                "locationID": 0,
                "categoryID": 0,
                "sourceLocations": [],
                "sourceMode": "likeness"
            },
            "timeframe": {
                "key": "30d",
                "days": 1,
                "from": "synthetic-example",
                "to": "synthetic-example",
                "fromDate": "synthetic-example",
                "toDate": "synthetic-example",
                "label": "synthetic-example"
            },
            "summary": {
                "rowCount": 0,
                "opportunityRowCount": 0,
                "sourceLocationCount": 0,
                "supplyAssessment": {
                    "label": "synthetic-example",
                    "averagePriceFormatted": "synthetic-example",
                    "confidenceLabel": "synthetic-example",
                    "recommendedListingCount": 0,
                    "activeListingCount": 0,
                    "neededListingCount": 0,
                    "averagePriceCents": 0,
                    "recentViewCount": 0,
                    "showByDefault": false,
                    "status": "room_for_supply",
                    "tone": "neutral",
                    "confidence": "high",
                    "reasonCodes": [],
                    "reasonLabels": [],
                    "priceFormatted": "synthetic-example",
                    "priceConfidenceLabel": "synthetic-example",
                    "priceBasisLabel": "synthetic-example",
                    "priceCents": 0,
                    "isEstimatedPrice": false,
                    "priceConfidence": "high",
                    "priceBasis": "direct_market"
                }
            },
            "rows": [],
            "sourceLocationIDs": []
        },
        "location": {
            "locationAlias": "synthetic-example",
            "locationName": "synthetic-example",
            "marketLine": "synthetic-example",
            "categoryName": "synthetic-example",
            "locationID": 0,
            "categoryID": 0,
            "sourceLocations": [],
            "sourceMode": "likeness"
        },
        "timeframe": {
            "key": "30d",
            "days": 1,
            "from": "synthetic-example",
            "to": "synthetic-example",
            "fromDate": "synthetic-example",
            "toDate": "synthetic-example",
            "label": "synthetic-example"
        },
        "summary": {
            "rowCount": 0,
            "opportunityRowCount": 0,
            "sourceLocationCount": 0,
            "supplyAssessment": {
                "label": "synthetic-example",
                "averagePriceFormatted": "synthetic-example",
                "confidenceLabel": "synthetic-example",
                "recommendedListingCount": 0,
                "activeListingCount": 0,
                "neededListingCount": 0,
                "averagePriceCents": 0,
                "recentViewCount": 0,
                "showByDefault": false,
                "status": "room_for_supply",
                "tone": "neutral",
                "confidence": "high",
                "reasonCodes": [],
                "reasonLabels": [],
                "priceFormatted": "synthetic-example",
                "priceConfidenceLabel": "synthetic-example",
                "priceBasisLabel": "synthetic-example",
                "priceCents": 0,
                "isEstimatedPrice": false,
                "priceConfidence": "high",
                "priceBasis": "direct_market"
            }
        },
        "rows": []
    }
}
Machine-readable endpoint documentation
GET

/v1/partner/get_location_likeness_group

#
Get saved similar restaurants and suggested related restaurants for a managed venue forecast.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to inspect.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_location_likeness_group' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_location_likeness_group_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.LocationIDinteger Yes
$.oneOf[0].allOf[1].Payload.Schemaobject Yes
$.oneOf[0].allOf[1].Payload.Schema.readyboolean Yes
$.oneOf[0].allOf[1].Payload.Schema.missingTablesarray Yes
$.oneOf[0].allOf[1].Payload.Schema.missingTables[]string No
$.oneOf[0].allOf[1].Payload.SelectedOptionsarray Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[]object No
$.oneOf[0].allOf[1].Payload.SelectedOptions[].valuestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].labelstring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].subtitlestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].keywordsstring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].aliasstring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].namestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].cityLinestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].categoryNamestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].sourcestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].relationshipCountinteger Yes
$.oneOf[0].allOf[1].Payload.SelectedLocationIDsarray Yes
$.oneOf[0].allOf[1].Payload.SelectedLocationIDs[]integer No
$.oneOf[0].allOf[1].Payload.SelectedAliasesarray Yes
$.oneOf[0].allOf[1].Payload.SelectedAliases[]string No
$.oneOf[0].allOf[1].Payload.SuggestedOptionsarray Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[]object No
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].valuestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].labelstring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].subtitlestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].keywordsstring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].aliasstring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].namestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].cityLinestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].categoryNamestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].sourcestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].relationshipCountinteger Yes
$.oneOf[0].allOf[1].Payload.CanEditboolean Yes
$.oneOf[0].allOf[1].Payload.CanBulkAvailabilityboolean Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_location_likeness_group",
    "RequestUserAlias": "example-user",
    "Payload": {
        "LocationID": 0,
        "Schema": {
            "ready": false,
            "missingTables": []
        },
        "SelectedOptions": [],
        "SelectedLocationIDs": [],
        "SelectedAliases": [],
        "SuggestedOptions": [],
        "CanEdit": false,
        "CanBulkAvailability": false
    }
}
Machine-readable endpoint documentation
GET

/v1/partner/get_location_likeness_options

#
Search restaurants that can be added to a managed venue's similarity group.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Target location ID.
q string No "" Search query.
pageSize int No 15 Maximum options to return.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_location_likeness_options' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'q={{q}}' \
  --data-urlencode 'pageSize={{pageSize}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_location_likeness_options_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.optionsarray Yes
$.oneOf[0].allOf[1].Payload.options[]object No
$.oneOf[0].allOf[1].Payload.options[].valuestring Yes
$.oneOf[0].allOf[1].Payload.options[].labelstring Yes
$.oneOf[0].allOf[1].Payload.options[].subtitlestring Yes
$.oneOf[0].allOf[1].Payload.options[].keywordsstring Yes
$.oneOf[0].allOf[1].Payload.options[].aliasstring Yes
$.oneOf[0].allOf[1].Payload.options[].namestring Yes
$.oneOf[0].allOf[1].Payload.options[].cityLinestring Yes
$.oneOf[0].allOf[1].Payload.options[].categoryNamestring Yes
$.oneOf[0].allOf[1].Payload.options[].sourcestring Yes
$.oneOf[0].allOf[1].Payload.options[].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.options[].relationshipCountinteger Yes
$.oneOf[0].allOf[1].Payload.pageSizeinteger Yes
$.oneOf[0].allOf[1].Payload.querystring Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_location_likeness_options",
    "RequestUserAlias": "example-user",
    "Payload": {
        "options": [],
        "pageSize": 1,
        "query": "synthetic-example"
    }
}
Machine-readable endpoint documentation
GET

/v1/partner/get_location_livestream

#
Get the featured livestream post for a managed venue.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to inspect.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_location_livestream' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_location_livestream_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.Featured Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[0].postTitlestring Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[0].postURLstring Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[0].goLiveURLstring Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[0].liveStreamStartDatestring Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[0].boardNamestring Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[0].featuredLivestreamLinkIDinteger Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[0].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[0].postIDinteger Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[0].postAuthorUserIDinteger Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[0].isLiveboolean Yes
$.oneOf[0].allOf[1].Payload.Featured.anyOf[1]array Yes
$.oneOf[0].allOf[1].Payload.Schemaobject Yes
$.oneOf[0].allOf[1].Payload.Schema.readyboolean Yes
$.oneOf[0].allOf[1].Payload.Schema.missingTablesarray Yes
$.oneOf[0].allOf[1].Payload.Schema.missingTables[]string No
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_location_livestream",
    "RequestUserAlias": "example-user",
    "Payload": {
        "Featured": {
            "postTitle": "synthetic-example",
            "postURL": "synthetic-example",
            "goLiveURL": "synthetic-example",
            "liveStreamStartDate": "synthetic-example",
            "boardName": "synthetic-example",
            "featuredLivestreamLinkID": 0,
            "locationID": 0,
            "postID": 0,
            "postAuthorUserID": 0,
            "isLive": false
        },
        "Schema": {
            "ready": false,
            "missingTables": []
        }
    }
}
Machine-readable endpoint documentation
GET

/v1/partner/get_locations

#
Get the venue locations this user personally manages through partner team roles or legacy location-user grants, plus their pending venue management applications. Global administrator access alone does not add locations.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_locations' \
  --data-urlencode 'key={{API_KEY}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_locations_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.schemaobject Yes
$.oneOf[0].allOf[1].Payload.schema.readyboolean Yes
$.oneOf[0].allOf[1].Payload.schema.missingTablesarray Yes
$.oneOf[0].allOf[1].Payload.schema.missingTables[]string No
$.oneOf[0].allOf[1].Payload.locationsarray Yes
$.oneOf[0].allOf[1].Payload.locations[]object No
$.oneOf[0].allOf[1].Payload.locations[].namestring Yes
$.oneOf[0].allOf[1].Payload.locations[].aliasstring Yes
$.oneOf[0].allOf[1].Payload.locations[].cityLinestring Yes
$.oneOf[0].allOf[1].Payload.locations[].partnerAccountNamestring Yes
$.oneOf[0].allOf[1].Payload.locations[].rolestring Yes
$.oneOf[0].allOf[1].Payload.locations[].sourcestring Yes
$.oneOf[0].allOf[1].Payload.locations[].managementURLstring Yes
$.oneOf[0].allOf[1].Payload.locations[].profileURLstring Yes
$.oneOf[0].allOf[1].Payload.locations[].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.locations[].partnerAccountID Yes
$.oneOf[0].allOf[1].Payload.locations[].partnerAccountID.anyOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.locations[].partnerAccountID.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.pendingRequestsarray Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[]object No
$.oneOf[0].allOf[1].Payload.pendingRequests[].namestring Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].aliasstring Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].cityLinestring Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].statusstring Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].createdDatestring Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].chatURLstring Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].managementURLstring Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].profileURLstring Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].requestIDinteger Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].chatIDinteger Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].applicationStatusstring Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].applicationChatIDinteger Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].applicationChatURLstring Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].applicationUnreadCount Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].applicationUnreadCount.anyOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].applicationUnreadCount.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].sidebarStatus Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].sidebarStatus.anyOf[0]string ["answer-required","pending"] Yes
$.oneOf[0].allOf[1].Payload.pendingRequests[].sidebarStatus.anyOf[1]null Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_locations",
    "RequestUserAlias": "example-user",
    "Payload": {
        "schema": {
            "ready": false,
            "missingTables": []
        },
        "locations": [],
        "pendingRequests": []
    }
}
Machine-readable endpoint documentation
GET

/v1/partner/get_opening_hours

#
Get weekly recurring opening-hour windows for a venue the current user may edit.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to inspect.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_opening_hours' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_opening_hours_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.OpeningHoursobject Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.schemaobject Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.schema.readyboolean Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.schema.missingTablesarray Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.schema.missingTables[]string No
$.oneOf[0].allOf[1].Payload.OpeningHours.sourcestring ["legacy","split"] Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.maxWindowsPerDay = 4 Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.daysarray Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[]object No
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].keystring Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].labelstring Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].humanReadablestring Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].weekdayinteger YesMonday=0 through Sunday=6.
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].openTimeinteger Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].closeTimeinteger Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].closedboolean Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].windowsarray Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].windows[]object NoTimes are integer HHMM; close <= open means the following day.
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].windows[].openTimeInputstring Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].windows[].closeTimeInputstring Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].windows[].labelstring Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].windows[].idinteger Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].windows[].openTimeinteger Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].windows[].closeTimeinteger Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.days[].windows[].overnightboolean Yes
$.oneOf[0].allOf[1].Payload.OpeningHours.CanEdit = true Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_opening_hours",
    "RequestUserAlias": "example-user",
    "Payload": {
        "OpeningHours": {
            "schema": {
                "ready": false,
                "missingTables": []
            },
            "source": "legacy",
            "maxWindowsPerDay": 4,
            "days": [
                {
                    "weekday": 0,
                    "key": "monday",
                    "label": "Monday",
                    "closed": true,
                    "openTime": 0,
                    "closeTime": 0,
                    "humanReadable": "Closed",
                    "windows": []
                },
                {
                    "weekday": 1,
                    "key": "tuesday",
                    "label": "Tuesday",
                    "closed": true,
                    "openTime": 0,
                    "closeTime": 0,
                    "humanReadable": "Closed",
                    "windows": []
                },
                {
                    "weekday": 2,
                    "key": "wednesday",
                    "label": "Wednesday",
                    "closed": true,
                    "openTime": 0,
                    "closeTime": 0,
                    "humanReadable": "Closed",
                    "windows": []
                },
                {
                    "weekday": 3,
                    "key": "thursday",
                    "label": "Thursday",
                    "closed": true,
                    "openTime": 0,
                    "closeTime": 0,
                    "humanReadable": "Closed",
                    "windows": []
                },
                {
                    "weekday": 4,
                    "key": "friday",
                    "label": "Friday",
                    "closed": true,
                    "openTime": 0,
                    "closeTime": 0,
                    "humanReadable": "Closed",
                    "windows": []
                },
                {
                    "weekday": 5,
                    "key": "saturday",
                    "label": "Saturday",
                    "closed": true,
                    "openTime": 0,
                    "closeTime": 0,
                    "humanReadable": "Closed",
                    "windows": []
                },
                {
                    "weekday": 6,
                    "key": "sunday",
                    "label": "Sunday",
                    "closed": true,
                    "openTime": 0,
                    "closeTime": 0,
                    "humanReadable": "Closed",
                    "windows": []
                }
            ],
            "CanEdit": true
        }
    }
}
Machine-readable endpoint documentation
GET

/v1/partner/get_team

#
Get active team members, pending invites, and recent partner audit events for a managed venue.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to inspect.
Request example (cURL)
curl --get \
  'https://ca.appointmenttrader.com/v1/partner/get_team' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_get_team_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.Teamobject Yes
$.oneOf[0].allOf[1].Payload.Team.partnerAccountIDinteger No
$.oneOf[0].allOf[1].Payload.Team.membersarray Yes
$.oneOf[0].allOf[1].Payload.Team.members[]object No
$.oneOf[0].allOf[1].Payload.Team.members[].IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Team.members[].ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.Team.members[].ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Team.members[].ATUser_IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Team.members[].ATUser_ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.Team.members[].ATUser_ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Team.members[].Rolestring ["Owner","Admin","InventoryManager","HostSupport","Finance","Analyst"] Yes
$.oneOf[0].allOf[1].Payload.Team.members[].Status = "Active" Yes
$.oneOf[0].allOf[1].Payload.Team.members[].CreatedDatestring Yes
$.oneOf[0].allOf[1].Payload.Team.members[].AcceptedDate Yes
$.oneOf[0].allOf[1].Payload.Team.members[].AcceptedDate.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.Team.members[].AcceptedDate.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.members[].Aliasstring Yes
$.oneOf[0].allOf[1].Payload.Team.members[].Email Yes
$.oneOf[0].allOf[1].Payload.Team.members[].Email.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.Team.members[].Email.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.members[].Avatarstring Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].actorUserIDinteger Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].targetUserIDinteger Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].isBlockedboolean Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].blockedDate Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].blockedDate.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].blockedDate.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].isMutedboolean Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].mutedDate Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].mutedDate.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].mutedDate.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].reasonstring Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[0].personalNotestring Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.Team.members[].relationshipControls.anyOf[1].personalNote = "" Yes
$.oneOf[0].allOf[1].Payload.Team.invitesarray Yes
$.oneOf[0].allOf[1].Payload.Team.invites[]object No
$.oneOf[0].allOf[1].Payload.Team.invites[].IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Team.invites[].ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].InviteTokenstring YesSynthetic placeholder in documentation; runtime value is a private team invitation token.
$.oneOf[0].allOf[1].Payload.Team.invites[].Rolestring ["Owner","Admin","InventoryManager","HostSupport","Finance","Analyst"] Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].InviteEmail Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].InviteEmail.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].InviteEmail.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].Statusstring ["Pending","Accepted","Revoked","Expired"] Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].CreatedDatestring Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].AcceptedBy-ATUser_ID Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].AcceptedBy-ATUser_ID.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Team.invites[].AcceptedBy-ATUser_ID.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].AcceptedBy-ATUser_ID.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].AcceptedBy-ATUser_ID.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].AcceptedDate Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].AcceptedDate.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].AcceptedDate.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].ExpiresDate Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].ExpiresDate.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].ExpiresDate.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].CreatedBy-ATUser_IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Team.invites[].CreatedBy-ATUser_ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.Team.invites[].CreatedBy-ATUser_ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Team.auditarray Yes
$.oneOf[0].allOf[1].Payload.Team.audit[]object No
$.oneOf[0].allOf[1].Payload.Team.audit[].IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Team.audit[].ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].CreatedDatestring Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].Actionstring Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].Actor-ATUser_ID Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].Actor-ATUser_ID.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Team.audit[].Actor-ATUser_ID.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].Actor-ATUser_ID.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].Actor-ATUser_ID.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].Target-ATUser_ID Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].Target-ATUser_ID.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Team.audit[].Target-ATUser_ID.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].Target-ATUser_ID.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].Target-ATUser_ID.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0]string (application/json) Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0]PartnerAuditContext (decoded JSON) Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].previousPolicystring ["None","AllowAnyone","CurrentOwnerResellOnly"] No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].policystring ["AllowAnyone","CurrentOwnerResellOnly"] No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].requestIDDatabaseInteger NoInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].requestID.oneOf[0]integer No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].requestID.oneOf[1]string No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].locationIDsarray No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].locationIDs[]integer No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].countinteger No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].dayCountinteger No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].windowCountinteger No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].reasonstring No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].alreadyDeletedboolean No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].penaltySummaryobject No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].penaltySummary.penaltyCountinteger Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].penaltySummary.existingPenaltyCountinteger Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].penaltySummary.pointsAmountinteger Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].penaltySummary.currencyAmountinteger Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].inventoryTypeIDinteger No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].postIDinteger No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].createdPostboolean No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].rowCountinteger No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].createdCountinteger No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].errorCountinteger No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].appointmentIDsarray No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].appointmentIDs[]integer No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].rolestring ["Owner","Admin","InventoryManager","HostSupport","Finance","Analyst"] No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].inviteID No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].inviteID.anyOf[0]DatabaseInteger NoInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].inviteID.anyOf[0].oneOf[0]integer No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].inviteID.anyOf[0].oneOf[1]string No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].inviteID.anyOf[1]boolean No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[0].emailstring No
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[0].anyOf[1]array Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ContextJSON.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ActorAlias Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ActorAlias.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].ActorAlias.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].TargetAlias Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].TargetAlias.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.Team.audit[].TargetAlias.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.Schemaobject Yes
$.oneOf[0].allOf[1].Payload.Schema.readyboolean Yes
$.oneOf[0].allOf[1].Payload.Schema.missingTablesarray Yes
$.oneOf[0].allOf[1].Payload.Schema.missingTables[]string No
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/get_team",
    "RequestUserAlias": "example-user",
    "Payload": {
        "Team": {
            "members": [],
            "invites": [],
            "audit": []
        },
        "Schema": {
            "ready": false,
            "missingTables": []
        }
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_bulk_availability

#
Validate or create bulk dated availability for a managed venue. Created rows become normal ATAppointment listings.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to manage.
csvRows string Yes — CSV rows using partner/get_bulk_availability_template.
createMissingInventoryTypes bool No false Create unknown inventory types before writing rows.
isWritingRequest bool No false Dry-run guard for writes.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_bulk_availability' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'csvRows={{csvRows}}' \
  --data-urlencode 'createMissingInventoryTypes={{createMissingInventoryTypes}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_set_bulk_availability_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload Yes
$.oneOf[0].allOf[1].Payload.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].DryRun = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rowsarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[]object No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].rowNumberinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].statusstring ["valid","error","created"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].errorsarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].errors[]string No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalizedobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.inventoryTypeNamestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.dateTimestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.currencyCodestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.firstNamestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.lastNamestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.emailAddressstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.phoneNumberstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.inventoryTypeIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.quantityinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.priceAmountInSmallestUnitinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.discussionPostIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.createInventoryTypeboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0]array Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][]PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[0]null No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[1]string No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[2]number No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[3]boolean No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[4]array No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[4][]PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[5]object No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[5].*PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[0]null No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[1]string No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[2]number No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[3]boolean No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[4]array No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[4][]PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[5]object No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[5].*PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].appointmentIDsarray No
$.oneOf[0].allOf[1].Payload.anyOf[0].Rows[].appointmentIDs[]integer No
$.oneOf[0].allOf[1].Payload.anyOf[0].Summaryobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Summary.rowCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Summary.validCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Summary.errorCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Summary.missingInventoryTypesarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Summary.missingInventoryTypes[]string No
$.oneOf[0].allOf[1].Payload.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].BatchID Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].BatchID.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.anyOf[1].BatchID.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].BatchID.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].BatchID.anyOf[1]boolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rowsarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[]object No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].rowNumberinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].statusstring ["valid","error","created"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].errorsarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].errors[]string No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalizedobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.inventoryTypeNamestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.dateTimestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.currencyCodestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.firstNamestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.lastNamestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.emailAddressstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.phoneNumberstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.inventoryTypeIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.quantityinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.priceAmountInSmallestUnitinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.discussionPostIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.createInventoryTypeboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0]array Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][]PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[0]null No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[1]string No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[2]number No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[3]boolean No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[4]array No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[4][]PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[5]object No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[0][].anyOf[5].*PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[0]null No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[1]string No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[2]number No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[3]boolean No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[4]array No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[4][]PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[5]object No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].normalized.locationCategoryFieldIDValueList.anyOf[1].*.anyOf[5].*PartnerImportJSONValue No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].appointmentIDsarray No
$.oneOf[0].allOf[1].Payload.anyOf[1].Rows[].appointmentIDs[]integer No
$.oneOf[0].allOf[1].Payload.anyOf[1].Summaryobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Summary.rowCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Summary.createdCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Summary.errorCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Summary.appointmentIDsarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Summary.appointmentIDs[]integer No
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_bulk_availability",
    "RequestUserAlias": "example-user",
    "Payload": {
        "DryRun": true,
        "Rows": [],
        "Summary": {
            "rowCount": 0,
            "validCount": 0,
            "errorCount": 0,
            "missingInventoryTypes": []
        }
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_delete_location

#
Preview or delete a location for failing community standards. Deletion is admin-only and applies new-location reward penalties when applicable.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to delete.
reason string No "" Community-standards reason shown in audit and penalty ledger descriptions.
confirmation string No "" Type DELETE when isWritingRequest is true.
isWritingRequest bool No false False returns a dry-run penalty preview; true soft-deletes and applies penalties.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_delete_location' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'reason={{reason}}' \
  --data-urlencode 'confirmation={{confirmation}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_set_delete_location_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload Yes
$.oneOf[0].allOf[1].Payload.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].DryRun = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].AlreadyDeletedboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].LocationIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].LocationNamestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreviewobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Succeeded = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.DryRunboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.LocationIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.ProposalCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Summaryobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Summary.penaltyCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Summary.existingPenaltyCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Summary.pointsAmountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Summary.currencyAmountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penaltiesarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[]object No
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].rolestring ["submitter","verifier"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].userIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].rewardLedgerIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].confirmationIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].statusstring ["reward-ledger-missing","reward-ledger-user-mismatch","already-penalized","pending","no-penalty-amount","account-missing","penalty-failed","penalized"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].penaltyLedgerIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].pointsAmountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].currencyAmountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].accountIDinteger No
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].penaltyMultipliernumber No
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].proposalIDinteger No
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].locationIDinteger No
$.oneOf[0].allOf[1].Payload.anyOf[0].PenaltyPreview.Penalties[].locationNamestring No
$.oneOf[0].allOf[1].Payload.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].DryRun = false Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].AlreadyDeletedboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].LocationIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].LocationNamestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResultobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Succeeded = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.DryRunboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.LocationIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.ProposalCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Summaryobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Summary.penaltyCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Summary.existingPenaltyCountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Summary.pointsAmountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Summary.currencyAmountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penaltiesarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[]object No
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].rolestring ["submitter","verifier"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].userIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].rewardLedgerIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].confirmationIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].statusstring ["reward-ledger-missing","reward-ledger-user-mismatch","already-penalized","pending","no-penalty-amount","account-missing","penalty-failed","penalized"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].penaltyLedgerIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].pointsAmountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].currencyAmountinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].accountIDinteger No
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].penaltyMultipliernumber No
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].proposalIDinteger No
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].locationIDinteger No
$.oneOf[0].allOf[1].Payload.anyOf[1].PenaltyResult.Penalties[].locationNamestring No
$.oneOf[0].allOf[1].Payload.anyOf[1].RedirectURLstring Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_delete_location",
    "RequestUserAlias": "example-user",
    "Payload": {
        "DryRun": true,
        "AlreadyDeleted": false,
        "LocationID": 0,
        "LocationName": "synthetic-example",
        "PenaltyPreview": {
            "Succeeded": true,
            "DryRun": false,
            "LocationID": 0,
            "ProposalCount": 0,
            "Summary": {
                "penaltyCount": 0,
                "existingPenaltyCount": 0,
                "pointsAmount": 0,
                "currencyAmount": 0
            },
            "Penalties": []
        }
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_inventory_type

#
Create or update a location-specific inventory type for a managed venue.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to manage.
inventoryTypeID int No 0 Existing inventory type ID, or 0 to create one.
name string No "" Inventory type name.
description string No "" Short description.
allowListings bool No true Whether sellers can create listings for this type.
groupName string No "" Optional group label.
headcount int No 0 Optional default headcount.
defaultBidAmount int No 0 Default bid amount in cents.
defaultOfferAmount int No 0 Default offer amount in cents.
isWritingRequest bool No false Dry-run guard for writes.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_inventory_type' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'inventoryTypeID={{inventoryTypeID}}' \
  --data-urlencode 'name={{name}}' \
  --data-urlencode 'description={{description}}' \
  --data-urlencode 'allowListings={{allowListings}}' \
  --data-urlencode 'groupName={{groupName}}' \
  --data-urlencode 'headcount={{headcount}}' \
  --data-urlencode 'defaultBidAmount={{defaultBidAmount}}' \
  --data-urlencode 'defaultOfferAmount={{defaultOfferAmount}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_set_inventory_type_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload Yes
$.oneOf[0].allOf[1].Payload.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].DryRun = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].InventoryTypeIDinteger Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_inventory_type",
    "RequestUserAlias": "example-user",
    "Payload": {
        "DryRun": true
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_inventory_type_post_link

#
Link a community post to a venue inventory type.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to manage.
inventoryTypeID int Yes — Inventory type ID.
discussionPostID int Yes — Community post ID to link.
isWritingRequest bool No false Dry-run guard for writes.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_inventory_type_post_link' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'inventoryTypeID={{inventoryTypeID}}' \
  --data-urlencode 'discussionPostID={{discussionPostID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_set_inventory_type_post_link_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload Yes
$.oneOf[0].allOf[1].Payload.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].DryRun = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[1]array Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_inventory_type_post_link",
    "RequestUserAlias": "example-user",
    "Payload": {
        "DryRun": true
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_listing_regulation_policy

#
Save the venue listing-regulation override policy. Only venue Owners/Admins, legacy venue managers, and global community administrators may save.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to manage.
policy string Yes — One of AllowAnyone or CurrentOwnerResellOnly.
isWritingRequest bool No false Dry-run guard for writes.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_listing_regulation_policy' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'policy={{policy}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_set_listing_regulation_policy_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload Yes
$.oneOf[0].allOf[1].Payload.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].DryRun = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].policystring ["AllowAnyone","CurrentOwnerResellOnly"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].policystring ["None","AllowAnyone","CurrentOwnerResellOnly"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].defaultPolicy = "CurrentOwnerResellOnly" Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].canEditboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].schemaobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].schema.readyboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].schema.missingColumnsarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].schema.missingColumns[]string No
$.oneOf[0].allOf[1].Payload.anyOf[1].optionsarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].options[]object No
$.oneOf[0].allOf[1].Payload.anyOf[1].options[].valuestring ["AllowAnyone","CurrentOwnerResellOnly"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].options[].labelstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].restrictedByRegulationboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].blockingRegulation Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].blockingRegulation.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].blockingRegulation.anyOf[0].namestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].blockingRegulation.anyOf[0].effectiveDateStartstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].blockingRegulation.anyOf[0].idinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].blockingRegulation.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Saved = true Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_listing_regulation_policy",
    "RequestUserAlias": "example-user",
    "Payload": {
        "DryRun": true,
        "policy": "AllowAnyone"
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_location_claim_request

#
Request management access to a location. The request is sent to GlobalCommunityAdministration users in a chat with approve/reject action buttons.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to claim.
message string No "" Optional claim note for reviewers.
isWritingRequest bool No false Dry-run guard for writes.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_location_claim_request' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'message={{message}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_set_location_claim_request_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload Yes
$.oneOf[0].allOf[1].Payload.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].AlreadyManager = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].ManagementURLstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].ChatURLstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].RequestIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].ChatIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Createdboolean Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_location_claim_request",
    "RequestUserAlias": "example-user",
    "Payload": {
        "AlreadyManager": true,
        "ManagementURL": "synthetic-example"
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_location_likeness_group

#
Save the managed venue's similarity group used by partner inventory forecasts.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Target location ID.
locationIDs string No "" Comma-separated similar restaurant location IDs.
isWritingRequest bool No false Dry-run guard for writes.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_location_likeness_group' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'locationIDs={{locationIDs}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_set_location_likeness_group_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payloadobject Yes
$.oneOf[0].allOf[1].Payload.LocationIDinteger Yes
$.oneOf[0].allOf[1].Payload.Schemaobject Yes
$.oneOf[0].allOf[1].Payload.Schema.readyboolean Yes
$.oneOf[0].allOf[1].Payload.Schema.missingTablesarray Yes
$.oneOf[0].allOf[1].Payload.Schema.missingTables[]string No
$.oneOf[0].allOf[1].Payload.SelectedOptionsarray Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[]object No
$.oneOf[0].allOf[1].Payload.SelectedOptions[].valuestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].labelstring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].subtitlestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].keywordsstring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].aliasstring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].namestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].cityLinestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].categoryNamestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].sourcestring Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.SelectedOptions[].relationshipCountinteger Yes
$.oneOf[0].allOf[1].Payload.SelectedLocationIDsarray Yes
$.oneOf[0].allOf[1].Payload.SelectedLocationIDs[]integer No
$.oneOf[0].allOf[1].Payload.SelectedAliasesarray Yes
$.oneOf[0].allOf[1].Payload.SelectedAliases[]string No
$.oneOf[0].allOf[1].Payload.SuggestedOptionsarray Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[]object No
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].valuestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].labelstring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].subtitlestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].keywordsstring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].aliasstring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].namestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].cityLinestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].categoryNamestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].sourcestring Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.SuggestedOptions[].relationshipCountinteger Yes
$.oneOf[0].allOf[1].Payload.CanEditboolean Yes
$.oneOf[0].allOf[1].Payload.CanBulkAvailabilityboolean Yes
$.oneOf[0].allOf[1].Payload.SavedCountinteger Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_location_likeness_group",
    "RequestUserAlias": "example-user",
    "Payload": {
        "LocationID": 0,
        "Schema": {
            "ready": false,
            "missingTables": []
        },
        "SelectedOptions": [],
        "SelectedLocationIDs": [],
        "SelectedAliases": [],
        "SuggestedOptions": [],
        "CanEdit": false,
        "CanBulkAvailability": false,
        "SavedCount": 0
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_location_livestream_post

#
Feature a location-connected community post as the venue livestream station, or create a new station post and feature it.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to manage.
discussionPostID int No 0 Existing public top-level location post to feature. Use 0 when createPost is true.
title string No "" Optional title for a newly created station post.
body string No "" Optional body for a newly created station post.
createPost bool No false Create a new location discussion post before featuring it.
clear bool No false Remove the featured livestream post from the public location page.
isWritingRequest bool No false Dry-run guard for writes.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_location_livestream_post' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'discussionPostID={{discussionPostID}}' \
  --data-urlencode 'title={{title}}' \
  --data-urlencode 'body={{body}}' \
  --data-urlencode 'createPost={{createPost}}' \
  --data-urlencode 'clear={{clear}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_set_location_livestream_post_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload Yes
$.oneOf[0].allOf[1].Payload.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Featuredarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].DiscussionPostIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[0].postTitlestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[0].postURLstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[0].goLiveURLstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[0].liveStreamStartDatestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[0].boardNamestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[0].featuredLivestreamLinkIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[0].locationIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[0].postIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[0].postAuthorUserIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[0].isLiveboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Featured.anyOf[1]array Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].PostURLstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].GoLiveURLstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[2]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].DryRun = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].WouldCreatePost = true No
$.oneOf[0].allOf[1].Payload.anyOf[2].DiscussionPostIDinteger No
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_location_livestream_post",
    "RequestUserAlias": "example-user",
    "Payload": {
        "Featured": []
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_opening_hours

#
Validate or save weekly recurring split opening hours for a managed venue.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to manage.
hoursJSON string No "" JSON payload with days, closed flags, and open/close windows.
isWritingRequest bool No false Dry-run guard for writes.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_opening_hours' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'hoursJSON={{hoursJSON}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Parameters: hoursJSON
FieldTypeRequiredDescription
hoursJSONstring (application/json) No
hoursJSONPartnerOpeningHoursInput (decoded JSON) NoOmitted weekdays are closed. A non-closed day needs 1–4 non-overlapping windows; weekday may be explicit or the zero-based list/key index.
hoursJSON.anyOf[0]object No
hoursJSON.anyOf[0].days Yes
hoursJSON.anyOf[0].days.anyOf[0]array Yes
hoursJSON.anyOf[0].days.anyOf[0][]object No
hoursJSON.anyOf[0].days.anyOf[0][].weekdayinteger No
hoursJSON.anyOf[0].days.anyOf[0][].closedboolean No
hoursJSON.anyOf[0].days.anyOf[0][].windowsarray No
hoursJSON.anyOf[0].days.anyOf[0][].windows[]object NoSupply one opening and one closing alias. They must differ; overnight windows are supported. Windows cannot overlap or repeat.
hoursJSON.anyOf[0].days.anyOf[0][].windows[].openTime No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].openTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[0][].windows[].openTime.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].open No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].open.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[0][].windows[].open.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].OpenTime No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].OpenTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[0][].windows[].OpenTime.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].openTimeInput No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].openTimeInput.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[0][].windows[].openTimeInput.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].closeTime No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].closeTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[0][].windows[].closeTime.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].close No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].close.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[0][].windows[].close.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].CloseTime No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].CloseTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[0][].windows[].CloseTime.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].closeTimeInput No
hoursJSON.anyOf[0].days.anyOf[0][].windows[].closeTimeInput.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[0][].windows[].closeTimeInput.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[1]object Yes
hoursJSON.anyOf[0].days.anyOf[1].*object No
hoursJSON.anyOf[0].days.anyOf[1].*.weekdayinteger No
hoursJSON.anyOf[0].days.anyOf[1].*.closedboolean No
hoursJSON.anyOf[0].days.anyOf[1].*.windowsarray No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[]object NoSupply one opening and one closing alias. They must differ; overnight windows are supported. Windows cannot overlap or repeat.
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].openTime No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].openTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].openTime.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].open No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].open.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].open.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].OpenTime No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].OpenTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].OpenTime.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].openTimeInput No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].openTimeInput.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].openTimeInput.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].closeTime No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].closeTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].closeTime.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].close No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].close.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].close.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].CloseTime No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].CloseTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].CloseTime.anyOf[1]integer No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].closeTimeInput No
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].closeTimeInput.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[0].days.anyOf[1].*.windows[].closeTimeInput.anyOf[1]integer No
hoursJSON.anyOf[1] No
hoursJSON.anyOf[1].anyOf[0]array No
hoursJSON.anyOf[1].anyOf[0][]object No
hoursJSON.anyOf[1].anyOf[0][].weekdayinteger No
hoursJSON.anyOf[1].anyOf[0][].closedboolean No
hoursJSON.anyOf[1].anyOf[0][].windowsarray No
hoursJSON.anyOf[1].anyOf[0][].windows[]object NoSupply one opening and one closing alias. They must differ; overnight windows are supported. Windows cannot overlap or repeat.
hoursJSON.anyOf[1].anyOf[0][].windows[].openTime No
hoursJSON.anyOf[1].anyOf[0][].windows[].openTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[0][].windows[].openTime.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[0][].windows[].open No
hoursJSON.anyOf[1].anyOf[0][].windows[].open.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[0][].windows[].open.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[0][].windows[].OpenTime No
hoursJSON.anyOf[1].anyOf[0][].windows[].OpenTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[0][].windows[].OpenTime.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[0][].windows[].openTimeInput No
hoursJSON.anyOf[1].anyOf[0][].windows[].openTimeInput.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[0][].windows[].openTimeInput.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[0][].windows[].closeTime No
hoursJSON.anyOf[1].anyOf[0][].windows[].closeTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[0][].windows[].closeTime.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[0][].windows[].close No
hoursJSON.anyOf[1].anyOf[0][].windows[].close.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[0][].windows[].close.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[0][].windows[].CloseTime No
hoursJSON.anyOf[1].anyOf[0][].windows[].CloseTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[0][].windows[].CloseTime.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[0][].windows[].closeTimeInput No
hoursJSON.anyOf[1].anyOf[0][].windows[].closeTimeInput.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[0][].windows[].closeTimeInput.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[1]object No
hoursJSON.anyOf[1].anyOf[1].*object No
hoursJSON.anyOf[1].anyOf[1].*.weekdayinteger No
hoursJSON.anyOf[1].anyOf[1].*.closedboolean No
hoursJSON.anyOf[1].anyOf[1].*.windowsarray No
hoursJSON.anyOf[1].anyOf[1].*.windows[]object NoSupply one opening and one closing alias. They must differ; overnight windows are supported. Windows cannot overlap or repeat.
hoursJSON.anyOf[1].anyOf[1].*.windows[].openTime No
hoursJSON.anyOf[1].anyOf[1].*.windows[].openTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[1].*.windows[].openTime.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[1].*.windows[].open No
hoursJSON.anyOf[1].anyOf[1].*.windows[].open.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[1].*.windows[].open.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[1].*.windows[].OpenTime No
hoursJSON.anyOf[1].anyOf[1].*.windows[].OpenTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[1].*.windows[].OpenTime.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[1].*.windows[].openTimeInput No
hoursJSON.anyOf[1].anyOf[1].*.windows[].openTimeInput.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[1].*.windows[].openTimeInput.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[1].*.windows[].closeTime No
hoursJSON.anyOf[1].anyOf[1].*.windows[].closeTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[1].*.windows[].closeTime.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[1].*.windows[].close No
hoursJSON.anyOf[1].anyOf[1].*.windows[].close.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[1].*.windows[].close.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[1].*.windows[].CloseTime No
hoursJSON.anyOf[1].anyOf[1].*.windows[].CloseTime.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[1].*.windows[].CloseTime.anyOf[1]integer No
hoursJSON.anyOf[1].anyOf[1].*.windows[].closeTimeInput No
hoursJSON.anyOf[1].anyOf[1].*.windows[].closeTimeInput.anyOf[0]string NoHH:MM, a numeric hour, or numeric HHMM.
hoursJSON.anyOf[1].anyOf[1].*.windows[].closeTimeInput.anyOf[1]integer No
Response fields
FieldTypeRequiredDescription
$partner_set_opening_hours_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload Yes
$.oneOf[0].allOf[1].Payload.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].DryRun = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].daysarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[]object No
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].keystring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].labelstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].humanReadablestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].weekdayinteger YesMonday=0 through Sunday=6.
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].openTimeinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].closeTimeinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].closedboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].windowsarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].windows[]object NoTimes are integer HHMM; close <= open means the following day.
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].windows[].openTimeInputstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].windows[].closeTimeInputstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].windows[].labelstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].windows[].idinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].windows[].openTimeinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].windows[].closeTimeinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].days[].windows[].overnightboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].rowsarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].rows[]object No
$.oneOf[0].allOf[1].Payload.anyOf[0].rows[].Weekdayinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].rows[].OpenTimeinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].rows[].CloseTimeinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].rows[].SortOrderinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHoursobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.schemaobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.schema.readyboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.schema.missingTablesarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.schema.missingTables[]string No
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.sourcestring ["legacy","split"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.maxWindowsPerDay = 4 Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.daysarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[]object No
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].keystring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].labelstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].humanReadablestring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].weekdayinteger YesMonday=0 through Sunday=6.
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].openTimeinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].closeTimeinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].closedboolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].windowsarray Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].windows[]object NoTimes are integer HHMM; close <= open means the following day.
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].windows[].openTimeInputstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].windows[].closeTimeInputstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].windows[].labelstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].windows[].idinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].windows[].openTimeinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].windows[].closeTimeinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].OpeningHours.days[].windows[].overnightboolean Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_opening_hours",
    "RequestUserAlias": "example-user",
    "Payload": {
        "DryRun": true,
        "days": [
            {
                "weekday": 0,
                "key": "monday",
                "label": "Monday",
                "closed": true,
                "openTime": 0,
                "closeTime": 0,
                "humanReadable": "Closed",
                "windows": []
            },
            {
                "weekday": 1,
                "key": "tuesday",
                "label": "Tuesday",
                "closed": true,
                "openTime": 0,
                "closeTime": 0,
                "humanReadable": "Closed",
                "windows": []
            },
            {
                "weekday": 2,
                "key": "wednesday",
                "label": "Wednesday",
                "closed": true,
                "openTime": 0,
                "closeTime": 0,
                "humanReadable": "Closed",
                "windows": []
            },
            {
                "weekday": 3,
                "key": "thursday",
                "label": "Thursday",
                "closed": true,
                "openTime": 0,
                "closeTime": 0,
                "humanReadable": "Closed",
                "windows": []
            },
            {
                "weekday": 4,
                "key": "friday",
                "label": "Friday",
                "closed": true,
                "openTime": 0,
                "closeTime": 0,
                "humanReadable": "Closed",
                "windows": []
            },
            {
                "weekday": 5,
                "key": "saturday",
                "label": "Saturday",
                "closed": true,
                "openTime": 0,
                "closeTime": 0,
                "humanReadable": "Closed",
                "windows": []
            },
            {
                "weekday": 6,
                "key": "sunday",
                "label": "Sunday",
                "closed": true,
                "openTime": 0,
                "closeTime": 0,
                "humanReadable": "Closed",
                "windows": []
            }
        ],
        "rows": []
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_team_invite

#
Create or accept a role-scoped venue team invite. Creating an invite preserves normal referral attribution through the returned URL's v parameter.

Parameters

NameTypeRequiredDefaultDescription
locationID int No 0 Location ID for the invite.
role string No "Analyst" One of Owner, Admin, InventoryManager, HostSupport, Finance, Analyst.
email string No "" Optional invite email annotation.
inviteToken string No "" Existing invite token to accept instead of creating a new invite.
acceptInvite bool No false Accept inviteToken for the signed-in user.
isWritingRequest bool No false Dry-run guard for writes.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_team_invite' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'role={{role}}' \
  --data-urlencode 'email={{email}}' \
  --data-urlencode 'inviteToken={{inviteToken}}' \
  --data-urlencode 'acceptInvite={{acceptInvite}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_set_team_invite_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload Yes
$.oneOf[0].allOf[1].Payload.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].InviteID Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].InviteID.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.anyOf[0].InviteID.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].InviteID.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].InviteID.anyOf[1]boolean Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].InviteURLstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].Rolestring ["Owner","Admin","InventoryManager","HostSupport","Finance","Analyst"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].DryRun = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].InviteURLstring Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rolestring ["Owner","Admin","InventoryManager","HostSupport","Finance","Analyst"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[2]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Inviteobject Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ATPartnerAccount_IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ATPartnerAccount_ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ATPartnerAccount_ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ATLocation_ID Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ATLocation_ID.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ATLocation_ID.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ATLocation_ID.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ATLocation_ID.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.InviteTokenstring YesSynthetic placeholder in documentation; runtime value is a private team invitation token.
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.Rolestring ["Owner","Admin","InventoryManager","HostSupport","Finance","Analyst"] Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.InviteEmail Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.InviteEmail.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.InviteEmail.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.Status = "Pending" Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.CreatedBy-ATUser_IDDatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.CreatedBy-ATUser_ID.oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.CreatedBy-ATUser_ID.oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.AcceptedBy-ATUser_ID Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.AcceptedBy-ATUser_ID.anyOf[0]DatabaseInteger YesInteger value; legacy MySQL reads may serialize it as a numeric string.
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.AcceptedBy-ATUser_ID.anyOf[0].oneOf[0]integer Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.AcceptedBy-ATUser_ID.anyOf[0].oneOf[1]string Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.AcceptedBy-ATUser_ID.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.AcceptedDate Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.AcceptedDate.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.AcceptedDate.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ExpiresDate Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ExpiresDate.anyOf[0]string Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].Invite.ExpiresDate.anyOf[1]null Yes
$.oneOf[0].allOf[1].Payload.anyOf[2].DryRun = true No
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_team_invite",
    "RequestUserAlias": "example-user",
    "Payload": {
        "InviteID": 0,
        "InviteURL": "synthetic-example",
        "Role": "Owner"
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_team_member_remove

#
Remove a user from a venue team.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to manage.
userID int Yes — Team member user ID to remove.
isWritingRequest bool No false Dry-run guard for writes.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_team_member_remove' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'userID={{userID}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_set_team_member_remove_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload Yes
$.oneOf[0].allOf[1].Payload.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].DryRun = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[1]array Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_team_member_remove",
    "RequestUserAlias": "example-user",
    "Payload": {
        "DryRun": true
    }
}
Machine-readable endpoint documentation
POST

/v1/partner/set_team_member_role

#
Add an existing user to a venue team or change that user's partner role.

Parameters

NameTypeRequiredDefaultDescription
locationID int Yes — Location ID to manage.
aliasOrEmail string Yes — Existing user's alias or email.
role string Yes — One of Owner, Admin, InventoryManager, HostSupport, Finance, Analyst.
isWritingRequest bool No false Dry-run guard for writes.
Request example (cURL)
curl --request POST \
  'https://ca.appointmenttrader.com/v1/partner/set_team_member_role' \
  --data-urlencode 'key={{API_KEY}}' \
  --data-urlencode 'locationID={{locationID}}' \
  --data-urlencode 'aliasOrEmail={{aliasOrEmail}}' \
  --data-urlencode 'role={{role}}' \
  --data-urlencode 'isWritingRequest={{isWritingRequest}}'

Returns

JSON
See the shared response schema and synthetic example.
Response fields
FieldTypeRequiredDescription
$partner_set_team_member_role_Response Yes
$.oneOf[0] Yes
$.oneOf[0].allOf[0]object Yes
$.oneOf[0].allOf[0].RequestUserAliasstring Yes
$.oneOf[0].allOf[0].RequestPathstring | null Yes
$.oneOf[0].allOf[0].RequestStatus = "Succeeded" Yes
$.oneOf[0].allOf[0].ResponseCodeinteger Yes
$.oneOf[0].allOf[0].ResponseMessageAPIResponseMessage Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1]array Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2]object Yes
$.oneOf[0].allOf[0].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[0].allOf[0].RequestImpersonatedByUserAliasstring No
$.oneOf[0].allOf[1]object Yes
$.oneOf[0].allOf[1].Payload Yes
$.oneOf[0].allOf[1].Payload.anyOf[0]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[0].DryRun = true Yes
$.oneOf[0].allOf[1].Payload.anyOf[1]object Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].UserIDinteger Yes
$.oneOf[0].allOf[1].Payload.anyOf[1].Rolestring ["Owner","Admin","InventoryManager","HostSupport","Finance","Analyst"] Yes
$.oneOf[1]object Yes
$.oneOf[1].RequestUserAliasstring Yes
$.oneOf[1].RequestPathstring | null Yes
$.oneOf[1].RequestStatus = "Failed" Yes
$.oneOf[1].ResponseCodeinteger Yes
$.oneOf[1].ResponseMessageAPIResponseMessage Yes
$.oneOf[1].ResponseMessage.oneOf[0]string | number | boolean | null Yes
$.oneOf[1].ResponseMessage.oneOf[1]array Yes
$.oneOf[1].ResponseMessage.oneOf[1][]APIResponseMessage No
$.oneOf[1].ResponseMessage.oneOf[2]object Yes
$.oneOf[1].ResponseMessage.oneOf[2].*APIResponseMessage No
$.oneOf[1].RequestImpersonatedByUserAliasstring No
Response example
{
    "RequestStatus": "Succeeded",
    "ResponseCode": 100,
    "ResponseMessage": "Synthetic success example.",
    "RequestPath": "/v1/partner/set_team_member_role",
    "RequestUserAlias": "example-user",
    "Payload": {
        "DryRun": true
    }
}
Machine-readable endpoint documentation