Skip to content

Execute Endpoint

POST /v1/:integration/:endpoint

Executes an endpoint on a connected integration. The platform validates your API key, loads your OAuth credentials, proxies the request to the external service, and returns the response.

Required. Bearer token: Authorization: Bearer sk_xxx

ParameterTypeRequiredDescription
integrationstringYesIntegration slug (e.g., github)
endpointstringYesEndpoint action name (e.g., create_issue)
{
"params": {
"repo": "acme/webapp",
"title": "Bug report",
"body": "Steps to reproduce...",
"labels": ["bug", "priority"]
}
}

Parameters are passed under the params key. The available parameters for each endpoint are documented via the endpoint docs route.

Success (proxied response):

{
"status": 200,
"data": {
"id": 42,
"number": 7,
"title": "Bug report",
"state": "open",
"html_url": "https://github.com/acme/webapp/issues/7"
}
}

The data field contains the upstream API’s response body exactly as returned. The status field is the HTTP status code from the upstream API.

Error (from Skillett):

{
"error": "integration_not_connected",
"message": "The user needs to connect their github account first.",
"action_url": "https://app.skillett.dev/dashboard/integrations"
}

If the upstream API returns a 401 (expired token), Skillett automatically attempts to refresh the OAuth token and retries the request once. If refresh fails, you’ll receive a token_expired error with an action_url to reconnect.

CodeErrorDescription
400bad_requestInvalid parameters
401unauthorizedMissing or invalid API key
401token_expiredOAuth token expired and refresh failed
403integration_not_connectedUser hasn’t connected this integration
403scope_not_allowedAPI key doesn’t have access to this integration
403plan_limit_reachedConnection limit exceeded
404not_foundIntegration or endpoint not found
429daily_limit_reachedDaily API call limit exceeded
Terminal window
$ curl -X POST \
-H "Authorization: Bearer sk_a1b2c3d4..." \
-H "Content-Type: application/json" \
-d '{"params":{"repo":"acme/webapp","title":"Bug report"}}' \
https://api.skillett.dev/v1/github/create_issue