{
  "opencollection": "1.0.0",
  "info": {
    "name": "Chili Piper Concierge API",
    "version": "1.0"
  },
  "request": {
    "auth": {
      "type": "apikey",
      "key": "Authorization",
      "value": "{{Authorization}}",
      "placement": "header"
    }
  },
  "items": [
    {
      "info": {
        "name": "concierge",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Lists all concierge routers",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://fire.chilipiper.com/api/fire-edge/v1/org/concierge/routers/concierge/list",
            "auth": {
              "type": "apikey",
              "key": "Authorization",
              "value": "{{Authorization}}",
              "placement": "header"
            }
          },
          "docs": "[operation: concierge-list-routers]\n\n\n\nREAD-ONLY\n\n\n\nReturns all Concierge routers in the org. A router evaluates inbound lead data and routes to teams/users via rules.\n\n- workspaceId (opt): restrict to one workspace\n\n→\n\n    {routers: [{router: {id (routerId), name, slug, formMapping, settings, routing, meta}, dataFields: [...], workspaceId}]}\n\n  Note: routerId is at routers[N].router.id; slug is at routers[N].router.slug\n\nsee: concierge-logs (audit decisions, needs routerId+workspaceId), concier"
        },
        {
          "info": {
            "name": "Reads Concierge Logs",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://fire.chilipiper.com/api/fire-edge/v1/org/concierge/logs",
            "params": [
              {
                "name": "workspaceId",
                "value": "",
                "type": "query",
                "description": "Id of the workspace"
              },
              {
                "name": "routerId",
                "value": "",
                "type": "query",
                "description": "Concierge Router Id"
              },
              {
                "name": "start",
                "value": "",
                "type": "query",
                "description": "time of start such as 2025-01-08T13:46:18.681Z (ISO8601 format)"
              },
              {
                "name": "end",
                "value": "",
                "type": "query",
                "description": "time of end such as 2025-01-14T13:46:18.681Z (ISO8601 format)"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "Authorization",
              "value": "{{Authorization}}",
              "placement": "header"
            }
          },
          "docs": "[operation: concierge-logs]\n\n\n\nREAD-ONLY\n\n\n\nFetches aggregated Concierge routing decision logs for a router in a time window (parallelism=4). Max window: 30 days.\n\n- workspaceId (req): query param; use workspace-list or concierge-list-routers\n\n- routerId (req): query param; use concierge-list-routers (routers[N].router.id)\n\n- start, end (req): query params; ISO-8601; max 30-day span\n\n→ array of log entries, each with fields: id, status, trigger, assignments, triggeredAt, crmUrl, guestEmail, acti"
        },
        {
          "info": {
            "name": "Create concierge router",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://fire.chilipiper.com/api/fire-edge/v1/org/concierge/routers/concierge",
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "Authorization",
              "value": "{{Authorization}}",
              "placement": "header"
            }
          },
          "docs": "[operation: concierge-router-create]\n\n\n\nMUTATING\n\n\n\nCreates a Concierge router and publishes it live in one step — there is no unpublished-draft state via the API. workspaceId must be a team workspace of this tenant (400 otherwise). The URL slug is derived from name on publish (there is no separate slug field). Triggers are a PRODUCT of optional kinds — set any combination of form (the Chili webform), inAppButton, and routerLink; supplying NONE auto-generates a minimal email-only Chili webform. "
        },
        {
          "info": {
            "name": "Get concierge router",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://fire.chilipiper.com/api/fire-edge/v1/org/concierge/routers/concierge/:routerId",
            "params": [
              {
                "name": "routerId",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "Authorization",
              "value": "{{Authorization}}",
              "placement": "header"
            }
          },
          "docs": "[operation: concierge-router-get]\n\n\n\nREAD-ONLY\n\n\n\nFetches one Concierge router: its identity, a lossy per-row summary of its routing, and its full-config dimensions (guest form, branding/cover, localizations). Call this before concierge-router-update to check routing.representable and form.representable — they tell you whether an update would be accepted or rejected as unrepresentable.\n\n→\n\n    {id, workspaceId, name?, slug?, routing: {known, representable, rows: [{ruleId?, ruleType?, outcome}], "
        },
        {
          "info": {
            "name": "Update concierge router",
            "type": "http"
          },
          "http": {
            "method": "PUT",
            "url": "https://fire.chilipiper.com/api/fire-edge/v1/org/concierge/routers/concierge/:routerId",
            "params": [
              {
                "name": "routerId",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            },
            "auth": {
              "type": "apikey",
              "key": "Authorization",
              "value": "{{Authorization}}",
              "placement": "header"
            }
          },
          "docs": "[operation: concierge-router-update]\n\n\n\nMUTATING — IDEMPOTENT\n\n\n\nEdits a Concierge router and republishes it live. Only the fields you supply change; omitted fields (and config dimensions Edge doesn't model, e.g. third-party webforms, router-link enrichment waterfalls, and CRM-upsert settings) are preserved. Supplying name re-derives the URL slug. Each dimension you send is a full replace, except branding which merges per sub-field (see below). Triggers are a product of optional kinds: form (Chi"
        },
        {
          "info": {
            "name": "Remove concierge router",
            "type": "http"
          },
          "http": {
            "method": "DELETE",
            "url": "https://fire.chilipiper.com/api/fire-edge/v1/org/concierge/routers/concierge/:routerId",
            "params": [
              {
                "name": "routerId",
                "value": "",
                "type": "path"
              }
            ],
            "auth": {
              "type": "apikey",
              "key": "Authorization",
              "value": "{{Authorization}}",
              "placement": "header"
            }
          },
          "docs": "[operation: concierge-router-delete]\n\n\n\nMUTATING — DESTRUCTIVE\n\n\n\nDeletes a Concierge router by id.\n\n- routerId (req): the router's id (path)\n\n⚠ irreversible via API; any embeds or links pointing at this router stop working\n\nsee: concierge-list-routers or concierge-router-get (confirm the id before deleting)"
        }
      ]
    }
  ],
  "bundled": true
}