Oore CI
ReferenceAPICategories

Sources

SCM integrations — local git, GitHub App, and GitLab. Incoming webhook receivers for GitHub and GitLab.

GET
/v1/integration-repositories

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Query Parameters

q?string

Search repositories

limit?integer

Page size

Formatint64
offset?integer

Page offset

Formatint64

Response Body

application/json

curl -X GET "https://example.com/v1/integration-repositories"
{  "repositories": [    {      "avatar_url": "string",      "created_at": 0,      "default_branch": "string",      "external_id": "string",      "full_name": "string",      "id": "string",      "installation_id": "string",      "is_private": true,      "updated_at": 0,      "host_url": "string",      "integration_id": "string",      "provider": "github"    }  ],  "total": 0}
GET
/v1/integration-repositories/{id}/avatar

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Integration repository ID

Response Body

image/*

application/json

application/json

curl -X GET "https://example.com/v1/integration-repositories/string/avatar"
"string"
POST
/v1/integration-repositories/{id}/gitlab-webhook-secret

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Integration repository ID

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/integration-repositories/string/gitlab-webhook-secret"
{  "repository_id": "string",  "rotated_at": 0,  "webhook_secret": "string"}
GET
/v1/integrations

Returns all SCM integrations, optionally filtered by provider.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Query Parameters

provider?string

Filter by SCM provider (github, gitlab)

q?string

Search integrations

sort?string

Sort field

direction?string

Sort direction

limit?integer

Page size (default 20)

Formatint64
offset?integer

Page offset (default 0)

Formatint64

Response Body

application/json

curl -X GET "https://example.com/v1/integrations"
{  "active_total": 0,  "integrations": [    {      "app_id": "string",      "app_slug": "string",      "auth_mode": "string",      "created_at": 0,      "created_by": "string",      "display_name": "string",      "host_url": "string",      "id": "string",      "provider": "github",      "status": "string",      "updated_at": 0    }  ],  "total": 0}
GET
/v1/integrations/github/callback

Exchanges GitHub's manifest code, stores the integration, and redirects the browser. Callback errors are rendered as HTML.

Query Parameters

code?string

GitHub manifest conversion code

state?string

Sealed GitHub manifest-flow state

Response Body

text/html

curl -X GET "https://example.com/v1/integrations/github/callback"
"string"
POST
/v1/integrations/github/complete

Finalises the GitHub App manifest flow after the redirect back from GitHub.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/v1/integrations/github/complete" \  -H "Content-Type: application/json" \  -d '{    "code": "string"  }'
{  "integration": {    "app_id": "string",    "app_slug": "string",    "auth_mode": "string",    "created_at": 0,    "created_by": "string",    "display_name": "string",    "host_url": "string",    "id": "string",    "provider": "github",    "status": "string",    "updated_at": 0  }}
GET
/v1/integrations/github/create

Serves the browser form that creates a GitHub App. The sealed state query value authenticates the flow; no session bearer token is used.

Query Parameters

state*string

Sealed GitHub manifest-flow state

Response Body

text/html

curl -X GET "https://example.com/v1/integrations/github/create?state=string"
"string"
GET
/v1/integrations/github/installed

Consumes the optional sealed install-state cookie, synchronizes the installation when authorized, and serves a browser redirect page.

Query Parameters

installation_id?integer

GitHub installation ID

Formatint64
setup_action?string

GitHub installation action

Header Parameters

Cookie?|

Optional sealed oore_gh_install_state cookie

Response Body

text/html

curl -X GET "https://example.com/v1/integrations/github/installed"
"string"
POST
/v1/integrations/github/start

Returns a URL to navigate the browser to for GitHub App manifest creation.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/v1/integrations/github/start" \  -H "Content-Type: application/json" \  -d '{    "redirect_url": "string",    "webhook_url": "string"  }'
{  "create_url": "string"}
POST
/v1/integrations/gitlab/authorize

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/v1/integrations/gitlab/authorize" \  -H "Content-Type: application/json" \  -d '{    "integration_id": "string",    "redirect_url": "string"  }'
{  "authorize_url": "string"}
GET
/v1/integrations/gitlab/callback

Exchanges GitLab's authorization code and redirects the browser. Callback errors are rendered as HTML.

Query Parameters

code?string

GitLab authorization code

state?string

Sealed GitLab OAuth state

error?string

GitLab OAuth error code

error_description?string

GitLab OAuth error description

Response Body

text/html

curl -X GET "https://example.com/v1/integrations/gitlab/callback"
"string"
POST
/v1/integrations/gitlab/start

Creates a GitLab integration with OAuth or personal token auth.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/v1/integrations/gitlab/start" \  -H "Content-Type: application/json" \  -d '{    "auth_mode": "github_app",    "host_url": "string"  }'
{  "integration": {    "app_id": "string",    "app_slug": "string",    "auth_mode": "string",    "created_at": 0,    "created_by": "string",    "display_name": "string",    "host_url": "string",    "id": "string",    "provider": "github",    "status": "string",    "updated_at": 0  }}
GET
/v1/integrations/local-git

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/integrations/local-git"
{  "active_total": 0,  "integrations": [    {      "app_id": "string",      "app_slug": "string",      "auth_mode": "string",      "created_at": 0,      "created_by": "string",      "display_name": "string",      "host_url": "string",      "id": "string",      "provider": "github",      "status": "string",      "updated_at": 0    }  ],  "total": 0}
POST
/v1/integrations/local-git

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/integrations/local-git" \  -H "Content-Type: application/json" \  -d '{    "repository_path": "string"  }'
{  "integration": {    "app_id": "string",    "app_slug": "string",    "auth_mode": "string",    "created_at": 0,    "created_by": "string",    "display_name": "string",    "host_url": "string",    "id": "string",    "provider": "github",    "status": "string",    "updated_at": 0  },  "repository": {    "avatar_url": "string",    "created_at": 0,    "default_branch": "string",    "external_id": "string",    "full_name": "string",    "id": "string",    "installation_id": "string",    "is_private": true,    "updated_at": 0  }}
GET
/v1/integrations/local-git/directories

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Query Parameters

path?string

Absolute directory path to browse. Defaults to the daemon user's home directory

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/integrations/local-git/directories"
{  "current_is_git_repository": true,  "current_path": "string",  "directories": [    {      "is_git_repository": true,      "name": "string",      "path": "string"    }  ],  "parent_path": "string",  "suggestions": [    {      "label": "string",      "path": "string"    }  ]}
DELETE
/v1/integrations/local-git/{id}

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Integration ID

Response Body

application/json

application/json

application/json

curl -X DELETE "https://example.com/v1/integrations/local-git/string"
{  "ok": true}
GET
/v1/integrations/{id}

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Integration ID

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/integrations/string"
{  "installation_count": 0,  "integration": {    "app_id": "string",    "app_slug": "string",    "auth_mode": "string",    "created_at": 0,    "created_by": "string",    "display_name": "string",    "host_url": "string",    "id": "string",    "provider": "github",    "status": "string",    "updated_at": 0  },  "last_webhook_at": 0,  "repository_count": 0}
DELETE
/v1/integrations/{id}

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Integration ID

Response Body

application/json

application/json

application/json

curl -X DELETE "https://example.com/v1/integrations/string"
{  "ok": true}
PUT
/v1/integrations/{id}/gitlab-token

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Integration ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X PUT "https://example.com/v1/integrations/string/gitlab-token" \  -H "Content-Type: application/json" \  -d '{    "access_token": "string"  }'
{  "checked_at": 0,  "expires_at": 0,  "status": "valid"}
POST
/v1/integrations/{id}/gitlab-token/check

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Integration ID

Response Body

application/json

application/json

application/json

curl -X POST "https://example.com/v1/integrations/string/gitlab-token/check"
{  "checked_at": 0,  "expires_at": 0,  "status": "valid"}
GET
/v1/integrations/{id}/installations

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Integration ID

Response Body

application/json

curl -X GET "https://example.com/v1/integrations/string/installations"
{  "installations": [    {      "account_name": "string",      "account_type": "string",      "created_at": 0,      "external_id": "string",      "id": "string",      "integration_id": "string"    }  ]}
POST
/v1/integrations/{id}/installations
  • GitHub: Fetches GitHub App installations and syncs their repositories.
  • GitLab: Refreshes accessible projects for linked accounts and syncs them as repositories.

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Integration ID

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

curl -X POST "https://example.com/v1/integrations/string/installations" \  -H "Content-Type: application/json" \  -d '{}'
{  "installations": [    {      "account_name": "string",      "account_type": "string",      "created_at": 0,      "external_id": "string",      "id": "string",      "integration_id": "string"    }  ]}
GET
/v1/integrations/{id}/repositories

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Integration ID

Query Parameters

q?string

Search repositories

limit?integer

Page size

Formatint64
offset?integer

Page offset

Formatint64

Response Body

application/json

curl -X GET "https://example.com/v1/integrations/string/repositories"
{  "repositories": [    {      "avatar_url": "string",      "created_at": 0,      "default_branch": "string",      "external_id": "string",      "full_name": "string",      "id": "string",      "installation_id": "string",      "is_private": true,      "updated_at": 0    }  ],  "total": 0}
GET
/v1/operator-incidents

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Query Parameters

status?string

Filter by open or resolved status

resource_id?string

Filter by affected resource ID

Response Body

application/json

application/json

curl -X GET "https://example.com/v1/operator-incidents"
{  "incidents": [    {      "first_occurrence_at": 0,      "id": "string",      "latest_occurrence_at": 0,      "occurrence_count": 0,      "read_at": 0,      "reason": "string",      "repair_action": "string",      "repair_url": "string",      "resolved_at": 0,      "resource_id": "string",      "resource_kind": "string",      "resource_name": "string",      "severity": "info",      "status": "open"    }  ]}
POST
/v1/operator-incidents/{id}/read

Authorization

bearer_auth
AuthorizationBearer <token>

In: header

Path Parameters

id*string

Incident ID

Response Body

application/json

application/json

curl -X POST "https://example.com/v1/operator-incidents/string/read"
{  "first_occurrence_at": 0,  "id": "string",  "latest_occurrence_at": 0,  "occurrence_count": 0,  "read_at": 0,  "reason": "string",  "repair_action": "string",  "repair_url": "string",  "resolved_at": 0,  "resource_id": "string",  "resource_kind": "string",  "resource_name": "string",  "severity": "info",  "status": "open"}
POST
/v1/webhooks/github

Receives push/PR events from GitHub and triggers matching pipelines. Authenticated via webhook signature verification.

Header Parameters

X-Hub-Signature-256*string

GitHub HMAC signature

X-GitHub-Delivery?|

GitHub delivery identifier

X-GitHub-Event?|

GitHub event type

Request Body

application/json

GitHub webhook payload

TypeScript Definitions

Use the request body type in TypeScript.

body*unknown

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/webhooks/github" \  -H "X-Hub-Signature-256: string"
{  "duplicate": true,  "ok": true}
POST
/v1/webhooks/gitlab

Receives push/MR events from GitLab and triggers matching pipelines. Authenticated via webhook secret token.

Header Parameters

X-Gitlab-Token*string

GitLab webhook token

X-Gitlab-Event-UUID?|

GitLab event identifier

X-Gitlab-Event?|

GitLab event type

Request Body

application/json

GitLab webhook payload

TypeScript Definitions

Use the request body type in TypeScript.

body*unknown

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/webhooks/gitlab" \  -H "X-Gitlab-Token: string"
{  "duplicate": true,  "ok": true}