{
  "opencollection": "1.0.0",
  "info": {
    "name": "Sonarly Bugs Setup API",
    "version": "2026-04-30"
  },
  "request": {
    "auth": {
      "type": "bearer",
      "token": "{{bearerToken}}"
    }
  },
  "items": [
    {
      "info": {
        "name": "Setup",
        "type": "folder"
      },
      "items": [
        {
          "info": {
            "name": "Start a setup session",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://sonarly.com/api/setup/start",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Device-code style. Issues a session plus a user code; the human authorizes by signing in at verification_url (which creates their tenant)."
        },
        {
          "info": {
            "name": "Poll setup-session status",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://sonarly.com/api/setup/:setup_id/status",
            "params": [
              {
                "name": "setup_id",
                "value": "",
                "type": "path"
              }
            ]
          },
          "docs": "Poll setup-session status"
        },
        {
          "info": {
            "name": "Mint an OAuth/install link for a provider",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://sonarly.com/api/setup/connect-url",
            "params": [
              {
                "name": "provider",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Currently supports provider=sentry and provider=github; other providers return 400 while wired incrementally."
        },
        {
          "info": {
            "name": "List repositories available to the connected code host",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://sonarly.com/api/setup/repos"
          },
          "docs": "List repositories available to the connected code host"
        },
        {
          "info": {
            "name": "Select repositories for the tenant",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://sonarly.com/api/setup/repos/selected",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Select repositories for the tenant"
        },
        {
          "info": {
            "name": "Connect an observability / logs / APM backend",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://sonarly.com/api/setup/:id/integrations",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              }
            ],
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Validates the credentials live and returns 4xx with a clear message on bad input. On success auto-provisions that tool's webhook/notification rule. backend_type is one of datadog, grafana, signoz, newrelic, gcp, cloudwatch, betterstack, mezmo, railway, modal, supabase, langsmith, vercel, posthog, database, kubernetes."
        },
        {
          "info": {
            "name": "Set the project's agent instructions",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://sonarly.com/api/setup/project",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "Set the project's agent instructions"
        },
        {
          "info": {
            "name": "Mint a read-only public API key",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://sonarly.com/api/setup/api-key"
          },
          "docs": "Returns the key exactly once. Read-only, tenant-scoped. Use it as a Bearer token against the public API base."
        },
        {
          "info": {
            "name": "Register an outbound webhook receiver",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://sonarly.com/api/setup/webhook-endpoint",
            "body": {
              "type": "json",
              "data": "{}"
            }
          },
          "docs": "The URL is SSRF-checked. Returns a signing secret (prefix whsec_) shown once."
        },
        {
          "info": {
            "name": "Get a Stripe checkout URL for a plan",
            "type": "http"
          },
          "http": {
            "method": "GET",
            "url": "https://sonarly.com/api/setup/:id/checkout-url",
            "params": [
              {
                "name": "id",
                "value": "",
                "type": "path"
              },
              {
                "name": "plan",
                "value": "",
                "type": "query"
              }
            ]
          },
          "docs": "Get a Stripe checkout URL for a plan"
        },
        {
          "info": {
            "name": "Finish onboarding",
            "type": "http"
          },
          "http": {
            "method": "POST",
            "url": "https://sonarly.com/api/setup/complete"
          },
          "docs": "Finish onboarding"
        }
      ]
    }
  ],
  "bundled": true
}