API Reference
Complete reference for all AppPiper API endpoints. Requires authentication with your API token.
Tours
GET /tours
List all tours for the current organization.
Query Parameters:
status=published|draft|archived (optional)limit=50 (optional, default: 20)offset=0 (optional)Response:
{
"tours": [
{
"id": "tour_123",
"name": "Getting Started",
"status": "published",
"created_at": "2026-04-01T12:00:00Z",
"step_count": 5
}
],
"pagination": {
"total": 1,
"limit": 50,
"offset": 0
}
}POST /tours
Create a new tour.
Request Body:
{
"name": "Product Overview",
"description": "Introduction to key features",
"trigger_type": "auto"
}Response:
{
"tour": {
"id": "tour_456",
"name": "Product Overview",
"status": "draft",
"created_at": "2026-04-01T12:00:00Z"
}
}GET /tours/{id}
Get a specific tour with all steps.
Response:
{
"tour": {
"id": "tour_123",
"name": "Getting Started",
"status": "published",
"created_at": "2026-04-01T12:00:00Z",
"steps": [
{
"id": "step_1",
"title": "Welcome",
"description": "Let's get you started",
"order": 1
}
]
}
}PUT /tours/{id}
Update a tour.
Request Body (all fields optional):
{
"name": "Updated Tour Name",
"description": "Updated description"
}PUT /tours/{id}/publish
Publish a tour (make it live to users).
PUT /tours/{id}/unpublish
Unpublish a tour (set back to draft status).
PUT /tours/{id}/archive
Archive a tour (soft delete).
DELETE /tours/{id}
Delete a tour. Add ?hard=true for permanent deletion.
Tour Steps
POST /tours/{tourId}/steps
Create a new step in a tour.
Request Body:
{
"title": "Click the settings icon",
"description": "Find the gear icon in the top right",
"selector": ".settings-icon",
"order": 1
}PUT /tours/{tourId}/steps/{stepId}
Update a tour step.
DELETE /tours/{tourId}/steps/{stepId}
Delete a step from a tour.
PUT /tours/{tourId}/steps/reorder
Reorder steps in a tour.
Request Body:
{
"step_ids": ["step_1", "step_3", "step_2"]
}Analytics
GET /analytics/overview
Get organization-wide analytics.
Query Parameters:
startDate=2026-04-01endDate=2026-04-30GET /analytics/tours/{id}
Get detailed analytics for a specific tour with funnel data.
GET /analytics/tours/{id}/daily
Get daily breakdown of tour metrics for charting.
Organizations
GET /organizations/current
Get the current user's organization.
PUT /organizations/current
Update the current organization.
GET /organizations/current/members
List all members of the current organization.
Authentication
All endpoints require authentication. Include your API token in the Authorization header:Authorization: Bearer YOUR_API_TOKEN
Learn More
For JavaScript-based tour control, check out the Snippet API Reference.