Topolo Docs Topolo Platform
Open workspace

List series templates

Returns searchable template definitions, categories and supported statuses; selecting one alone creates no series or code.

Outcome

Returns searchable template definitions, categories and supported statuses; selecting one alone creates no series or code.

Before you start

  • Verify identity, environment and the intended organization before discovery.
  • Discover the published series:read permission and the target policy.
  • Select an accessible canonical Auth workspace and set WORKSPACE_ID to its returned id. Workspace binding is separate from input.

Discover the target

topolo whoami --json
topolo workspaces list topolo-quro --json
topolo actions get app_topolo_quro.series.templates.list --detail --json

Request

GET /series/templates

Inspect parameters and test this action.

Input fields

FieldRequiredMeaning
searchNoText filter for codes or templates; it does not change stored records.
categoryNoTemplate category filter discovered through series.templates.list.

Worked examples

Actual exported Quro Worker with local Miniflare D1/KV and every committed app/analytics migration. Auth, service tokens, Nexus, destination probes and platform archival are synthetic responses; outbound fetch is sealed. Notifications remain in the local outbox. No live redirect propagation, QR scan, destination health, provider delivery, archival or production erasure is established.

Save reviewed input as payload.json, replacing fixture identifiers through discovery.

topolo actions validate app_topolo_quro.series.templates.list --data @payload.json --json
topolo actions plan app_topolo_quro.series.templates.list --resource-type workspace --resource-id "$WORKSPACE_ID" --data @payload.json --json
topolo actions call app_topolo_quro.series.templates.list --resource-type workspace --resource-id "$WORKSPACE_ID" --data @payload.json --detail --json

MCP uses the same reviewed input and separately discovered resource binding:

{
  "tool": "topolo_prepare_action",
  "arguments": {
    "actionId": "app_topolo_quro.series.templates.list",
    "input": {},
    "resourceType": "workspace",
    "resourceId": "ws_quro_fixture"
  }
}
{
  "tool": "topolo_read_action",
  "arguments": {
    "actionId": "app_topolo_quro.series.templates.list",
    "input": {},
    "resourceType": "workspace",
    "resourceId": "ws_quro_fixture",
    "detail": true
  }
}

Worked response 1 · HTTP 200

Input · payload.json:

{}

Captured SDK response:

