LogoLogo
Login to CortexBook a DemoCortex Academycortex.io
  • Cortex Docs
  • Cortex Quick Start
  • Ingesting data into Cortex
    • Managing Entities
      • Adding entities
        • Add services
        • Add domains
        • Add teams
        • Add custom entity types
        • Defining dependencies
      • Entity details page
      • Defining ownership
      • Defining relationship types
      • Grouping entities
      • Adding external documentation
      • Adding Deploy data
      • Adding custom data
      • Viewing discovered entities
      • Archiving entities
      • Relationship graph
      • Using On-call Assistant for incidents
      • Managing Terraform infra in Cortex
    • Managing Catalogs
    • Integrations
      • Internally hosted integrations
      • ArgoCD
      • AWS
      • Azure DevOps
      • Azure Resources
      • BambooHR
      • Bitbucket
      • BugSnag
      • Buildkite
      • Checkmarx
      • CircleCI
      • ClickUp
      • Codecov
      • Coralogix
      • Custom webhook integrations
      • Datadog
      • Dynatrace
      • Entra ID (Azure AD)
      • FireHydrant
      • GitHub
      • GitLab
      • Google
      • Grafana
      • incident.io
      • Instana
      • Jenkins
      • Jira
      • Kubernetes
      • LaunchDarkly
      • Lightstep
      • Mend
      • Microsoft Teams
      • New Relic
      • Okta
      • Opsgenie
      • PagerDuty
      • Prometheus
      • Rollbar
      • Rootly
      • Sentry
      • ServiceNow
      • Slack
      • Snyk
      • SonarQube
      • Splunk Observability Cloud (SignalFx)
      • Splunk On-Call (VictorOps)
      • Sumo Logic
      • Veracode
      • Wiz
      • Workday
      • xMatters
  • Scorecards
    • Initiatives and Action items
      • Creating issues based on Initiatives
    • Scorecard rule exemptions
    • Scorecard rule filters
    • Scorecard examples
    • Scorecards as code
  • Reports
    • Executive report
    • All Scorecards report
    • Bird's eye report
    • Progress report
    • Report card
  • Eng Intelligence
    • Custom Metrics
    • Jira Metrics
    • Metrics Explorer (Beta)
  • Cortex Query Language (CQL)
    • Using CQL reports
    • Using JQ in Cortex
  • Workflows
    • Creating a Workflow
      • Workflows as code
    • Blocks
    • Running a Workflow
    • Registering a Scaffolder template
      • Scaffolder advanced usage
    • Using a Workflow to sync in ArgoCD
    • Kicking off a Jenkins pipeline in a Workflow
    • Calling internal service endpoints in a Workflow
  • Plugins
    • Creating a plugin
      • Creating a plugin proxy
    • Migrating Backstage plugins to Cortex
  • Engineering homepage
  • Workspace Settings
    • Using GitOps for Cortex
      • GitOps logs
    • Managing users
      • Roles and permissions
        • Custom roles
        • Team ownership entity editing
      • Configuring SSO
        • Microsoft Entra ID
        • Google
        • Other OIDC providers
        • Okta
          • Okta SCIM
      • Configuring identity mappings
      • Onboarding management
    • API keys, secrets, and tokens
      • Secrets
      • Personal tokens
    • Audit logs
    • Entity settings
      • Data verification
      • Auto archiving entities
    • IP allowlist
    • Notifications
      • Notification logs
    • Customizing your workspace
    • Using search in Cortex
  • Cortex API
    • REST API operations
      • API Keys
      • Audit Logs
      • Catalog Entities
      • Custom Data
        • Custom Data (Advanced)
      • Custom Events
      • Custom Metrics
      • Dependencies
      • Deploys
      • Discovery Audit
      • Docs
      • Eng Intel: User Labels
      • Entity Relationship Types (Beta)
      • Entity Relationships (Beta)
      • Entity Types
      • GitOps Logs
      • Groups
      • Initiatives
      • Integrations APIs
        • Azure Active Directory (Entra ID) API
        • Azure Resources API
        • AWS API
        • Azure DevOps API
        • CircleCI API
        • Coralogix API
        • Datadog API
        • GitHub API
        • GitLab API
        • incident.io API
        • LaunchDarkly API
        • New Relic API
        • PagerDuty API
        • Prometheus API
        • SonarQube API
      • IP Allowlist
      • Notification Logs
      • On call
      • Packages
      • Plugins
      • Queries
      • SCIM
      • Scorecards
      • Secrets
      • Team Hierarchies
      • Teams
      • Workflows
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Cortex API
  2. REST API operations
  3. Integrations APIs

GitHub API

Last updated 1 month ago

Was this helpful?

Use these operations to interact with the in Cortex.

Required permissions

Your API key must have the Configure integrations permission.

Operations

GitHub integration

Retrieve configurations

get
Authorizations
Responses
200
Successfully found configurations
application/json
400
Bad Request
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
get
GET /api/v1/github/configurations HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "configurations": [
    {
      "alias": "text",
      "appUrl": "text",
      "host": "text",
      "installation": {
        "installationId": 1
      },
      "isDefault": true,
      "type": "text"
    }
  ]
}

Retrieve default configuration

