Ellipsis APIReference
Integrations
Integrations endpoints of the Ellipsis REST API.
A read-only view, so an agent authoring another agent's config can learn which repositories, channels, teams, and organizations it may name before POST /agents/configs. Available to all credential types including sandbox tokens: the responses never include OAuth tokens or any other secret.
curl "https://api.ellipsis.dev/integrations" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"{
"github": {
"account_login": "string",
"account_type": "User",
"repository_count": 0,
"repository_selection": "all",
"suspended": false
},
"jira": {
"cloud_id": "string"
},
"linear": {
"organization_id": "string",
"teams": [
{
"id": "string",
"is_enabled": false,
"key": "string",
"name": "string"
}
]
},
"sentry": [],
"slack": {
"operations_channel_id": "string",
"team_id": "string",
"team_name": "string"
}
}No request body.
{
"properties": {
"github": {
"anyOf": [
{
"properties": {
"account_login": {
"type": "string"
},
"account_type": {
"enum": [
"User",
"Organization",
"Bot",
"Mannequin"
],
"type": "string"
},
"repository_count": {
"type": "integer"
},
"repository_selection": {
"enum": [
"all",
"selected"
],
"type": "string"
},
"suspended": {
"type": "boolean"
}
},
"required": [
"account_login",
"account_type",
"repository_selection",
"suspended",
"repository_count"
],
"type": "object"
},
{
"type": "null"
}
]
},
"jira": {
"anyOf": [
{
"properties": {
"cloud_id": {
"type": "string"
}
},
"required": [
"cloud_id"
],
"type": "object"
},
{
"type": "null"
}
]
},
"linear": {
"anyOf": [
{
"properties": {
"organization_id": {
"type": "string"
},
"teams": {
"items": {
"properties": {
"id": {
"type": "string"
},
"is_enabled": {
"type": "boolean"
},
"key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"is_enabled"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"organization_id",
"teams"
],
"type": "object"
},
{
"type": "null"
}
]
},
"sentry": {
"default": [],
"items": {
"properties": {
"integration_id": {
"type": "string"
},
"organization_slug": {
"type": "string"
}
},
"required": [
"integration_id",
"organization_slug"
],
"type": "object"
},
"type": "array"
},
"slack": {
"anyOf": [
{
"properties": {
"operations_channel_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"team_id": {
"type": "string"
},
"team_name": {
"type": "string"
}
},
"required": [
"team_id",
"team_name"
],
"type": "object"
},
{
"type": "null"
}
]
}
},
"type": "object"
}Responses
(Or the account itself for a personal workspace) — the universe of author_id values for /sessions and /sessions/search. Members carry their linked Slack identity when a Slack-GitHub link exists, and /slack/members carries the reverse link.
curl "https://api.ellipsis.dev/integrations/github/members" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"{
"members": [
{
"avatar_url": "string",
"id": 0,
"login": "string",
"name": "string",
"role": "admin",
"slack": {
"slack_email": "string",
"slack_user_id": "string"
}
}
]
}No request body.
{
"properties": {
"members": {
"items": {
"properties": {
"avatar_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"id": {
"type": "integer"
},
"login": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"role": {
"anyOf": [
{
"enum": [
"admin",
"member"
],
"type": "string"
},
{
"type": "null"
}
]
},
"slack": {
"anyOf": [
{
"properties": {
"slack_email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"slack_user_id": {
"type": "string"
}
},
"required": [
"slack_user_id"
],
"type": "object"
},
{
"type": "null"
}
]
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"members"
],
"type": "object"
}Responses
curl "https://api.ellipsis.dev/integrations/github/repos" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"{
"repositories": [
{
"default_branch": "string",
"description": "string",
"full_name": "string",
"id": 0,
"name": "string",
"private": false
}
]
}No request body.
{
"properties": {
"repositories": {
"items": {
"properties": {
"default_branch": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"description": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"full_name": {
"type": "string"
},
"id": {
"type": "integer"
},
"name": {
"type": "string"
},
"private": {
"type": "boolean"
}
},
"required": [
"id",
"name",
"full_name",
"private"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"repositories"
],
"type": "object"
}Responses
curl "https://api.ellipsis.dev/integrations/linear/teams" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"{
"organization_id": "string",
"teams": [
{
"id": "string",
"is_enabled": false,
"key": "string",
"name": "string"
}
]
}No request body.
{
"properties": {
"organization_id": {
"type": "string"
},
"teams": {
"items": {
"properties": {
"id": {
"type": "string"
},
"is_enabled": {
"type": "boolean"
},
"key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"name": {
"type": "string"
}
},
"required": [
"id",
"name",
"is_enabled"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"organization_id",
"teams"
],
"type": "object"
}Responses
curl "https://api.ellipsis.dev/integrations/sentry/organizations" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"{
"organizations": [
{
"integration_id": "string",
"organization_slug": "string"
}
]
}No request body.
{
"properties": {
"organizations": {
"items": {
"properties": {
"integration_id": {
"type": "string"
},
"organization_slug": {
"type": "string"
}
},
"required": [
"integration_id",
"organization_slug"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"organizations"
],
"type": "object"
}Responses
curl "https://api.ellipsis.dev/integrations/slack/channels" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"{
"channels": [
{
"id": "string",
"is_member": false,
"is_private": false,
"name": "string"
}
],
"team_id": "string",
"team_name": "string"
}No request body.
{
"properties": {
"channels": {
"items": {
"properties": {
"id": {
"type": "string"
},
"is_member": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"is_private": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"team_id": {
"type": "string"
},
"team_name": {
"type": "string"
}
},
"required": [
"team_id",
"team_name",
"channels"
],
"type": "object"
}Responses
curl "https://api.ellipsis.dev/integrations/slack/members" \
-H "Authorization: Bearer $ELLIPSIS_API_KEY"{
"members": [
{
"display_name": "string",
"email": "string",
"github": {
"id": 0,
"login": "string"
},
"id": "string",
"name": "string",
"real_name": "string"
}
],
"team_id": "string",
"team_name": "string"
}No request body.
{
"properties": {
"members": {
"items": {
"properties": {
"display_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"email": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"github": {
"anyOf": [
{
"properties": {
"id": {
"type": "integer"
},
"login": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id"
],
"type": "object"
},
{
"type": "null"
}
]
},
"id": {
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"real_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"id"
],
"type": "object"
},
"type": "array"
},
"team_id": {
"type": "string"
},
"team_name": {
"type": "string"
}
},
"required": [
"team_id",
"team_name",
"members"
],
"type": "object"
}