Skip to main content
POST
/
api
/
v1
/
storage
/
sandboxes
/
{sandbox_id}
/
sources
/
linear
Connect a Linear workspace as a polling data source
curl --request POST \
  --url https://api.copass.id/api/v1/storage/sandboxes/{sandbox_id}/sources/linear \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "api_key": "<string>",
  "name": "<string>",
  "include": [
    "teams"
  ],
  "rate_cap_per_minute": 300,
  "poll_interval_seconds": 61
}
'
{
  "data_source_id": "<string>",
  "status": "<string>",
  "name": "<string>",
  "ingestion_mode": "<string>",
  "entities": [
    "<string>"
  ],
  "health_error": "<string>",
  "error": "<string>",
  "detail": "<string>"
}

Documentation Index

Fetch the complete documentation index at: https://docs.copass.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

authorization
string | null
X-Encryption-Token
string | null
X-Encryption-Key
string | null

Path Parameters

sandbox_id
string
required

Body

application/json

Body for POST /sources/linear.

Tool-shape kept narrow per ADR 0007 §B / Chunk B brief decision #5 (no generalization to register_polling_source until N>1 polling integrations exist).

api_key
string
required

Linear API key (lin_api_*). Stored in the managed secret store before the row is written; never echoed back.

Minimum string length: 1
name
string | null

Source name. Defaults to 'Linear'.

include
enum<string>[] | null

Subset of Linear entities to ingest. Defaults to all five (teams, users, projects, issues, cycles).

Available options:
teams,
users,
projects,
issues,
cycles
rate_cap_per_minute
integer | null

Per-source tool-call rate cap. 1-600. Default 60.

Required range: 1 <= x <= 600
poll_interval_seconds
integer | null

Polling cadence. Min 60s. Default 900s (15m).

Required range: x >= 60

Response

Successful Response

Outcome shape for POST /sources/linear.

On success data_source_id and status='active' are populated; on health-check failure status='error' and health_error carries a short reason. Validation failures surface at the HTTP layer (400) before reaching this shape.

data_source_id
string | null
status
string | null
name
string | null
ingestion_mode
string | null
entities
string[] | null
health_error
string | null
error
string | null
detail
string | null