---
title: "Connect audience source"
method: POST
path: "/v1/communities/{communityId}/sources"
tags: ["Communities"]
---

# Connect audience source

`POST /v1/communities/{communityId}/sources`

## Request

- Base URL: `https://api.subo.ai`
- URL: `https://api.subo.ai/v1/communities/{communityId}/sources`
- Auth: API key in header `X-API-Key`

Connect an audience source to the community. Admin role required. Currently only `provider: "steam"` can be connected through the API (body: `{"provider": "steam", "app_id": 1145360}`); the appid is validated against the Steam store and the game's title becomes the display name. Twitch and YouTube require an interactive creator OAuth and are connected in the dashboard (Settings > Networks). Reconnecting the same app to the same community is idempotent; a Steam app can only back one community (409 on conflict).

## Path parameters

- `communityId` string, required

## Request body

- object
  - `provider` 'steam', required
  - `app_id` integer, required: Steam appid from the game's store page URL

## Response `201`

Source connected

## Other responses

- `400`: Invalid provider or unknown appid
- `401`: Invalid or missing API key
- `403`: Forbidden — the key or user lacks permission for this resource or operation
- `409`: Source already connected to another community
- `429`: Rate limit exceeded — wait `retry_after` seconds before retrying. The same value appears in the `Retry-After` header.
- `502`: Steam store lookup failed

---

[API](https://skmtc.dev/subo/apis/subo-api.md) · [All operations](https://skmtc.dev/subo/apis/subo-api/llms.txt) · [OpenAPI document](https://skmtc.dev/subo/apis/subo-api/revisions/12eab2ae4505?raw)