get
Authorizations
Responses
200
Successfully found default configuration
application/json
400
Bad Request
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
get
GET /api/v1/github/default-configuration HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "alias": "text",
  "host": "text",
  "isDefault": true,
  "type": "text",
  "appUrl": "text",
  "installation": {
    "installationId": 1
  }
}

Retrieve a single personal configuration

get
Authorizations
Path parameters
aliasstringRequired
Responses
200
Successfully found configuration
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Configuration not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
get
GET /api/v1/github/configurations/personal/{alias} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "alias": "text",
  "host": "text",
  "isDefault": true,
  "type": "text"
}

Retrieve a single app configuration

get
Authorizations
Path parameters
aliasstringRequired
Responses
200
Successfully found configuration
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Configuration not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
get
GET /api/v1/github/configurations/app/{alias} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "alias": "text",
  "appUrl": "text",
  "host": "text",
  "installation": {
    "installationId": 1
  },
  "isDefault": true,
  "type": "text"
}

Validate all configurations

post
Authorizations
Responses
200
Successfully validated all configurations
application/json
404
Configuration not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
post
POST /api/v1/github/configurations/validate HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "configurations": [
    {
      "alias": "text",
      "isValid": true,
      "message": "text"
    }
  ]
}

Validate a configuration

post
Authorizations
Path parameters
aliasstringRequired
Responses
200
Successfully validated configuration
application/json
404
Configuration not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
post
POST /api/v1/github/configurations/validate/{alias} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*
{
  "alias": "text",
  "isValid": true,
  "message": "text"
}

Delete a personal configuration

delete
Authorizations
Path parameters
aliasstringRequired
Responses
200
Successfully deleted configuration
400
Bad Request
application/json
403
Forbidden
application/json
404
Configuration not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
delete
DELETE /api/v1/github/configurations/personal/{alias} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*

No content

Delete all configurations

delete
Authorizations
Responses
200
Successfully deleted all configurations
400
Bad Request
application/json
403
Forbidden
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
delete
DELETE /api/v1/github/configurations HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*

No content

Delete a single app configuration

delete
Authorizations
Path parameters
aliasstringRequired
Responses
200
Successfully deleted configuration
400
Bad Request
application/json
403
Forbidden
application/json
404
Configuration not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
delete
DELETE /api/v1/github/configurations/app/{alias} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Accept: */*

No content

  • Required permissions
  • Operations
  • GETRetrieve configurations
  • GETRetrieve default configuration
  • GETRetrieve a single personal configuration
  • GETRetrieve a single app configuration
  • POSTValidate all configurations
  • POSTAdd a single app configuration
  • POSTValidate a configuration
  • POSTAdd a single personal configuration
  • PUTUpdate a single app configuration
  • DELETEDelete a personal configuration
  • PUTUpdate a single personal configuration
  • DELETEDelete all configurations
  • DELETEDelete a single app configuration

Add a single app configuration

post
Authorizations
Body
aliasstringRequired
apiHoststringOptional
appUrlstringRequired
applicationIdstringRequired
clientIdstringRequired
clientSecretstringRequired
isDefaultbooleanRequired
privateKeystringRequired
Responses
200
Successfully added configuration
application/json
400
Bad Request
application/json
403
Forbidden
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
post
POST /api/v1/github/configurations/app HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 149

{
  "alias": "text",
  "apiHost": "text",
  "appUrl": "text",
  "applicationId": "text",
  "clientId": "text",
  "clientSecret": "text",
  "isDefault": true,
  "privateKey": "text"
}
{
  "alias": "text",
  "appUrl": "text",
  "host": "text",
  "installation": {
    "installationId": 1
  },
  "isDefault": true,
  "type": "text"
}

Add a single personal configuration

post
Authorizations
Body
accessTokenstringRequired
aliasstringRequired
apiHoststringOptional
isDefaultbooleanRequired
Responses
200
Successfully added configuration
application/json
400
Bad Request
application/json
403
Forbidden
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
post
POST /api/v1/github/configurations/personal HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 71

{
  "accessToken": "text",
  "alias": "text",
  "apiHost": "text",
  "isDefault": true
}
{
  "alias": "text",
  "host": "text",
  "isDefault": true,
  "type": "text"
}

Update a single app configuration

put
Authorizations
Path parameters
aliasstringRequired
Body
aliasstringRequired
isDefaultbooleanRequired
Responses
200
Successfully updated configuration
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Configuration not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
put
PUT /api/v1/github/configurations/app/{alias} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 33

{
  "alias": "text",
  "isDefault": true
}
{
  "alias": "text",
  "appUrl": "text",
  "host": "text",
  "installation": {
    "installationId": 1
  },
  "isDefault": true,
  "type": "text"
}

Update a single personal configuration

put
Authorizations
Path parameters
aliasstringRequired
Body
aliasstringRequired
isDefaultbooleanRequired
Responses
200
Successfully updated configuration
application/json
400
Bad Request
application/json
403
Forbidden
application/json
404
Configuration not found
application/json
429
The client has exceeded the rate limit by performing too many requests in a short period. Retry the request after a delay.
application/problem+json
put
PUT /api/v1/github/configurations/personal/{alias} HTTP/1.1
Host: api.getcortexapp.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 33

{
  "alias": "text",
  "isDefault": true
}
{
  "alias": "text",
  "host": "text",
  "isDefault": true,
  "type": "text"
}