Fresh start - excluded large ROM JSON files

This commit is contained in:
OpenClaw Agent
2026-04-11 09:45:12 -05:00
commit 5deb387aa6
395 changed files with 47744 additions and 0 deletions

View File

@@ -0,0 +1,237 @@
# Klaviyo Routing Reference
**App name:** `klaviyo`
**Base URL proxied:** `a.klaviyo.com`
## API Path Pattern
```
/klaviyo/api/{resource}
```
## API Versioning
Include the `revision` header in all requests:
```
revision: 2024-10-15
```
## Common Endpoints
### Get Profiles
```bash
GET /klaviyo/api/profiles
```
Query parameters:
- `filter` - Filter profiles (e.g., `filter=equals(email,"test@example.com")`)
- `fields[profile]` - Comma-separated list of fields to include
- `page[size]` - Number of results per page (max 100)
### Get a Profile
```bash
GET /klaviyo/api/profiles/{profile_id}
```
### Create a Profile
```bash
POST /klaviyo/api/profiles
Content-Type: application/json
{
"data": {
"type": "profile",
"attributes": {
"email": "newuser@example.com",
"first_name": "John",
"last_name": "Doe"
}
}
}
```
### Update a Profile
```bash
PATCH /klaviyo/api/profiles/{profile_id}
Content-Type: application/json
{
"data": {
"type": "profile",
"id": "PROFILE_ID",
"attributes": {
"first_name": "Jane"
}
}
}
```
### Get Lists
```bash
GET /klaviyo/api/lists
```
### Create a List
```bash
POST /klaviyo/api/lists
Content-Type: application/json
{
"data": {
"type": "list",
"attributes": {
"name": "VIP Customers"
}
}
}
```
### Add Profiles to List
```bash
POST /klaviyo/api/lists/{list_id}/relationships/profiles
Content-Type: application/json
{
"data": [
{"type": "profile", "id": "PROFILE_ID"}
]
}
```
### Get Segments
```bash
GET /klaviyo/api/segments
```
### Get Campaigns
```bash
GET /klaviyo/api/campaigns
```
### Create a Campaign
```bash
POST /klaviyo/api/campaigns
Content-Type: application/json
{
"data": {
"type": "campaign",
"attributes": {
"name": "Summer Newsletter",
"audiences": {
"included": ["LIST_ID"]
}
}
}
}
```
### Get Flows
```bash
GET /klaviyo/api/flows
```
### Update Flow Status
```bash
PATCH /klaviyo/api/flows/{flow_id}
Content-Type: application/json
{
"data": {
"type": "flow",
"id": "FLOW_ID",
"attributes": {
"status": "live"
}
}
}
```
### Create an Event
```bash
POST /klaviyo/api/events
Content-Type: application/json
{
"data": {
"type": "event",
"attributes": {
"profile": {
"data": {
"type": "profile",
"attributes": {
"email": "customer@example.com"
}
}
},
"metric": {
"data": {
"type": "metric",
"attributes": {
"name": "Viewed Product"
}
}
},
"properties": {
"product_id": "SKU123",
"product_name": "Blue T-Shirt"
}
}
}
}
```
### Get Metrics
```bash
GET /klaviyo/api/metrics
```
### Get Templates
```bash
GET /klaviyo/api/templates
```
### Create Webhook
```bash
POST /klaviyo/api/webhooks
Content-Type: application/json
{
"data": {
"type": "webhook",
"attributes": {
"name": "Order Placed Webhook",
"endpoint_url": "https://example.com/webhooks/klaviyo",
"enabled": true
},
"relationships": {
"webhook-topics": {
"data": [
{"type": "webhook-topic", "id": "campaign:sent"}
]
}
}
}
}
```
### Delete Webhook
```bash
DELETE /klaviyo/api/webhooks/{webhook_id}
```
## Notes
- All requests use JSON:API specification
- Timestamps are in ISO 8601 RFC 3339 format
- Resource IDs are strings (often base64-encoded)
- Use sparse fieldsets to optimize response size (e.g., `fields[profile]=email,first_name`)
- Include `revision` header for API versioning
- Use cursor-based pagination with `page[cursor]` parameter
## Resources
- [Klaviyo API Documentation](https://developers.klaviyo.com)
- [API Reference](https://developers.klaviyo.com/en/reference/api_overview)
- [Klaviyo Developer Portal](https://developers.klaviyo.com/en)