List providers

get/v1/providers

Returns the full catalog of (non-deleted) collection providers ordered by name, each as a JSON:API `providers` resource. Each carries the executable `blueprint_json` flow the browser extension runs at collection time, plus the Vision Agent skill state (`skill_*`). `skill_body` is omitted from list payloads (null). The response `meta` reports the total `count` and whether the caller is a whitelisted admin (`isAdmin`). Read-only. This router is mounted at both `/v1/providers` and `/v1/provider` (alias).

Requires a bearer token: Authorization: Bearer <token>.

Request

cURL
curl -X GET https://api.wellapp.ai/v1/providers \
  -H "Authorization: Bearer $WELL_API_TOKEN"

Responses

200The provider catalog as JSON:API resources, with count and admin flag in `meta`.

{
  "data": [
    {
      "type": "providers",
      "id": "9f3c1b2a-7d4e-4f8a-9c2b-1a2b3c4d5e6f",
      "attributes": {
        "name": "Mercury",
        "slug": "mercury",
        "blueprint_json": {
          "version": 1,
          "steps": [
            {
              "action": "navigate",
              "url": "https://app.mercury.com/login"
            }
          ]
        },
        "url": "https://mercury.com",
        "logo_url": "https://assets.wellapp.ai/logos/mercury.png",
        "countries": [
          "FR",
          "DE",
          "ES"
        ],
        "category": "Banking",
        "searchable_terms": [
          "neobank",
          "business account"
        ],
        "skill_status": "green",
        "skill_version": 3,
        "skill_metadata": {
          "name": "Mercury statement collection",
          "description": "Logs in and downloads monthly statements + transactions.",
          "version": 3,
          "source": "autobrowse",
          "confidence_score": 0.92,
          "last_success_at": "2026-05-30T09:14:00.000Z",
          "last_run_at": "2026-06-05T22:41:00.000Z",
          "triggers": [
            "download mercury statement"
          ]
        },
        "skill_body": null
      },
      "relationships": {
        "logo": {
          "data": {
            "type": "Media",
            "id": "00000000-0000-4000-8000-000000000001"
          }
        },
        "workspace_providers": {
          "data": [
            {
              "type": "WorkspaceProvider",
              "id": "00000000-0000-4000-8000-000000000001"
            }
          ]
        },
        "connectors": {
          "data": [
            {
              "type": "ProviderConnector",
              "id": "00000000-0000-4000-8000-000000000001"
            }
          ]
        }
      }
    },
    {
      "type": "providers",
      "id": "1c2d3e4f-5a6b-4c7d-8e9f-0a1b2c3d4e5f",
      "attributes": {
        "name": "Stripe",
        "slug": "stripe",
        "blueprint_json": null,
        "url": "https://stripe.com",
        "logo_url": null,
        "countries": [],
        "category": "General",
        "searchable_terms": [],
        "skill_status": "none",
        "skill_version": 0,
        "skill_metadata": null,
        "skill_body": null
      },
      "relationships": {
        "logo": {
          "data": {
            "type": "Media",
            "id": "00000000-0000-4000-8000-000000000001"
          }
        },
        "workspace_providers": {
          "data": [
            {
              "type": "WorkspaceProvider",
              "id": "00000000-0000-4000-8000-000000000001"
            }
          ]
        },
        "connectors": {
          "data": [
            {
              "type": "ProviderConnector",
              "id": "00000000-0000-4000-8000-000000000001"
            }
          ]
        }
      }
    }
  ],
  "meta": {
    "count": 2,
    "isAdmin": false
  }
}

401Missing or invalid bearer token.

{
  "code": "UNAUTHORIZED",
  "status": 401,
  "title": "Unauthorized",
  "message": "See title.",
  "meta": {
    "trace_id": "a1b2c3",
    "log_id": "a1b2c3"
  }
}