{
  "success": true,
  "data": {
    "templates": [
      {
        "id": "marathon-runners",
        "name": "Marathon Runner Tracking",
        "description": "Track marathon participants with individual QR codes for timing, results, and spectator updates",
        "category": "Events & Sports",
        "icon": "🏃‍♂️",
        "tier": "premium",
        "features": [
          "Real-time tracking",
          "Spectator updates",
          "Results integration"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 1,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "conference-attendees",
        "name": "Conference Attendee Check-in",
        "description": "Digital check-in system for conference attendees with session tracking",
        "category": "Events & Sports",
        "icon": "🎤",
        "tier": "standard",
        "features": [
          "Session tracking",
          "Networking",
          "Digital badges"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 1,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "sports-team-roster",
        "name": "Sports Team Roster",
        "description": "Player profiles and statistics for sports teams",
        "category": "Events & Sports",
        "icon": "⚽",
        "tier": "standard",
        "features": [
          "Player profiles",
          "Statistics",
          "Team management"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 1,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "wedding-guests",
        "name": "Wedding Guest Management",
        "description": "RSVP tracking, seating charts, and guest information for weddings",
        "category": "Events & Sports",
        "icon": "💒",
        "tier": "standard",
        "features": [
          "RSVP tracking",
          "Seating charts",
          "Guest info"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 1,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "staff-badges",
        "name": "Staff ID Badges",
        "description": "Employee identification and access control system",
        "category": "Business & Professional",
        "icon": "👔",
        "tier": "premium",
        "features": [
          "Access control",
          "Employee directory",
          "Security integration"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 2,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "business-cards",
        "name": "Digital Business Cards",
        "description": "Modern networking with digital business card QR codes",
        "category": "Business & Professional",
        "icon": "💼",
        "tier": "standard",
        "features": [
          "Contact sharing",
          "Social links",
          "Professional profiles"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 2,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "visitor-management",
        "name": "Visitor Check-in System",
        "description": "Streamlined visitor registration and badge printing",
        "category": "Business & Professional",
        "icon": "🏢",
        "tier": "premium",
        "features": [
          "Visitor registration",
          "Badge printing",
          "Host notifications"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 2,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "trade-show-booth",
        "name": "Trade Show Lead Capture",
        "description": "Capture leads and contact information at trade shows",
        "category": "Business & Professional",
        "icon": "🤝",
        "tier": "standard",
        "features": [
          "Lead capture",
          "Contact forms",
          "Follow-up automation"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 2,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "student-ids",
        "name": "Student ID System",
        "description": "Digital student identification and campus services",
        "category": "Education & Training",
        "icon": "🎓",
        "tier": "premium",
        "features": [
          "Student profiles",
          "Course access",
          "Campus services"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 3,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "training-certificates",
        "name": "Training Certificates",
        "description": "Digital certificates with verification for training programs",
        "category": "Education & Training",
        "icon": "📜",
        "tier": "premium",
        "features": [
          "Certificate verification",
          "Digital credentials",
          "Blockchain integration"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 3,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "course-materials",
        "name": "Course Material Access",
        "description": "Quick access to course materials and resources",
        "category": "Education & Training",
        "icon": "📚",
        "tier": "standard",
        "features": [
          "Resource access",
          "Progress tracking",
          "Interactive content"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 3,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "product-catalog",
        "name": "Product Information",
        "description": "Detailed product information and specifications",
        "category": "Retail & E-commerce",
        "icon": "🛍️",
        "tier": "standard",
        "features": [
          "Product details",
          "Reviews",
          "Purchase links"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 4,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "loyalty-program",
        "name": "Customer Loyalty Cards",
        "description": "Digital loyalty program with points and rewards",
        "category": "Retail & E-commerce",
        "icon": "🎁",
        "tier": "premium",
        "features": [
          "Points tracking",
          "Rewards catalog",
          "Personalized offers"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 4,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "inventory-tracking",
        "name": "Inventory Management",
        "description": "Asset and inventory tracking with QR codes",
        "category": "Retail & E-commerce",
        "icon": "📦",
        "tier": "premium",
        "features": [
          "Asset tracking",
          "Location management",
          "Audit trails"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 4,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "patient-wristbands",
        "name": "Patient Identification",
        "description": "Secure patient identification and medical record access",
        "category": "Healthcare & Medical",
        "icon": "🏥",
        "tier": "premium",
        "features": [
          "Medical records",
          "Allergy alerts",
          "Emergency contacts"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 5,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "medication-tracking",
        "name": "Medication Management",
        "description": "Track medications, dosages, and schedules",
        "category": "Healthcare & Medical",
        "icon": "💊",
        "tier": "premium",
        "features": [
          "Dosage tracking",
          "Schedule reminders",
          "Side effect monitoring"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 5,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "appointment-checkin",
        "name": "Appointment Check-in",
        "description": "Streamlined patient check-in for medical appointments",
        "category": "Healthcare & Medical",
        "icon": "📅",
        "tier": "standard",
        "features": [
          "Digital check-in",
          "Wait time updates",
          "Forms pre-fill"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 5,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "property-listings",
        "name": "Property Showcase",
        "description": "Virtual tours and property information for real estate",
        "category": "Real Estate & Property",
        "icon": "🏠",
        "tier": "standard",
        "features": [
          "Virtual tours",
          "Property details",
          "Contact agent"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 6,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "rental-applications",
        "name": "Rental Applications",
        "description": "Streamlined rental application process",
        "category": "Real Estate & Property",
        "icon": "🔑",
        "tier": "standard",
        "features": [
          "Digital applications",
          "Document upload",
          "Background checks"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 6,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "maintenance-requests",
        "name": "Maintenance Requests",
        "description": "Property maintenance request system",
        "category": "Real Estate & Property",
        "icon": "🔧",
        "tier": "standard",
        "features": [
          "Request tracking",
          "Photo uploads",
          "Status updates"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 6,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "delivery-tracking",
        "name": "Package Delivery",
        "description": "Track packages and deliveries with real-time updates",
        "category": "Transportation & Logistics",
        "icon": "📦",
        "tier": "premium",
        "features": [
          "Real-time tracking",
          "Delivery confirmation",
          "Route optimization"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 7,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "parking-passes",
        "name": "Digital Parking Passes",
        "description": "Contactless parking validation and management",
        "category": "Transportation & Logistics",
        "icon": "🅿️",
        "tier": "standard",
        "features": [
          "Contactless validation",
          "Time tracking",
          "Payment integration"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 7,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "fleet-management",
        "name": "Fleet Vehicle Tracking",
        "description": "Vehicle identification and maintenance tracking",
        "category": "Transportation & Logistics",
        "icon": "🚛",
        "tier": "premium",
        "features": [
          "Vehicle profiles",
          "Maintenance schedules",
          "Usage analytics"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 7,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "restaurant-menus",
        "name": "Digital Menu Access",
        "description": "Contactless menu viewing for restaurants",
        "category": "Food & Hospitality",
        "icon": "🍽️",
        "tier": "basic",
        "features": [
          "Digital menus",
          "Allergen info",
          "Ordering integration"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 8,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "hotel-services",
        "name": "Hotel Guest Services",
        "description": "Room service, concierge, and hotel amenity access",
        "category": "Food & Hospitality",
        "icon": "🏨",
        "tier": "standard",
        "features": [
          "Room service",
          "Concierge chat",
          "Amenity booking"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 8,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "table-ordering",
        "name": "Table-side Ordering",
        "description": "Order directly from your table without waiting",
        "category": "Food & Hospitality",
        "icon": "📱",
        "tier": "standard",
        "features": [
          "Mobile ordering",
          "Payment processing",
          "Kitchen integration"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 8,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "commerce-venue-tables",
        "name": "Venue Tables (TopoloCommerce)",
        "description": "Guest-session QR codes for venue tables. Provisioned and managed by TopoloCommerce; each code resolves to the guest runtime with the table pre-selected.",
        "category": "Food & Hospitality",
        "icon": "🪑",
        "tier": "standard",
        "features": [
          "Per-table scan counts",
          "Managed by TopoloCommerce",
          "Rotate destination without reprinting"
        ],
        "managedBy": "topolo-commerce",
        "defaultSettings": {
          "status": "active",
          "category_id": 8,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "event-tickets",
        "name": "Digital Event Tickets",
        "description": "Secure digital ticketing for events and shows",
        "category": "Entertainment & Media",
        "icon": "🎟️",
        "tier": "premium",
        "features": [
          "Ticket validation",
          "Seat selection",
          "Transfer protection"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 9,
          "max_usage": 1,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "museum-exhibits",
        "name": "Museum Audio Guides",
        "description": "Interactive audio guides for museum exhibits",
        "category": "Entertainment & Media",
        "icon": "🏛️",
        "tier": "standard",
        "features": [
          "Audio guides",
          "Exhibit info",
          "Interactive maps"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 9,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      },
      {
        "id": "social-profiles",
        "name": "Social Media Profiles",
        "description": "Quick access to all your social media profiles",
        "category": "Entertainment & Media",
        "icon": "📱",
        "tier": "basic",
        "features": [
          "Social links",
          "Profile aggregation",
          "Contact info"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 9,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      }
    ],
    "categories": [
      "Events & Sports",
      "Business & Professional",
      "Education & Training",
      "Retail & E-commerce",
      "Healthcare & Medical",
      "Real Estate & Property",
      "Transportation & Logistics",
      "Food & Hospitality",
      "Entertainment & Media"
    ],
    "total": 30
  }
}

HTTP 200. Inspect the exact template id and its generation/dashboard defaults before passing templateId to series.create.

Worked response 2 · HTTP 200

Input · payload.json:

{
  "search": "marathon",
  "category": "Events & Sports"
}

Captured SDK response:

{
  "success": true,
  "data": {
    "templates": [
      {
        "id": "marathon-runners",
        "name": "Marathon Runner Tracking",
        "description": "Track marathon participants with individual QR codes for timing, results, and spectator updates",
        "category": "Events & Sports",
        "icon": "🏃‍♂️",
        "tier": "premium",
        "features": [
          "Real-time tracking",
          "Spectator updates",
          "Results integration"
        ],
        "defaultSettings": {
          "status": "active",
          "category_id": 1,
          "max_usage": null,
          "valid_from": null,
          "valid_to": null
        }
      }
    ],
    "categories": [
      "Events & Sports",
      "Business & Professional",
      "Education & Training",
      "Retail & E-commerce",
      "Healthcare & Medical",
      "Real Estate & Property",
      "Transportation & Logistics",
      "Food & Hospitality",
      "Entertainment & Media"
    ],
    "total": 1
  }
}

HTTP 200. Inspect the exact template id and its generation/dashboard defaults before passing templateId to series.create.

Worked response 3 · HTTP 200

Input · payload.json:

{
  "search": "no-such-fixture-template",
  "category": "unknown-fixture"
}

Captured SDK response:

{
  "success": true,
  "data": {
    "templates": [],
    "categories": [
      "Events & Sports",
      "Business & Professional",
      "Education & Training",
      "Retail & E-commerce",
      "Healthcare & Medical",
      "Real Estate & Property",
      "Transportation & Logistics",
      "Food & Hospitality",
      "Entertainment & Media"
    ],
    "total": 0
  }
}

HTTP 200. Inspect the exact template id and its generation/dashboard defaults before passing templateId to series.create.

Verify the result

  • Inspect the exact template id and its generation/dashboard defaults before passing templateId to series.create.

Errors and recovery

  • HTTP 401 · auth_error: Authenticate again in the intended environment and organization.
  • HTTP 403 · action_permission_required: Inspect the actual refusal. The action permission and the verified workspace access are both required; a caller cannot name an ungranted workspace.

Inspect the original handler body as well as the SDK error code. These are observed local refusals, not an exhaustive provider-failure list.

Recovery boundary

Read again with a supported search/category filter. Template defaults are suggestions, not provisioned assets.

  • Create QR series: Persists a named series, applying an exact supported template and its dashboard defaults when supplied.

Evidence

Actual exported Quro Worker with local Miniflare D1/KV and every committed app/analytics migration. Auth, service tokens, Nexus, destination probes and platform archival are synthetic responses; outbound fetch is sealed. Notifications remain in the local outbox. No live redirect propagation, QR scan, destination health, provider delivery, archival or production erasure is established.