Download OpenAPI specification:
The Twipla 3AS approach relies on a straightforward flow of data that can be easily integrated into any backend system.
intpId (that can be used to create tokens) and a default set of packagesMost endpoints that deal with customers or websites support an external ID which can be provided and then used for all following requests.
For example creating a new customer with a website requires an intpCustomerId and an intpWebsiteId.
These must be provided by the INTP and are intended to make integrations easier because there is no need to save any external IDs.
Then when getting data about a customer the request is done using the same intpCustomerId provided on creation.
Example implementation flow
jwtRS256.key.pub) to the TWIPLA Dev TeamAll authentication is done based on JWT Tokens. These are created and signed by the INTP and validated by the TWIPLA API for each request using the public key provided in the on-boarding.
The token must be sent with every request as a Bearer token in the Authentication header Example:
Authentication: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c
JWT tokens can be easily created in most programming languages using an appropriate library from jwt.io
INTP Token: Integration partner token used for endpoints that deal with modifying customers or websites
INTPC Token: Integration partner customer token used to give access to the dashboard and data of a particular customer
ssh-keygen -t rsa -b 2048 -m PEM -f jwtRS256.keyopenssl rsa -in jwtRS256.key -pubout -outform PEM -out jwtRS256.key.pub{
"alg": "RS256",
"typ": "JWT",
"kid": "UUID" // the id issued by TWIPLA for an INTP, in exchange for `jwtRS256.key.pub`
}
{
"roles": [
"intp"
],
"intp_id": "UUID" // the id issued by TWIPLA for an INTP, in exchange for `jwtRS256.key.pub`
"exp": 1667215913, // expires at
"iat": 1667215313 // issued at
}
To create the signature, you have to use the encoded header, the encoded payload, the generated private key and the algorithm specified in the header (e.g., "RS256").
{
"alg": "RS256",
"typ": "JWT",
"kid": "UUID" // the id issued by TWIPLA for an INTP, in exchange for `jwtRS256.key.pub`
}
{
"roles": [
"intpc"
],
"intp_id": "UUID" // the id issued by TWIPLA for an INTP, in exchange for `jwtRS256.key.pub`
"intpc_id": "string" // the id issued by the INTP for a customer (INTPC)
"exp": 1667215913,
"iat": 1667215313
}
To create the signature, you have to use the encoded header, the encoded payload, the generated private key and the algorithm specified in the header (e.g., "RS256").
https://app-3as.visitor-analytics.io/?intpc_token=intpc_jwt_token&externalWebsiteId=intpWebsiteId
The TWIPLA API key system operates on a per-website basis. Each website can have multiple API keys. API keys are used to:
The API Key can be used to create a short-lived dashboard token which can be used to login the user into the TWIPLA dashboard safely without exposing the API Key client-side.
After the website and API key have been successfully created and securely stored server-side, follow these steps to access the TWIPLA dashboard.
Step 1 — Login via API Key
Call the Login via API Key endpoint. A successful response returns a set of access tokens required to build the dashboard URL and verify the user's identity.
Step 2 — Build the Dashboard URL
Using the refreshToken from the login response, construct the dashboard URL in the following format:
https://app-3as.visitor-analytics.io?websiteToken={refreshToken}
The TWIPLA API can be accessed using the X-API-Key request header. Exposed endpoints only provide access to data for the connected website with read-only capabilities.
This method is safe as long as the connection uses HTTPS and the API key is stored server-side and not exposed in client-side code.
Request Header:
{ "X-Api-Key": "twpl-bFHhQukkcKA9omBqRukM" }
Relevant API Endpoints for Website Analytics:
| Endpoint | Description |
|---|---|
| Raw Sessions | Retrieves a comprehensive list of visitor sessions with advanced filtering, sorting, and dimension selection capabilities. |
| Session Analytics | Ideal for advanced analytics and reporting dashboards, allowing full control over which dimensions and metrics are returned, and how data is aggregated and compared over time. |
Additional endpoints are available depending on future requirements.
The API Key can be rotated using the endpoints in 3 steps:
Generate an API key to grant access to a specific website.
| intpWebsiteId required | string ID of the website within the integration partner’s system |
| name required | string A name for the API key. |
| comment | string An optional comment or note about the API key. |
| expiresAt | string <date-time> The date and time when the API key will expire. If not specified, the key will have no expiration. |
object |
{- "name": "string",
- "comment": "string",
- "expiresAt": "2026-08-22T08:14:03+00:00"
}{- "payload": {
- "apiKey": "twpl-bFHhQukkcKA9omBqRukM",
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "name": "string",
- "comment": "string",
- "expiresAt": "2026-08-22T08:14:03+00:00",
- "createdAt": "2026-08-22T08:14:03+00:00",
- "intpWebsiteId": "string",
- "intpCustomerId": "string"
}
}| intpWebsiteId required | string ID of the website within the integration partner’s system |
Array of objects |
{- "payload": [
- {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "name": "string",
- "comment": "string",
- "expiresAt": "2026-08-22T08:14:03+00:00",
- "createdAt": "2026-08-22T08:14:03+00:00",
- "intpWebsiteId": "string",
- "intpCustomerId": "string"
}
]
}Deletes an existing API key. Once an API key is deleted, it becomes permanently invalid and cannot be used for authentication or accessing the API. Use this operation to revoke access for security or management purposes.
| intpWebsiteId required | string ID of the website within the integration partner’s system |
| apiKeyId required | string ID of the API key |
{- "error": "string"
}Generate short-lived access tokens which can be used to login the user into the TWIPLA dashboard safely without exposing the API Key client-side.
| apiKey required | string The API key generated by twipla |
| websiteId required | string <uuid> TWIPLA websiteId, returned at website creation as id |
object |
{- "apiKey": "twpl-bFHhQukkcKA9omBqRukM",
- "websiteId": "eee0b185-ac19-4fd6-bb45-58b59a8988e9"
}{- "payload": {
- "token": "string",
- "refreshToken": "string"
}
}An INTP can operate under two subscription models: website-based or account-based.
Use these endpoints if your company:
Increase the number of credits for a specific website. The upgrade takes effect immediately, and the billing cycle and credit consumption resets.
Note: This endpoint should be used only if your company is responsible for managing billing. Otherwise, the subscription will be managed directly by the user through the dashboard.
| intpWebsiteId required | string (intpWebsiteId) ID of the website within the integration partner’s system |
| packageId required | string <uuid> (packageId) Package ID issued by TWIPLA |
| trial | boolean Default: false |
| proRate | boolean Default: false |
object (Subscription) |
{- "intpWebsiteId": "string",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "trial": false,
- "proRate": false
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "websiteId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpcId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "createdAt": "2023-08-22T08:14:03+00:00",
- "billingInterval": "monthly",
- "type": "aaas",
- "inTrial": true,
- "hadTrial": true,
- "plannedDowngradePackageId": "7128840a-5347-49a4-8dfa-9022d8dad21a"
}
}Plan a subscription downgrade for a website; it will automatically apply when the current billing period ends.
This endpoint should be used only if your company is responsible for managing billing. Otherwise, the subscription will be managed directly by the user through the dashboard.
| intpWebsiteId required | string (intpWebsiteId) ID of the website within the integration partner’s system |
| packageId required | string <uuid> (packageId) Package ID issued by TWIPLA |
object (Subscription) |
{- "intpWebsiteId": "string",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc"
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "websiteId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpcId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "createdAt": "2023-08-22T08:14:03+00:00",
- "billingInterval": "monthly",
- "type": "aaas",
- "inTrial": true,
- "hadTrial": true,
- "plannedDowngradePackageId": "7128840a-5347-49a4-8dfa-9022d8dad21a"
}
}Schedule subscription cancellation for the end of the current billing cycle. The website will then revert to the free plan. Cancellation can be reversed by resuming the subscription until it takes effect. Note: This endpoint should be used only if your company is responsible for managing billing. Otherwise, the subscription will be managed directly by the user through the dashboard.
| intpWebsiteId required | string (intpWebsiteId) ID of the website within the integration partner’s system |
object (Subscription) |
{- "intpWebsiteId": "string"
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "websiteId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpcId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "createdAt": "2023-08-22T08:14:03+00:00",
- "billingInterval": "monthly",
- "type": "aaas",
- "inTrial": true,
- "hadTrial": true,
- "plannedDowngradePackageId": "7128840a-5347-49a4-8dfa-9022d8dad21a"
}
}Resume a canceled subscription. This can be done until the cancellation takes effect, and the action applies immediately.
Note: This endpoint should be used only if your company is responsible for managing billing. Otherwise, the subscription will be managed directly by the user through the dashboard.
| intpWebsiteId required | string (intpWebsiteId) ID of the website within the integration partner’s system |
object (Subscription) |
{- "intpWebsiteId": "string"
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "websiteId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpcId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "createdAt": "2023-08-22T08:14:03+00:00",
- "billingInterval": "monthly",
- "type": "aaas",
- "inTrial": true,
- "hadTrial": true,
- "plannedDowngradePackageId": "7128840a-5347-49a4-8dfa-9022d8dad21a"
}
}Deactivate the subscription; the website will also be deleted.
| intpWebsiteId required | string (intpWebsiteId) ID of the website within the integration partner’s system |
object (Subscription) |
{- "intpWebsiteId": "string"
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "websiteId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpcId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "createdAt": "2023-08-22T08:14:03+00:00",
- "billingInterval": "monthly",
- "type": "aaas",
- "inTrial": true,
- "hadTrial": true,
- "plannedDowngradePackageId": "7128840a-5347-49a4-8dfa-9022d8dad21a"
}
}An INTP can operate under two subscription models: website-based or account-based.
Use these endpoints if your company:
Increase the number of credits for a specific account. The upgrade takes effect immediately, and the billing cycle and credit consumption resets.
Note: This endpoint should be used only if your company is responsible for managing billing. Otherwise, the subscription will be managed directly by the user through the dashboard.
| intpcId required | string ID of the customer within the integration partner’s system |
| packageId required | string <uuid> (packageId) Package ID issued by TWIPLA |
| trial | boolean Default: false Indicates whether the subscription should start in a trial period. |
| proRate | boolean Default: false |
object (Subscription) |
{- "intpcId": "string",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "trial": false,
- "proRate": false
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "websiteId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpcId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "createdAt": "2023-08-22T08:14:03+00:00",
- "billingInterval": "monthly",
- "type": "aaas",
- "inTrial": true,
- "hadTrial": true,
- "plannedDowngradePackageId": "7128840a-5347-49a4-8dfa-9022d8dad21a"
}
}Plan a subscription downgrade for an account; it will automatically apply when the current billing period ends.
Note: This endpoint should be used only if your company is responsible for managing billing. Otherwise, the subscription will be managed directly by the user through the dashboard.
| intpcId required | string ID of the customer within the integration partner’s system |
| packageId required | string <uuid> (packageId) Package ID issued by TWIPLA |
object (Subscription) |
{- "intpcId": "string",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc"
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "websiteId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpcId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "createdAt": "2023-08-22T08:14:03+00:00",
- "billingInterval": "monthly",
- "type": "aaas",
- "inTrial": true,
- "hadTrial": true,
- "plannedDowngradePackageId": "7128840a-5347-49a4-8dfa-9022d8dad21a"
}
}Schedule subscription cancellation for the end of the current billing cycle. The account will then revert to the free plan. Cancellation can be reversed by resuming the subscription until it takes effect.
Note: This endpoint should be used only if your company is responsible for managing billing. Otherwise, the subscription will be managed directly by the user through the dashboard.
| intpcId required | string ID of the customer within the integration partner’s system |
object (Subscription) |
{- "intpcId": "string"
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "websiteId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpcId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "createdAt": "2023-08-22T08:14:03+00:00",
- "billingInterval": "monthly",
- "type": "aaas",
- "inTrial": true,
- "hadTrial": true,
- "plannedDowngradePackageId": "7128840a-5347-49a4-8dfa-9022d8dad21a"
}
}Resume a canceled subscription. This can be done until the cancellation takes effect, and the action applies immediately.
Note: This endpoint should be used only if your company is responsible for managing billing. Otherwise, the subscription will be managed directly by the user through the dashboard.
| intpcId required | string ID of the customer within the integration partner’s system |
object (Subscription) |
{- "intpcId": "string"
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "websiteId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpcId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "createdAt": "2023-08-22T08:14:03+00:00",
- "billingInterval": "monthly",
- "type": "aaas",
- "inTrial": true,
- "hadTrial": true,
- "plannedDowngradePackageId": "7128840a-5347-49a4-8dfa-9022d8dad21a"
}
}Deactivate the subscription; the account will also be deleted.
| intpcId required | string ID of the customer within the integration partner’s system |
object (Subscription) |
{- "intpcId": "string"
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "websiteId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpcId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "createdAt": "2023-08-22T08:14:03+00:00",
- "billingInterval": "monthly",
- "type": "aaas",
- "inTrial": true,
- "hadTrial": true,
- "plannedDowngradePackageId": "7128840a-5347-49a4-8dfa-9022d8dad21a"
}
}Create a new INTP Customer
Data about the INTPC
| intpCustomerId required | string (intpCustomerId) ID of the customer within the integration partner’s system |
| email required | string <email> Must be unique within the company |
required | object |
object |
{- "intpCustomerId": "string",
- "email": "support@twipla.com",
- "website": {
- "intpWebsiteId": "string",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "domain": "domain.example.com",
- "billingDate": "2023-08-22T08:14:03+00:00"
}
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "visaId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpCustomerId": "string",
- "email": "support@twipla.com",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "createdAt": "2023-08-22T08:14:03+00:00",
- "website": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpWebsiteId": "string",
- "intpCustomerId": "string",
- "visaTrackingCode": "string",
- "visaMaxPrivacyModeTrackingCode": "string",
- "domain": "domain.example.com",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "packageName": "string",
- "billingInterval": "monthly",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "plannedDowngradePackageId": "4cafe689-e1d4-44fb-9d6b-7807d3139a7b",
- "plannedDowngradePackageName": "string",
- "plannedDowngradeBillingInterval": "monthly",
- "inTrial": true,
- "hadTrial": true,
- "createdAt": "2023-08-22T08:14:03+00:00",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "consumption": {
- "stpLimit": 100000,
- "stpConsumed": 5000,
- "stpRateVisit": 1,
- "stpConsumedVisit": 0,
- "stpRateVisitEvent": 1,
- "stpConsumedVisitEvent": 0,
- "stpRateSessionRecording": 1,
- "stpConsumedSessionRecording": 0,
- "stpRateHeatmapIncrement": 1,
- "stpConsumedHeatmapIncrement": 0,
- "stpRatePollAnswer": 1,
- "stpConsumedPollAnswer": 0,
- "stpRateSurveyAnswer": 1,
- "stpConsumedSurveyAnswer": 0,
- "stpRateFunnelMatch": 1,
- "stpConsumedFunnelMatch": 0
}
}
}
}| page required | number Use 0 for the first page |
| pageSize required | number |
Array of objects (INTPC) | |
object (paginationMeta) |
{- "payload": [
- {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "visaId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpCustomerId": "string",
- "email": "support@twipla.com",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "createdAt": "2023-08-22T08:14:03+00:00"
}
], - "meta": {
- "page": 1,
- "pageSize": 10,
- "pageTotal": 100,
- "total": 92
}
}| intpCustomerId required | string ID of the customer within the integration partner’s system |
object (INTPC) |
{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "visaId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpCustomerId": "string",
- "email": "support@twipla.com",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "createdAt": "2023-08-22T08:14:03+00:00"
}
}| intpCustomerId required | string ID of the customer within the integration partner’s system |
object (INTPC) |
{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "visaId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpCustomerId": "string",
- "email": "support@twipla.com",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "createdAt": "2023-08-22T08:14:03+00:00"
}
}| name required | string (name) |
| price required | number (price) |
| currency required | string (currency) Value: "EUR" |
| touchpoints required | number (consumedStps) |
| period required | string (period) Enum: "monthly" "yearly" |
object (Package) |
{- "name": "string",
- "price": 12.99,
- "currency": "EUR",
- "touchpoints": 0,
- "period": "monthly"
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "name": "string",
- "touchpoints": 0,
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "price": 12.99,
- "currency": "EUR",
- "period": "monthly",
- "recommended": true,
- "createdAt": "2023-08-22T08:14:03+00:00"
}
}Array of objects (Package) |
{- "payload": [
- {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "name": "string",
- "touchpoints": 0,
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "price": 12.99,
- "currency": "EUR",
- "period": "monthly",
- "recommended": true,
- "createdAt": "2023-08-22T08:14:03+00:00"
}
]
}| packageId required | string Package ID issued by TWIPLA |
object (Package) |
{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "name": "string",
- "touchpoints": 0,
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "price": 12.99,
- "currency": "EUR",
- "period": "monthly",
- "recommended": true,
- "createdAt": "2023-08-22T08:14:03+00:00"
}
}required | object |
required | object |
object |
object (Website) |
{- "website": {
- "id": "string",
- "domain": "string",
- "package": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "billingDate": "2023-08-22T08:14:03+00:00"
}, - "privacyLevel": 0
}, - "intpc": {
- "id": "string"
}, - "opts": {
- "uft": true
}
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpWebsiteId": "string",
- "intpCustomerId": "string",
- "visaTrackingCode": "string",
- "visaMaxPrivacyModeTrackingCode": "string",
- "domain": "domain.example.com",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "packageName": "string",
- "billingInterval": "monthly",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "plannedDowngradePackageId": "4cafe689-e1d4-44fb-9d6b-7807d3139a7b",
- "plannedDowngradePackageName": "string",
- "plannedDowngradeBillingInterval": "monthly",
- "inTrial": true,
- "hadTrial": true,
- "createdAt": "2023-08-22T08:14:03+00:00",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "consumption": {
- "stpLimit": 100000,
- "stpConsumed": 5000,
- "stpRateVisit": 1,
- "stpConsumedVisit": 0,
- "stpRateVisitEvent": 1,
- "stpConsumedVisitEvent": 0,
- "stpRateSessionRecording": 1,
- "stpConsumedSessionRecording": 0,
- "stpRateHeatmapIncrement": 1,
- "stpConsumedHeatmapIncrement": 0,
- "stpRatePollAnswer": 1,
- "stpConsumedPollAnswer": 0,
- "stpRateSurveyAnswer": 1,
- "stpConsumedSurveyAnswer": 0,
- "stpRateFunnelMatch": 1,
- "stpConsumedFunnelMatch": 0
}
}
}| intpWebsiteId required | string (intpWebsiteId) ID of the website within the integration partner’s system |
| intpCustomerId required | string (intpCustomerId) ID of the customer within the integration partner’s system |
| packageId | string <uuid> Package ID issued by TWIPLA. Leave empty to create the website on the default free plan. Provide this ID only if your company is responsible for billing; otherwise, leave it blank, as the subscription will be managed directly by the user in the dashboard. |
| domain required | string (websiteDomain) The website domain |
| billingDate | string <date-time> (date) |
object (Website) |
{- "intpWebsiteId": "string",
- "intpCustomerId": "string",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "domain": "domain.example.com",
- "billingDate": "2023-08-22T08:14:03+00:00"
}{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpWebsiteId": "string",
- "intpCustomerId": "string",
- "visaTrackingCode": "string",
- "visaMaxPrivacyModeTrackingCode": "string",
- "domain": "domain.example.com",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "packageName": "string",
- "billingInterval": "monthly",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "plannedDowngradePackageId": "4cafe689-e1d4-44fb-9d6b-7807d3139a7b",
- "plannedDowngradePackageName": "string",
- "plannedDowngradeBillingInterval": "monthly",
- "inTrial": true,
- "hadTrial": true,
- "createdAt": "2023-08-22T08:14:03+00:00",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "consumption": {
- "stpLimit": 100000,
- "stpConsumed": 5000,
- "stpRateVisit": 1,
- "stpConsumedVisit": 0,
- "stpRateVisitEvent": 1,
- "stpConsumedVisitEvent": 0,
- "stpRateSessionRecording": 1,
- "stpConsumedSessionRecording": 0,
- "stpRateHeatmapIncrement": 1,
- "stpConsumedHeatmapIncrement": 0,
- "stpRatePollAnswer": 1,
- "stpConsumedPollAnswer": 0,
- "stpRateSurveyAnswer": 1,
- "stpConsumedSurveyAnswer": 0,
- "stpRateFunnelMatch": 1,
- "stpConsumedFunnelMatch": 0
}
}
}Array of objects (Website) |
{- "payload": [
- {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpWebsiteId": "string",
- "intpCustomerId": "string",
- "visaTrackingCode": "string",
- "visaMaxPrivacyModeTrackingCode": "string",
- "domain": "domain.example.com",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "packageName": "string",
- "billingInterval": "monthly",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "plannedDowngradePackageId": "4cafe689-e1d4-44fb-9d6b-7807d3139a7b",
- "plannedDowngradePackageName": "string",
- "plannedDowngradeBillingInterval": "monthly",
- "inTrial": true,
- "hadTrial": true,
- "createdAt": "2023-08-22T08:14:03+00:00",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "consumption": {
- "stpLimit": 100000,
- "stpConsumed": 5000,
- "stpRateVisit": 1,
- "stpConsumedVisit": 0,
- "stpRateVisitEvent": 1,
- "stpConsumedVisitEvent": 0,
- "stpRateSessionRecording": 1,
- "stpConsumedSessionRecording": 0,
- "stpRateHeatmapIncrement": 1,
- "stpConsumedHeatmapIncrement": 0,
- "stpRatePollAnswer": 1,
- "stpConsumedPollAnswer": 0,
- "stpRateSurveyAnswer": 1,
- "stpConsumedSurveyAnswer": 0,
- "stpRateFunnelMatch": 1,
- "stpConsumedFunnelMatch": 0
}
}
]
}| intpWebsiteId required | string ID of the website within the integration partner’s system |
object (Website) |
{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpWebsiteId": "string",
- "intpCustomerId": "string",
- "visaTrackingCode": "string",
- "visaMaxPrivacyModeTrackingCode": "string",
- "domain": "domain.example.com",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "packageName": "string",
- "billingInterval": "monthly",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "plannedDowngradePackageId": "4cafe689-e1d4-44fb-9d6b-7807d3139a7b",
- "plannedDowngradePackageName": "string",
- "plannedDowngradeBillingInterval": "monthly",
- "inTrial": true,
- "hadTrial": true,
- "createdAt": "2023-08-22T08:14:03+00:00",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "consumption": {
- "stpLimit": 100000,
- "stpConsumed": 5000,
- "stpRateVisit": 1,
- "stpConsumedVisit": 0,
- "stpRateVisitEvent": 1,
- "stpConsumedVisitEvent": 0,
- "stpRateSessionRecording": 1,
- "stpConsumedSessionRecording": 0,
- "stpRateHeatmapIncrement": 1,
- "stpConsumedHeatmapIncrement": 0,
- "stpRatePollAnswer": 1,
- "stpConsumedPollAnswer": 0,
- "stpRateSurveyAnswer": 1,
- "stpConsumedSurveyAnswer": 0,
- "stpRateFunnelMatch": 1,
- "stpConsumedFunnelMatch": 0
}
}
}| intpWebsiteId required | string ID of the website within the integration partner’s system |
object (Website) |
{- "payload": {
- "id": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "status": "active",
- "intpId": "7128840a-5347-49a4-8dfa-9022d8dad21a",
- "intpWebsiteId": "string",
- "intpCustomerId": "string",
- "visaTrackingCode": "string",
- "visaMaxPrivacyModeTrackingCode": "string",
- "domain": "domain.example.com",
- "packageId": "471cc1d4-ec27-4504-b7c2-949af95662bc",
- "packageName": "string",
- "billingInterval": "monthly",
- "lastPackageChangeAt": "2023-08-22T08:14:03+00:00",
- "plannedDowngradePackageId": "4cafe689-e1d4-44fb-9d6b-7807d3139a7b",
- "plannedDowngradePackageName": "string",
- "plannedDowngradeBillingInterval": "monthly",
- "inTrial": true,
- "hadTrial": true,
- "createdAt": "2023-08-22T08:14:03+00:00",
- "expiresAt": "2023-08-22T08:14:03+00:00",
- "stpResetAt": "2023-08-22T08:14:03+00:00",
- "consumption": {
- "stpLimit": 100000,
- "stpConsumed": 5000,
- "stpRateVisit": 1,
- "stpConsumedVisit": 0,
- "stpRateVisitEvent": 1,
- "stpConsumedVisitEvent": 0,
- "stpRateSessionRecording": 1,
- "stpConsumedSessionRecording": 0,
- "stpRateHeatmapIncrement": 1,
- "stpConsumedHeatmapIncrement": 0,
- "stpRatePollAnswer": 1,
- "stpConsumedPollAnswer": 0,
- "stpRateSurveyAnswer": 1,
- "stpConsumedSurveyAnswer": 0,
- "stpRateFunnelMatch": 1,
- "stpConsumedFunnelMatch": 0
}
}
}