Skip to content
Last updated

Using the Sandbox

The Xenia Connect API provides a sandbox environment for testing your integration without affecting production data. The sandbox environment includes special endpoints that allow you to simulate state changes and trigger webhook events for testing purposes.

Sandbox Environment

  • Base URL: https://api-xenia-cisandbox.staysitu.com
  • Authentication: Use your sandbox API key (same authentication method as production)

Sandbox-Specific Endpoints

The sandbox environment provides two special endpoints under the /external-api/v1/sandbox path that are not available in production. These endpoints are designed to help you test your integration thoroughly.

1. Change Enquiry State

Endpoint: POST /external-api/v1/sandbox/enquiries/{id}/change-state

This endpoint allows you to programmatically change the state of an enquiry to trigger relevant webhook events and test your integration's handling of different enquiry states.

Key Features

  • Progressive State Changes: You cannot move backwards in states, only forward
  • Cascading State Triggers: Specifying a later state (e.g., QUOTED) will automatically trigger all eligible intermediate states (e.g., SHORTLISTING then QUOTED)
  • Exception States: Some states like CLOSED can occur at any point in the journey

Request Parameters

  • Path Parameter:

    • id (required): Can be either the enquiry's xeniaReference or your externalId
  • Request Body:

    {
      "enquiryState": "QUOTED",
      "closureReason": "PRICE"  // Optional, only for CLOSED state
    }

For all available states, please refer to the API specification.

Example Usage

curl -X POST "https://api-xenia-cisandbox.staysitu.com/external-api/v1/sandbox/enquiries/R4E2F3A4/change-state" \
  -H "X-Api-Key: your-sandbox-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "enquiryState": "CLOSED",
    "closureReason": "PRICE"
  }'

2. Trigger Webhook Event

Endpoint: POST /external-api/v1/sandbox/enquiries/{id}/trigger-webhook-event

This endpoint allows you to manually trigger specific webhook events for an enquiry without changing its state. This is particularly useful for testing webhook handling and retry logic.

Request Parameters

  • Path Parameter:

    • id (required): Can be either the enquiry's xeniaReference or your externalId
  • Request Body:

    {
      "eventType": "ENQUIRY.CREATED"
    }

For all available webhook event types, please refer to the API specification.

Example Usage

curl -X POST "https://api-xenia-cisandbox.staysitu.com/external-api/v1/sandbox/enquiries/R4E2F3A4/trigger-webhook-event" \
  -H "X-Api-Key: your-sandbox-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "eventType": "ENQUIRY.CREATED"
  }'