Connect Integration
POST /v1/connect
Starts an OAuth 2.0 authorization flow for an integration. Returns an OAuth URL that the user must visit to authorize access.
Authentication
Section titled “Authentication”Required. Bearer token: Authorization: Bearer sk_xxx
Request body
Section titled “Request body”{ "integration": "github"}| Field | Type | Required | Description |
|---|---|---|---|
integration | string | Yes | Integration slug to connect |
Response
Section titled “Response”{ "oauth_url": "https://github.com/login/oauth/authorize?client_id=...&scope=...", "connection_id": "conn_abc123"}| Field | Type | Description |
|---|---|---|
oauth_url | string | URL to open in browser for OAuth consent |
connection_id | string | ID to use when polling connection status |
- Call this endpoint to get the OAuth URL
- Open the URL in a browser (CLI does this automatically)
- User authorizes on the service’s consent screen
- Service redirects back to Skillett’s callback
- Poll
GET /v1/connect/:connectionIdfor completion
Errors
Section titled “Errors”| Code | Error | Description |
|---|---|---|
| 401 | unauthorized | Missing or invalid API key |
| 403 | plan_limit_reached | Maximum connections for plan exceeded |
| 404 | not_found | Integration slug not found |
Example
Section titled “Example”$ curl -X POST \ -H "Authorization: Bearer sk_a1b2c3d4..." \ -H "Content-Type: application/json" \ -d '{"integration":"github"}' \ https://api.skillett.dev/v1/connect