{
  "info": {
    "_postman_id": "f0d1bb0b-6a7e-4a69-9d57-0f2d1b8bcf30",
    "name": "Toolbridges Public API",
    "description": "Phase 8 public API shell for integrations, tenant settings, and operator webhook management.",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://your-domain.example/api/v1"
    },
    {
      "key": "apiKey",
      "value": "tb_live_replace_me"
    },
    {
      "key": "companySessionToken",
      "value": "replace_with_company_session_bearer"
    },
    {
      "key": "connectionPublicId",
      "value": "REPLACE_CONNECTION_PUBLIC_ID"
    },
    {
      "key": "subscriptionPublicId",
      "value": "REPLACE_SUBSCRIPTION_PUBLIC_ID"
    },
    {
      "key": "apiKeyPublicId",
      "value": "REPLACE_API_KEY_PUBLIC_ID"
    }
  ],
  "item": [
    {
      "name": "Bearer Key Routes",
      "item": [
        {
          "name": "List Integrations",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": "{{baseUrl}}/integrations",
            "description": "Lists current commerce connections, connector blueprints, recent automation triggers, and outbound webhook delivery state."
          }
        },
        {
          "name": "Create WooCommerce Integration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"provider_code\": \"woocommerce\",\n  \"display_name\": \"Primary WooCommerce Store\",\n  \"endpoint_base_url\": \"https://store.example.com\",\n  \"credentials\": {\n    \"consumer_key\": \"ck_replace_me\",\n    \"consumer_secret\": \"cs_replace_me\",\n    \"api_version\": \"wc/v3\"\n  },\n  \"webhook_secret\": \"replace_with_shared_secret\",\n  \"settings\": {\n    \"order_created_template\": \"order_created_v1\",\n    \"payment_received_template\": \"payment_received_v1\",\n    \"order_status_processing_template\": \"order_processing_v1\",\n    \"order_status_completed_template\": \"order_completed_v1\",\n    \"order_updated_template\": \"order_status_update_v1\"\n  }\n}"
            },
            "url": "{{baseUrl}}/integrations"
          }
        },
        {
          "name": "Test Integration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": "{{baseUrl}}/integrations/{{connectionPublicId}}/test"
          }
        },
        {
          "name": "Sync Integration",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": "{{baseUrl}}/integrations/{{connectionPublicId}}/sync"
          }
        },
        {
          "name": "Get Company Settings",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              }
            ],
            "url": "{{baseUrl}}/company/settings"
          }
        },
        {
          "name": "Update Company Settings",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{apiKey}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"support_email\": \"support@example.com\",\n  \"support_phone\": \"+14155550100\",\n  \"website_url\": \"https://example.com\",\n  \"notification_preferences\": {\n    \"webhook_failure_alerts\": true,\n    \"failed_message_alerts\": true\n  },\n  \"security_preferences\": {\n    \"require_email_verification\": true,\n    \"allowed_ip_cidrs\": [\"203.0.113.0/24\"]\n  }\n}"
            },
            "url": "{{baseUrl}}/company/settings"
          }
        }
      ]
    },
    {
      "name": "Session-only Operator Routes",
      "description": "These requests require a company session bearer token, not an API key.",
      "item": [
        {
          "name": "Create API Key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{companySessionToken}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"name\": \"ERP Integration\"\n}"
            },
            "url": "{{baseUrl}}/developer/api-keys"
          }
        },
        {
          "name": "Rotate API Key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{companySessionToken}}"
              }
            ],
            "url": "{{baseUrl}}/developer/api-keys/{{apiKeyPublicId}}/rotate"
          }
        },
        {
          "name": "Create Webhook Subscription",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{companySessionToken}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"display_name\": \"Ops Receiver\",\n  \"endpoint_url\": \"https://example.com/toolbridges/webhooks\",\n  \"status\": \"active\",\n  \"event_keys\": [\n    \"integrations.connection.created\",\n    \"integrations.connection.updated\",\n    \"integrations.webhook.received\"\n  ]\n}"
            },
            "url": "{{baseUrl}}/developer/webhook-subscriptions"
          }
        },
        {
          "name": "Pause Webhook Subscription",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Authorization",
                "value": "Bearer {{companySessionToken}}"
              },
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "body": {
              "mode": "raw",
              "raw": "{\n  \"display_name\": \"Ops Receiver\",\n  \"endpoint_url\": \"https://example.com/toolbridges/webhooks\",\n  \"status\": \"paused\",\n  \"event_keys\": [\n    \"integrations.connection.created\",\n    \"integrations.connection.updated\",\n    \"integrations.webhook.received\"\n  ]\n}"
            },
            "url": "{{baseUrl}}/developer/webhook-subscriptions/{{subscriptionPublicId}}"
          }
        }
      ]
    }
  ]
}
