Search.../

HTTP API

Using the HTTP API

The HTTP API allows you to send and receive requests from your server to Wix.

How it Works:

Every call to the HTTP API shares a common entry point: openapi.wix.com/v1

To enable Wix to identify the site and application calling the HTTP API, all HTTP calls must be authenticated. Wix uses an HMAC scheme and requires HTTPS to ensure the integrity and authenticity of each request.

When issuing a HTTP request, your request must be signed with your secret key, and include the request parameters either as query parameters or as headers.

Request Parameters

HeaderDescription
x-wix-application-idApp ID
x-wix-instance-idApp Instance ID: the unique ID per user per site
x-wix-timestampTimestamp in UTC format (ISO 8601); for example, 2013-07-01T08undefined40.802Z. Valid for one minute only
x-wix-signatureHMACSHA-256 signature, generated using the app secret key and the request headers

Signature

Every call is sent with a digital signature in the x-wix-signature header, for authentication purposes.

To encode the signature:

  1. Sort all request parameters by parameter name (in ascending alphanumeric order) and concatenate their values with only a line break (n) as a separator. The request parameters include the following:
    a. Query parameters, all except for the signature parameter
    b. All headers with the prefix x-wix-, except the x-wix-signature header. For multivalue parameters, values should be trimmed and concatenated using a comma (,).
  2. Concatenate, in the following order, and separate by a line break (n)
    a. HTTP method, converted to uppercase
    b. HTTP request’s URL path, without the host
    c. All values from the sorted request parameters (the output of #1)
    d. The request body
  3. Compute the HMACSHA-256 of the combined information using your app secret key.
  4. Encode the hash to a Base64 string.
  5. Add the signature as the query parameter signature or as the x-wix-signature header.

Working with Data

For endpoints that return large amounts of data, the HTTP API employs a technique called cursoring to navigate large sets of data. Cursoring separates result data into pages of a fixed size and provides a way to move forwards and backwards through these pages.

For initial calls to APIs that support cursors, it is possible to either omit the cursor parameter or to pass a cursor with the value of -1. Each call to a cursoring-enabled endpoint will return a JSON object that includes a cursor to the previous page, a cursor to the next page and an array containing the data for the current page. If either the next or previous page does not exist, the value of the cursor will be 0.

All cursors are associated with the initial data request and expire within 30 minutes.

Data cursor:

{
nextCursor: <cursor>,
previousCursor: <cursor>,
results: [
<<items>>
]
}
JSON | Copy Code

Errors

All API errors from the HTTP API use standard HTTP error codes, as well as a JSON response containing information relevant to the error.

Wix API Error Example

{
errorCode : 400,
message : "Missing endpoint version number."
}
JSON | Copy Code

Standard API Errors

HTTP Error CodeDescriptionArea
400Bad request. Authentication credentials may be missingAuthentication
400Missing endpoint version numberVersioning
403Bad authentication credentialsAuthentication
404Invalid endpoint or version number specifiedVersioning
408Timestamp expired on the request, please submit again with a fresh signatureAuthentication

Was this helpful?

In-App Purchases

GET/premium/oneTimePurchases

Returns information about the user’s purchase history.

Important:
Before using this API endpoint, learn more about how to implement in-app purchases.

Parameters:

NameData TypeParameter TypeDescription
appDefId (required)StringHeader/QueryApp ID, as specified in the Developers Center. If you are sending this field through the header: prefix the field value with x-wix-
instanceId (required)StringHeader/QueryThe app’s instanceId in this site (a GUID). If you are sending this field through the header: prefix the field value with x-wix-
signature (required)StringHeader/QueryThe computed signature. If you are sending this field through the header: prefix the field value with x-wix-
timestamp (required)DateHeader/QueryThe timestamp, as an ISO 8601 timestamp. If you are sending this field through the header: prefix the field value with x-wix-
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path. Latest version is 1.0.0.

Response:

This endpoint returns an array of objects, where each object is a purchase or upgrade made in your app (for a given instanceId).

NameTypeDescription
purchaseIdString (UUID)Unique identifier for this purchase on Wix’s database (used for support, issuing a refund, etc)
vendorProductIdStringName of the in-app product that was purchased
datePurchasedDatePurchase date, as an ISO 8601 timestamp

Response Example:

[ {
"products": [ {
“purchaseId” : UUID,
"vendorProductId": String,
"datePurchased": Date
} ]
} ]
JSON | Copy Code

Was this helpful?

Contacts

Note:
Before using these API endpoints, learn more about how to use WixHive contacts in your app.

GET/contacts

Returns all contacts that are part of the current site, determined by the application-id and instance-id parameters/headers. The results will be returned in cursored form. By default, all Contacts are returned.

Parameters:

NameData TypeParameter TypeDescription
fields'NAME', 'COMPANY', 'EMAILS', 'PHONES', 'ADDRESSES', 'URLS', 'DATES', 'NOTES', 'CUSTOM','LINKS'QueryThe Contact fields to return. Multiple fields are separated by a comma, for example: NAME, EMAILS. System fields (like the contact’s id and ModifiedAt) are always returned.
emailStringQueryThe email to search against
phoneStringQueryThe phone number to search against
name.firstStringQueryThe first name to search against
name.lastStringQueryThe last name to search against
cursorStringQueryThe semi-optional cursor into the desired data. This cursor will expire after 30 minutes, it should not be cached.
pageSizeInteger (1-500)QueryThe number of results to return per page of data. Defaults to 25.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/ HeaderThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/ HeaderThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/ HeaderThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/ HeaderThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-

Example:

{
"method": "GET",
"url": "https://openapi.wix.com/v1/contacts?version=1.0.0&fields=NAME,PHONES",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T08:17:04.595Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
totalNumberThe total number of Contacts that can be returned
pageSizeInteger (1-500)The number of results returned per cursor
previousCursorStringThe cursor used to access the previous set of contacts. Returns null if there are no previous results.
nextCursorStringThe cursor used to access the next set of contacts. Returns null if there are no more results.
resultsArray[Objects]An array of Contact items. Each contact object contains information about the contact.
results.idStringContact's ID
results.nameObjectContact's name
results.name.prefixStringName prefix
results.name.firstStringFirst name
results.name.middleStringMiddle name
results.name.lastStringLast name
results.name.suffixStringName suffix
results.pictureStringURL of the contact's photo
results.companyObjectContact's company details
results.company.roleStringContact's role in the company
results.company.nameStringContact's company name
results.emailsArray[Objects]Contact's email addresses
results.emails.idNumberID of this email within the array
results.emails.tagStringTag for this email - home, work, etc
results.emails.emailStringEmail address
results.emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
results.emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
results.phonesArray[Objects]Contact's phone numbers
results.phones.idNumberID of this phone number within the array
results.phones.tagStringTag for this phone number - home, work, etc
results.phones.phoneStringPhone number
results.phones.normalizedPhoneStringNormalized phone number
results.addressesArray[Objects]Contact's addresses
results.addresses.idNumberID of this address within the array
results.addresses.tagStringTag for this address - home, work, etc
results.addresses.addressStringStreet address
results.addresses.neighborhoodStringNeighborhood
results.addresses.cityStringCity
results.addresses.regionStringRegion, like a U.S state or a province in Canada
results.addresses.countryStringCountry
results.addresses.postalCodeStringPostal code
results.urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
results.urls.idNumberID of this URL within the array
results.urls.tagStringTag for this URL - personal, work, etc
results.urls.urlStringThe URL
results.datesArray[Objects]Important dates for this Contact, like birthday
results.dates.idNumberID of this date within the array
results.dates.tagStringTag for this date - birthday, anniversary, etc
results.dates.dateDatetimeThe date, as an ISO 8601 timestamp
results.createdAtDateThe date this contact was created, as an ISO 8601 timestamp
results.linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
results.links.hrefStringThe href of the operation relevant to this resource
results.links.relStringThe relationship of this operation to the returned resource
results.modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 Invalid pageSize. Valid values are 25, 50 or 100. Invalid or missing cursor. Bad authentication credentials. Bad request. Authentication credentials may be missing. * Missing endpoint version number.
403 Unauthorized. Your app has been removed from the site. Unauthorized. Insufficient permissions.
404 App is not found on site. Endpoint version number does not exist.
408Timestamp expired on the request, please submit again with a new timestamp.
410Cursor expired. The cursor is no longer valid. Please query again.

GET/contacts/{contactId}

Find a contact referenced by its ID, only relevant for the given site determined by the application-id and instance-id parameters/headers.

Parameters:

NameData TypeParameter TypeDescription
contactId (required)StringPathID of the contact
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-

Example:

{
"method": "GET",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b?version=1.0.0&fields=NAME,PHONES",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T08:20:35.316Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 Bad authentication credentials. Bad request. Authentication credentials may be missing. * Missing endpoint version number.
403 Unauthorized. Your app has been removed from the site. Unauthorized. Insufficient permissions.
404 Contact not found, or site for instance-id and app-id does not exist. App is not found on site. * Endpoint version number does not exist.
408Timestamp expired on the request, please submit again with a new timestamp.

POST/contacts

Version 2.0.0 : Reconciles Contact information with that of the WixHive’s.

Use this when your app has information about a site visitor that may already be registered as a Contact as part of the WixHive. Your app should provide as much information as possible so that we will find the best match for that Contact and return it with the reconciled information. If no match was found, we will create a new Contact.

Depending on the type of information, we will either add or dismiss changes. When the information can be added to a list, such as emails or phones, a new item will be added if no similar item exists. When the information cannot be added we dismiss the change, such is the case with name, company and picture. If your wish is to override such data, there are explicit ways to do so using the Contact’s ID and our HTTP API.

Parameters:

NameData TypeParameter TypeDescription
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path. Latest version is 2.0.0
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
contactInfo (required)ObjectBodyThe Contact object to reconcile. Important: Include at least the email or phone number in your request - we need it to create/update the contact.
contactInfo.nameObjectBodyContact's name
contactInfo.name.prefixStringBodyName prefix 
contactInfo.name.firstStringBodyFirst name
contactInfo.name.middleStringBodyMiddle name
contactInfo.name.lastStringBodyLast name
contactInfo.name.suffixStringBodyName suffix
contactInfo.pictureStringBodyURL of the contact's photo
contactInfo.companyObjectBodyContact's company details
contactInfo.company.roleStringBodyContact's role in the company
contactInfo.company.nameStringBodyContact's company name
contactInfo.emailsArray[Objects]BodyContact's email addresses
contactInfo.emails.tagStringBodyTag for this email - home, work, etc
contactInfo.emails.emailStringBodyEmail address
contactInfo.emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’BodyThe subscription status of the current email
contactInfo.emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’BodyEmail delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
contactInfo.phonesArray[Objects]BodyContact's phone numbers
contactInfo.phones.tagStringBodyTag for this phone number - home, work, etc
contactInfo.phones.phoneStringBodyPhone number
contactInfo.addressesArray[Objects]BodyContact's addresses
contactInfo.addresses.tagStringBodyTag for this address - home, work, etc
contactInfo.addresses.addressStringBodyStreet address
contactInfo.addresses.neighborhoodStringBodyNeighborhood
contactInfo.addresses.cityStringBodyCity
contactInfo.addresses.regionStringBodyRegion, like a U.S state or a province in Canada
contactInfo.addresses.countryStringBodyCountry
contactInfo.addresses.postalCodeStringBodyPostal code
contactInfo.urlsArray[Objects]BodyURLs associated with the contact, like Facebook or LinkedIn
contactInfo.urls.tagStringBodyTag for this URL - personal, work, etc
contactInfo.urls.urlStringBodyThe URL
contactInfo.datesArray[Objects]BodyImportant dates for this Contact, like birthday
contactInfo.dates.tagStringBodyTag for this date - birthday, anniversary, etc
contactInfo.dates.dateDatetimeBodyThe date, as an ISO 8601 timestamp
contactInfo.notesArray[objects]BodyNotes associated with this contact
contactInfo.notescontent (required)StringBodyThe content of the note
contactInfo.customArray[objects]BodyCustom fields associated with this contact
contactInfo.custom.field (required)StringBodyThe name of the custom field
contactInfo.custom.value (required)StringBodyThe value of the custom field

Example:

{
"method": "POST",
"url": "https://openapi.wix.com/v1/contacts?version=2.0.0",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T08:24:27.078Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"emails": [
{
"tag": "work",
"email": "email@work.com",
"emailStatus": "recurring"
}
]
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
contactObjectThe reconciled Contact and its information
contact.idStringContact's ID
contact.nameObjectContact's name
contact.name.prefixStringName prefix
contact.name.firstStringFirst name
contact.name.middleStringMiddle name
contact.name.lastStringLast name
contact.name.suffixStringName suffix
contact.pictureStringURL of the contact's photo
contact.companyObjectContact's company details
contact.company.roleStringContact's role in the company
contact.company.nameStringContact's company name
contact.emailsArray[Objects]Contact's email addresses
contact.emails.idNumberID of this email within the array
contact.emails.tagStringTag for this email - home, work, etc
contact.emails.emailStringEmail address
contact.emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
contact.emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
contact.phonesArray[Objects]Contact's phone numbers
contact.phones.idNumberID of this phone number within the array
contact.phones.tagStringTag for this phone number - home, work, etc
contact.phones.phoneStringPhone number
contact.phones.normalizedPhoneStringNormalized phone number
contact.addressesArray[Objects]Contact's addresses
contact.addresses.idNumberID of this address within the array
contact.addresses.tagStringTag for this address - home, work, etc
contact.addresses.addressStringStreet address
contact.addresses.neighborhoodStringNeighborhood
contact.addresses.cityStringCity
contact.addresses.regionStringRegion, like a U.S state or a province in Canada
contact.addresses.countryStringCountry
contact.addresses.postalCodeStringPostal code
contact.urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
contact.urls.idNumberID of this URL within the array
contact.urls.tagStringTag for this URL - personal, work, etc
contact.urls.urlStringThe URL
contact.datesArray[Objects]Important dates for this Contact, like birthday
contact.dates.idNumberID of this date within the array
contact.dates.tagStringTag for this date - birthday, anniversary, etc
contact.dates.dateDatetimeThe date, as an ISO 8601 timestamp
contact.createdAtDateThe date this contact was created, as an ISO 8601 timestamp
contact.linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
contact.linkshrefStringThe href of the operation relevant to this resource
contact.linksrelStringThe relationship of this operation to the returned resource
contact.modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp
detailsObjectDetails about the reconciliation process
details.rejectedDataArray[objects]Contact information which was rejected during the reconciliation process
details.existingDataArray[objects]Contact information which was added by the WixHive
details.noteObjectNotes about the operation
details.note.returnedData'COMPLETE' or 'RESTRICTED'The level of details returned. Your app may receive RESTRICTED details when it does not have sufficient permissions.
details.note.requiredPermissionsForAllDataArray[string]The permissions missing for your app to receive complete information from the WixHive.

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
200Found match for Contact information which was supplied. Contact information was merged.
201No match found for Contact information supplied, new Contact created.
400 Contact data is malformed. Contact info must contain at least one phone, email or address. Bad authentication credentials. Bad request. Authentication credentials may be missing. * Missing endpoint version number.
403 Unauthorized. Your app has been removed from the site. Unauthorized. Insufficient permissions.
404 App is not found on site. Endpoint version number does not exist.
408Timestamp expired on the request, please submit again with a new timestamp.

POST/contacts/{contactId}/address

Adds a tag and address to a given Contact. Note: tags are not unique.

Parameters:

NameData TypeParameter TypeDescription
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp. Note: There may be times where another app makes an update to the same Contact. When that happens the modifiedAt value in our system will be updated and your app will have to re-fetch in order to sync. If your app tries to make an update using an outdated modifiedAt value it will receive an error.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
addressObjectBodyThe address to add to the contact
address.tag (required)StringBodyTag for this address - home, work, etc
address.addressStringBodyStreet address
address.neighborhoodStringBodyNeighborhood
address.cityStringBodyCity
address.regionStringBodyRegion, like a U.S state or a province in Canada
address.countryStringBodyCountry
address.postalCodeStringBodyPostal code

Example:

{
"method": "POST",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/address?version=1.0.0&modifiedAt=2017-03-26T08:51:41.425Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T08:54:46.991Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"tag": "work",
"address": "500 Terry A Francois",
"neighborhood": "Awesomeville",
"city": "San Francisco",
"region": "CA",
"country": "USA",
"postalCode": "94158"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 address information is malformed. modifiedAt is missing.
404 Contact not found. Site for instance-id and app-id does not exist.
409There was a conflict updating the current Contact. Please re-fetch the Contact to sync and get the most recent modifiedAt value, then try again.

POST/contacts/{contactId}/email

Adds a tag and email to a given Contact. Note: tags are not unique.

Parameters:

NameData TypeParameter TypeDescription
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp. Note: There may be times where another app makes an update to the same Contact. When that happens the modifiedAt value in our system will be updated and your app will have to re-fetch in order to sync. If your app tries to make an update using an outdated modifiedAt value it will receive an error.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
email (required)ObjectBodyThe email to add to the contact
email.tagStringBodyTag for this email - home, work, etc
email.email (required)StringBodyEmail address
email.emailStatus‘optOut’, ‘transactional’, ‘recurring’BodyThe subscription status of the current email
email.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’BodyEmail delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.

Example:

{
"method": "POST",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/email?version=1.0.0&modifiedAt=2017-03-26T09:20:12.749Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T09:22:20.191Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"tag": "home",
"email": "ceo@coolCompany.com",
"emailStatus": "recurring"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 email information is malformed. modifiedAt is missing
404Contact not found, or site for instance-id and app-id does not exist.
409There was a conflict updating the current contact. Please re-fetch the contact to sync and get the most recent modifiedAt value, then try again.

POST/contacts/{contactId}/phone

Adds a tag and phone number to a given Contact. Note: tags are not unique.

Parameters:

NameData TypeParameter TypeDescription
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp. Note: There may be times where another app makes an update to the same Contact. When that happens the modifiedAt value in our system will be updated and your app will have to re-fetch in order to sync. If your app tries to make an update using an outdated modifiedAt value it will receive an error.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
phone (required)ObjectBodyThe phone number to add to the contact
phone.tag (required)StringBodyTag for this phone number - home, work, etc
phone.phone (required)StringBodyThe contact's raw phone number

Example:

{
"method": "POST",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/phone?version=1.0.0&modifiedAt=2017-03-26T09:20:54.145Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T09:25:29.992Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"tag": "home",
"phone": "+146257182"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 phone number information is malformed. modifiedAt is missing.
404* Contact not found, or site for instance-id and app-id does not exist.
409There was a conflict updating the current Contact. Please re-fetch the Contact to sync and get the most recent modifiedAt value, then try again.

POST/contacts/{contactId}/url

Adds a tag and url to a given Contact. Note: tags are not unique.

Parameters:

NameData TypeParameter TypeDescription
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp. Note: There may be times where another app makes an update to the same Contact. When that happens the modifiedAt value in our system will be updated and your app will have to re-fetch in order to sync. If your app tries to make an update using an outdated modifiedAt value it will receive an error.
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
url (required)ObjectBodyThe URL to add to the contact
url.tagStringBodyTag for this URL - personal, work, etc
url.urlStringBodyThe URL

Example:

{
"method": "POST",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/url?version=1.0.0&modifiedAt=2017-03-26T09:25:30.092Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T09:26:50.576Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"tag": "home",
"url": "http://google.com"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 url information is malformed. modifiedAt is missing.
404Contact not found, or site for instance-id and app-id does not exist.
409There was a conflict updating the current Contact. Please re-fetch the Contact to sync and get the most recent modifiedAt value, then try again.

POST/contacts/{contactId}/date

Adds a tag and date to a given Contact. Note: tags are not unique.

Parameters:

NameData TypeParameter TypeDescription
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp. Note: There may be times where another app makes an update to the same Contact. When that happens the modifiedAt value in our system will be updated and your app will have to re-fetch in order to sync. If your app tries to make an update using an outdated modifiedAt value it will receive an error.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
date (required)ObjectBodyThe date to add to the contact
date.tagStringBodyTag for this date - birthday, anniversary, etc
date.date (required)DatetimeBodyThe date, as an ISO 8601 timestamp

Example:

{
"method": "POST",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/date?version=1.0.0&modifiedAt=2017-03-26T09:26:50.687Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T09:28:27.990Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"tag": "home",
"date": "2017-03-26T09:25:30.092Z"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 date information is malformed. modifiedAt is missing.
404Contact not found, or site for instance-id and app-id does not exist.
409There was a conflict updating the current contact. Please re-fetch the cntact to sync and get the most recent modifiedAt value, then try again.

PUT/contacts/{contactId}/name

Edits name information for the given contact.

Parameters:

NameData TypeParameter TypeDescription
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp. Note: There may be times where another app makes an update to the same Contact. When that happens the modifiedAt value in our system will be updated and your app will have to re-fetch in order to sync. If your app tries to make an update using an outdated modifiedAt value it will receive an error.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
name (required)ObjectBodyThe edited name information
name.prefixStringBodyName prefix 
name.firstStringBodyFirst name
name.middleStringBodyMiddle name
name.lastStringBodyLast name
name.suffixStringBodyName suffix

Example:

{
"method": "PUT",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/name?version=1.0.0&modifiedAt=2017-03-26T09:28:28.060Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T09:30:52.331Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"prefix": "Prof",
"first": "Henry",
"last": "Collins"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 name information is malformed. modifiedAt is missing.
404Contact not found, or site for instance-id and app-id does not exist.
409There was a conflict updating the current contact. Please re-fetch the cntact to sync and get the most recent modifiedAt value, then try again.

PUT/contacts/{contactId}/company

Edits company information for the given contact.

Parameters:

NameData TypeParameter TypeDescription
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
company (required)ObjectBodyThe edited company information
company.roleStringBodyContact's role in the company
company.nameStringBodyContact's company name

Example:

{
"method": "PUT",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/company?version=1.0.0&modifiedAt=2017-03-26T09:30:52.464Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T09:32:23.622Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"role": "CEO",
"name": "Coolness"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 company information is malformed. modifiedAt is missing.
404Contact not found, or site for instance-id and app-id does not exist.
409There was a conflict updating the current contact. Please re-fetch the cntact to sync and get the most recent modifiedAt value, then try again.

PUT/contacts/{contactId}/address/{addressId}

Edits address information for the given Contact. Note: tags are not unique.

Parameters:

NameData TypeParameter TypeDescription
addressId (required)StringPathID of this address within the array
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp. Note: There may be times where another app makes an update to the same Contact. When that happens the modifiedAt value in our system will be updated and your app will have to re-fetch in order to sync. If your app tries to make an update using an outdated modifiedAt value it will receive an error.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
address (required)ObjectThe edited address information
address.tagStringBodyTag for this address - home, work, etc
address.addressStringBodyStreet address
address.neighborhoodStringBodyNeighborhood
address.cityStringBodyCity
address.regionStringBodyRegion, like a U.S state or a province in Canada
address.countryStringBodyCountry
address.postalCodeStringBodyPostal code

Example:

{
"method": "PUT",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/address/1?version=1.0.0&modifiedAt=2017-03-26T09:32:23.684Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T12:57:00.343Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"tag": "Wix NYC Lounge",
"address": "235 W 23rd St",
"neighborhood": "Wixville",
"city": "NYC",
"region": "NY",
"country": "USA",
"postalCode": "10011"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 address information is malformed. address id is not found. * modifiedAt is missing.
404Contact not found, or site for instance-id and app-id does not exist.
409There was a conflict updating the current contact. Please re-fetch the cntact to sync and get the most recent modifiedAt value, then try again.

PUT/contacts/{contactId}/email/{emailId}

Edits email information for the given Contact. Note: tags are not unique.

Parameters:

NameData TypeParameter TypeDescription
emailId (required)StringPathID of the email to edit
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp. Note: There may be times where another app makes an update to the same Contact. When that happens the modifiedAt value in our system will be updated and your app will have to re-fetch in order to sync. If your app tries to make an update using an outdated modifiedAt value it will receive an error.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
email (required)ObjectBodyContact's email address
email.tagStringBodyTag for this email - home, work, etc
email.email (required)StringBodyEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’BodyThe subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’BodyEmail delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.

Example:

{
"method": "PUT",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/email/1?version=1.0.0&modifiedAt=2017-03-26T12:59:07.487Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T12:59:57.468Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"tag": "home",
"email": "ceo@coolCompany.com",
"emailStatus": "recurring"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 email information is malformed. email id not found. * modifiedAt is missing.
404Contact not found, or site for instance-id and app-id does not exist.
409There was a conflict updating the current contact. Please re-fetch the cntact to sync and get the most recent modifiedAt value, then try again.

PUT/contacts/{contactId}/phone/{phoneId}

Edits phone number information for the given Contact. Note: tags are not unique.

Parameters:

NameData TypeParameter TypeDescription
phoneId (required)StringPathID of the phone number to edit
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp. Note: There may be times where another app makes an update to the same Contact. When that happens the modifiedAt value in our system will be updated and your app will have to re-fetch in order to sync. If your app tries to make an update using an outdated modifiedAt value it will receive an error.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
phone (required)ObjectBodyThe edited phone number information
phone.tag (required)StringBodyTag for this phone number - home, work, etc
phone.phone (required)StringBodyPhone number

Example:

{
"method": "PUT",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/phone/1?version=1.0.0&modifiedAt=2017-03-26T12:59:57.549Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T13:01:21.832Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"tag": "home",
"phone": "+146257182"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 phone number information is malformed. phone number id not found. * modifiedAt is missing.
404Contact not found, or site for instance-id and app-id does not exist.
409There was a conflict updating the current contact. Please re-fetch the contact to sync and get the most recent modifiedAt value, then try again.

PUT/contacts/{contactId}/url/{urlId}

Edits url information for the given Contact. Note: tags are not unique.

Parameters:

NameData TypeParameter TypeDescription
urlId (required)StringPathID of the URL to edit
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp. Note: There may be times where another app makes an update to the same Contact. When that happens the modifiedAt value in our system will be updated and your app will have to re-fetch in order to sync. If your app tries to make an update using an outdated modifiedAt value it will receive an error.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
url (required)ObjectBodyThe edited url information
url.tag (required)StringBodyTag for this URL - personal, work, etc
url.url (required)StringBodyThe URL

Example:

{
"method": "PUT",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/url/1?version=1.0.0&modifiedAt=2017-03-26T13:01:23.155Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T13:02:46.149Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"tag": "home",
"url": "http://google.com"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 url information is malformed. url id not found. * modifiedAt is missing.
404Contact not found, or site for instance-id and app-id does not exist.
409There was a conflict updating the current contact. Please re-fetch the contact to sync and get the most recent modifiedAt value, then try again.

PUT/contacts/{contactId}/date/{dateId}

Edits date information for the given Contact. Note: tags are not unique.

Parameters:

NameData TypeParameter TypeDescription
dateId (required)StringPathID of the date to edit
contactId (required)StringPathID of the contact to edit
modifiedAt (required)TimestampQueryThe modification time of the Contact as received from Wix, as an ISO 8601 timestamp. Note: There may be times where another app makes an update to the same Contact. When that happens the modifiedAt value in our system will be updated and your app will have to re-fetch in order to sync. If your app tries to make an update using an outdated modifiedAt value it will receive an error.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
date (required)ObjectBodyThe edited date information
dates.tag (required)StringBodyTag for this date - birthday, anniversary, etc
dates.date (required)DatetimeBodyThe date, as an ISO 8601 timestamp

Example:

{
"method": "PUT",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/date/1?version=1.0.0&modifiedAt=2017-03-26T13:02:46.224Z",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T13:09:01.583Z",
"x-wix-signature": "MTQ2MmE0_QxNy1lMmExLWM5NWItM2Q2MzhkOTI2OTA0"
},
"json": true,
"body": {
"tag": "home",
"date": "2017-03-26T13:02:46.224Z"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringContact's ID
nameObjectContact's name
name.prefixStringName prefix 
name.firstStringFirst name
name.middleStringMiddle name
name.lastStringLast name
name.suffixStringName suffix
pictureStringURL of the contact's photo
companyObjectContact's company details
company.roleStringContact's role in the company
company.nameStringContact's company name
emailsArray[Objects]Contact's email addresses
emails.idNumberID of this email within the array
emails.tagStringTag for this email - home, work, etc
emails.emailStringEmail address
emails.emailStatus‘optOut’, ‘transactional’, ‘recurring’The subscription status of the current email
emails.deliveryStatus‘valid’, ‘spam’, ‘complaint’, ‘rejected’, ‘deferral’, ‘bounce’Email delivery status: valid: When emails are delivered successfully. spam: When emails are marked as spam by the recipient. complaint: When the recipient of the email has made a complaint to the email provider. rejected: When the email is rejected by email provider. deferral: When your email provider refuses to send emails. bounce: When the mailbox is full, email address doesn't exist, etc.
phonesArray[Objects]Contact's phone numbers
phones.idNumberID of this phone number within the array
phones.tagStringTag for this phone number - home, work, etc
phones.phoneStringPhone number
phones.normalizedPhoneStringNormalized phone number
addressesArray[Objects]Contact's addresses
addresses.idNumberID of this address within the array
addresses.tagStringTag for this address - home, work, etc
addresses.addressStringStreet address
addresses.neighborhoodStringNeighborhood
addresses.cityStringCity
addresses.regionStringRegion, like a U.S state or a province in Canada
addresses.countryStringCountry
addresses.postalCodeStringPostal code
urlsArray[Objects]URLs associated with the contact, like Facebook or LinkedIn
urls.idNumberID of this URL within the array
urls.tagStringTag for this URL - personal, work, etc
urls.urlStringThe URL
datesArray[Objects]Important dates for this Contact, like birthday
dates.idNumberID of this date within the array
dates.tagStringTag for this date - birthday, anniversary, etc
dates.dateDatetimeThe date, as an ISO 8601 timestamp
createdAtDateThe date this contact was created, as an ISO 8601 timestamp
linksArray[Objects]An array of HATEOAS links to operations applicable to the Contact resource
links.hrefStringThe href of the operation relevant to this resource
links.relStringThe relationship of this operation to the returned resource
modifiedAtTimestampDate and time this contact was modified, as an ISO 8601 timestamp

Errors:

Here’s a list of possible errors and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 date information is malformed. date id not found. * modifiedAt is missing.
404Contact not found, or site for instance-id and app-id does not exist.
409There was a conflict updating the current contact. Please re-fetch the contact to sync and get the most recent modifiedAt value, then try again.

Was this helpful?

Activities

Note:
Before using these API endpoints, learn more about how to use WixHive activities in your app.

GET/activities

Activities will be returned in descending order from the most recent Activity. The Activities by default are for the site the application is installed on, determined by the application-id and instance-id parameters/headers. Optionally results can be restricted to activities created by the current application. Results are returned in cursored form, and can be filtered by date ranges.

Parameters:

NameData TypeParameter TypeDescription
activityTypesStringQueryThe activity types to filter against. Multiple activity types are seperated by a comma
untilDatetimeQueryThe ending date for activities we want to return, as an ISO 8601 timestamp. This field is only relevant when a cursor is not present.
fromDatetimeQueryThe beginning date for activities we want to return, as an ISO 8601 timestamp. This field is only relevant when a cursor is not present.
scope'site', 'app'QueryThe scope of the results to return, either for the entire site or limited to the current application. By default, all activities for the site will be returned
cursorStringQueryThe semi-optional cursor into the desired data. This cursor will expire after 30 minutes, it should not be cached.
pageSizeInteger (1-500)QueryThe number of results to return per page of data. Defaults to 25.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/ HeaderThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/ HeaderThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/ HeaderThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/ HeaderThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-

Example:

{
"method": "GET",
"url": "https://openapi.wix.com/v1/activities?version=1.0.0&activityTypes=form/contact-form&until=2017-03-26T13:48:42.220Z&pageSize=10",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T13:53:15.106Z",
"x-wix-signature": "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMT12"
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
pageSizeInteger (1-500)Number of results returned per cursor
previousCursorStringThe cursor used to access the previous set of activities. null will be returned if there are no previous results
nextCursorStringThe cursor used to access the next set of activities. null will be returned if there are no more results
resultsArray[Object]Array of Activity items
results.idStringActivity ID
results.createdAtDatetimeTimestamp indicating when this activity was created, as an ISO 8601 timestamp
results.activityTypeString (see list of activity types)Type of activity performed
results.activityLocationUrlStringURL where the activity was performed
results.activityDetailsObjectRelevant information about this activity to display in the Dashboard
results.activityDetails.additionalInfoUrlStringURL linking to more specific contextual information about the activity for use in the Dashboard
results.activityDetails.summaryStringA short description about the activity for use in the Dashboard
results.activityInfoObjectActivity specific information related to this type of activity. This field must adhere to the schema specified by the activity type.

Errors:

Here’s a list of possible error codes and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 Bad request. 'from' and 'until' fields are only valid when a cursor is not present. Bad request. Unknown scope parameter value. Invalid pageSize. Valid values are 25, 50 or 100. Invalid or missing cursor. Bad authentication credentials. Bad request. Authentication credentials may be missing. * Missing endpoint version number.
403 Unauthorized. Your app has been removed from the site. Unauthorized. Insufficient permissions.
404 Activity Type not found. App is not found on site. * Endpoint version number does not exist.
408Timestamp expired on the request, please submit again with a new timestamp.
410Cursor expired. The cursor is no longer valid. Please query again.

GET/activities/{activityId}

Returns an activity referenced by its ID, only relevant for the given site determined by the application-id and instance-id parameters/headers.

NameData TypeParameter TypeDescription
activityId (required)StringPathThe activity to get
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/ HeaderThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/ HeaderThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/ HeaderThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/ HeaderThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-

Example:

{
"method": "GET",
"url": "https://openapi.wix.com/v1/activities/6cbefa98-0345-4f2b-8bb4-a480d3f5008a?version=1.0.0",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T13:59:10.254Z",
"x-wix-signature": "gMQmr3dQcB1knjd7si5dCEHubWOvEus0PtED3Vida90="
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
idStringActivity ID
createdAtDatetimeTimestamp indicating when this activity was created, as an ISO 8601 timestamp
activityTypeString (see list of activity types)Type of activity performed
activityLocationUrlStringURL where the activity was performed
activityDetailsObjectRelevant information about this activity to display in the Dashboard
activityDetails.additionalInfoUrlStringURL linking to more specific contextual information about the activity for use in the Dashboard
activityDetails.summaryStringA short description about the activity for use in the Dashboard
activityInfoObjectActivity specific information related to this type of activity. This field must adhere to the schema specified by the activity type.

Errors:

Here’s a list of possible error codes and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 Bad authentication credentials. Bad request. Authentication credentials may be missing. * Missing endpoint version number.
403 Unauthorized. Your app has been removed from the site. Unauthorized. Insufficient permissions.
404 Activity not found, or site for instance-id and app-id does not exist. App is not found on site. * Endpoint version number does not exist.
408Timestamp expired on the request, please submit again with a new timestamp.

GET/activities/types

Returns a list of Activity types that are currently supported by Wix. Each Activity type has an associated schema that data must conform to when posting Activities to Wix.

Parameters:

NameData TypeParameter TypeDescription
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-

Example:

{
"method": "GET",
"url": "https://openapi.wix.com/v1/activities/types?version=1.0.0",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T14:00:30.160Z",
"x-wix-signature": "ieCPqR-O6jrLOI6wjc5Ud-uE-6hye3UU0z9hsVtZlSE="
}
}
JSON | Copy Code

Response:

NameTypeDescription
typesArray[String]An array of activity types currently supported by Wix

Activity types:

{
"types": [
"contacts/create",
"e_commerce/cart-abandon",
"e_commerce/cart-add",
"e_commerce/cart-checkout",
"e_commerce/cart-remove",
"e_commerce/purchase",
"events/rsvp",
"form/contact-form",
"form/form",
"form/subscription-form",
"hotels/cancel",
"hotels/confirmation",
"hotels/purchase",
"hotels/purchase-failed",
"hotels/reservation",
"messaging/im",
"music/album-fan",
"music/album-played",
"music/album-share",
"music/track-lyrics",
"music/track-play",
"music/track-played",
"music/track-share",
"music/track-skip",
"scheduler/appointment",
"scheduler/cancel",
"scheduler/confirmation",
"social/comment",
"social/share-url",
"social/track",
]
}
JSON | Copy Code

Errors:

Here’s a list of possible error codes and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 Bad authentication credentials. Bad request. Authentication credentials may be missing. * Missing endpoint version number.
403 Unauthorized. Your app has been removed from the site. Unauthorized. Insufficient permissions.
404 App is not found on site. Endpoint version number does not exist.
408Timestamp expired on the request, please submit again with a new timestamp.
410Cursor expired. The cursor is no longer valid. Please query again.

GET/contacts/{contactId}/activities

Returns the activity stream for a given contact, referenced by the contact’s unique ID. Activities will be returned in descending order from the most recent activity, in cursored form, and can be filtered by date ranges.

Parameters:

NameData TypeParameter TypeDescription
contactId (required)StringPathID of the contact's stream to fetch
activityTypesString (see list of activity types)QueryThe activity types to filter against. Multiple activity types are separated by a comma.
untilDatetimeQueryThe ending date for activities we want to return, as an ISO 8601 timestamp. This field is only relevant when a cursor is not present.
fromDatetimeQueryThe beginning date for activities we want to return, as an ISO 8601 timestamp. This field is only relevant when a cursor is not present
scope'site', 'app'QueryThe scope of the results to return, either for the entire site or limited to the current application. By default, all activities for the site will be returned
cursorStringQueryThe semi-optional cursor into the desired data. This cursor will expire after 30 minutes, it should not be cached.
pageSizeInteger (1-500)QueryThe number of results to return per page of data. Defaults to 25.
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-

Example:

{
"method": "GET",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/activities?version=1.0.0",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T14:01:51.914Z",
"x-wix-signature": "EBB0T_9rEyKRBys5eCaQRhO8Q6yriSIYifj0UKvy464="
}
}
JSON | Copy Code

Response:

Here’s the full list of fields that can be part of the response.

The fields you’ll actually receive depend on the information you request and what we have in the system.

NameTypeDescription
pageSizeInteger (1-500)Number of results returned per cursor
previousCursorStringThe cursor used to access the previous set of activities. null will be returned if there are no previous results
nextCursorStringThe cursor used to access the next set of activities. null will be returned if there are no more results
resultsArray[Object]Array of Activity items
results.idStringActivity ID
results.createdAtDatetimeTimestamp indicating when this activity was created, as an ISO 8601 timestamp
results.activityTypeString (see list of activity types)Type of activity performed
results.activityLocationUrlStringURL where the activity was performed
results.activityDetailsObjectRelevant information about this activity to display in the Dashboard
results.activityDetails.additionalInfoUrlStringURL linking to more specific contextual information about the activity for use in the Dashboard
results.activityDetails.summaryStringA short description about the activity for use in the Dashboard
results.activityInfoObjectActivity specific information related to this type of activity. This field must adhere to the schema specified by the activity type.

Errors:

Here’s a list of possible error codes and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 Bad request. 'from' and 'until' fields are only valid when a cursor is not present. Bad request. Unknown scope parameter value. Invalid pageSize. Valid values are 25, 50 or 100. Invalid or missing cursor. Bad authentication credentials. Bad request. Authentication credentials may be missing. * Missing endpoint version number.
403 Unauthorized. Your app has been removed from the site. Unauthorized. Insufficient permissions.
404 Contact not found. Activity Type not found. App is not found on site. Endpoint version number does not exist.
408Timestamp expired on the request, please submit again with a new timestamp.
410Cursor expired. The cursor is no longer valid. Please query again.

POST/contacts/{contactId}/activities

This endpoint creates an activity of a given activity type, adding the activity directly to the specific contact. These activity objects are then viewable in the site owner’s dashboard. Each activity conforms to a specific schema predefined by Wix. When the activity is successfully created, the ID of the activity will be returned. If schema validation fails, or other errors occur, an error will be returned by this endpoint.

Parameters:

NameData TypeParameter TypeDescription
contactId (required)StringPathID of the contact to edit
version (required)IntegerQueryThe specific version of this endpoint. This version uses semantic versioning, in the form of major.minor.path
application-id (required)StringQuery/headerThe application definition ID. If sent through the header, this field must be prefixed with x-wix-
instance-id (required)StringQuery/headerThe instance ID used for security validation with Wix. If sent through the header, this field must be prefixed with x-wix-
signature (required)StringQuery/headerThe computed signature. If sent through the header, this field must be prefixed with x-wix-
timestamp (required)DatetimeQuery/headerThe timestamp as an ISO 8601 timestamp. If sent through the header, this field must be prefixed with x-wix-
activity (required)ObjectBodyThe activity to create
activity.createdAt (required)DatetimeBodyTimestamp indicating when this activity was created, as an ISO 8601 timestamp
activity.activityType (required)String (see list of activity types)BodyType of activity performed
activity.activityLocationUrlStringBodyURL where the activity was performed
activity.activityDetailsObjectBodyRelevant information about this activity to display in the Dashboard
activity.activityDetails.additionalInfoUrl (required)StringBodyURL linking to more specific contextual information about the activity for use in the Dashboard
activity.activityDetails.summary (required)StringBodyA short description about the activity for use in the Dashboard
activity.activityInfo (required)ObjectBodyActivity specific information related to this type of activity. This field must adhere to the schema specified by the activity type.

Example:

{
"method": "POST",
"url": "https://openapi.wix.com/v1/contacts/0126c839-2344-47d6-b219-1441b30d1a8b/activities?version=1.0.0",
"headers": {
"x-wix-application-id": "1462a46b-d417-e2a1-c95b-3d638d926904",
"x-wix-instance-id": "dbb179ed-7ffd-4c21-951b-c38ab7d1c45b",
"x-wix-timestamp": "2017-03-26T14:09:09.668Z",
"x-wix-signature": "qklWQibm57XNToJlLZkPwhZJZ6NbUHgMkzezZKbDeIA="
},
"json": true,
"body": {
"createdAt": "2017-03-26T14:01:51.914Z",
"activityType": "hotels/cancel",
"activityLocationUrl": "http://google.com",
"activityInfo": {
"cancelDate": "2017-03-26T14:07:33.734Z",
"refund": {
"kind": "FULL",
"total": 100,
"currency": "USD",
"notes": "too expensive",
"destination": "Tel Aviv"
},
"reservationId": "455",
"guests": {
"total": 1,
"adults": 1,
"children": 0
},
"stay": {
"checkin": "2017-03-26T14:06:07.334Z",
"checkout": "2017-03-26T14:07:33.734Z"
},
"rates": [
{
"date": "2017-03-26T14:06:07.334Z",
"subtotal": 22.4,
"taxes": [
{
"name": "stuff",
"total": 0.6,
"currency": "USD"
}
],
"total": 30,
"currency": "USD"
}
],
"invoice": {
"subtotal": 20,
"total": 30,
"currency": "UDS"
},
"customer": {
"contactId": "123",
"isGuest": true,
"name": {
"prefix": "Mr",
"first": "Kanye",
"middle": "k",
"last": "West",
"suffix": "The king"
},
"phone": "1234567",
"email": "email@email.com"
},
"rooms": [
{
"id": "single123",
"beds": [
{
"kind": "king"
}
],
"maxOccupancy": 3,
"amenities": [
"air conditioning",
"wifi",
"cable",
"goats"
]
}
]
}
}
}
JSON | Copy Code

Response:

NameTypeDescription
activityIdStringActivity ID
contactIdStringContact ID

Errors:

Here’s a list of possible error codes and when they occur. Read more about our API errors.

HTTP Status CodeReason/Error Message
400 Activity is missing required information. Bad authentication credentials. Bad request. Authentication credentials may be missing. Missing endpoint version number.
403 Unauthorized. Your app has been removed from the site. Unauthorized. Insufficient permissions.
404 Contact not found. App is not found on site. * Endpoint version number does not exist.
408Timestamp expired on the request, please submit again with a new timestamp.

Was this helpful?

)}