Xata GitHub App API
Operations for managing GitHub App installation mappings
Operations for managing GitHub App installation mappings
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/xata-github-app-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.0.0
info:
title: Xata API Keys GitHub App API
description: Xata API
version: '1.0'
contact:
name: help@xata.io
servers:
- url: https://api.xata.tech
description: Xata API
tags:
- name: GitHub App
description: Operations for managing GitHub App installation mappings
x-displayName: GitHub App
paths:
/organizations/{organizationID}/githubapp/installations:
summary: GitHub App Installation Operations (organization-scoped)
description: Manage GitHub App installations for an organization.
get:
operationId: listGithubAppInstallations
summary: List GitHub App installations for organization
description: Returns all GitHub App installations associated with the specified organization.
parameters:
- name: organizationID
in: path
description: Unique identifier of the organization
required: true
schema:
$ref: '#/components/schemas/OrganizationID'
responses:
'200':
description: List of GitHub App installations
content:
application/json:
schema:
type: object
properties:
installations:
description: Array of GitHub App installations
type: array
items:
$ref: '#/components/schemas/GithubInstallation'
required:
- installations
'400':
$ref: '#/components/responses/GenericError'
'401':
$ref: '#/components/responses/AuthorizationError'
5XX:
description: Unexpected Error
default:
description: Unexpected Error
security:
- xata:
- project:read
tags:
- GitHub App
x-excluded: true
post:
operationId: createGithubAppInstallation
summary: Create GitHub App installation
description: Creates a new GitHub App installation mapping for the specified organization.
parameters:
- name: organizationID
in: path
description: Unique identifier of the organization
required: true
schema:
$ref: '#/components/schemas/OrganizationID'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGithubAppInstallationRequest'
responses:
'201':
description: Installation created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GithubInstallation'
'400':
$ref: '#/components/responses/GenericError'
'401':
$ref: '#/components/responses/AuthorizationError'
'409':
$ref: '#/components/responses/GenericError'
5XX:
description: Unexpected Error
default:
description: Unexpected Error
security:
- xata:
- org:write
tags:
- GitHub App
x-excluded: true
/organizations/{organizationID}/githubapp/installations/{githubInstallationID}:
summary: GitHub App Installation Operations by ID
description: Manage a specific GitHub App installation.
put:
operationId: updateGithubAppInstallation
summary: Update GitHub App installation
description: Updates an existing GitHub App installation mapping.
parameters:
- name: organizationID
in: path
description: Unique identifier of the organization
required: true
schema:
$ref: '#/components/schemas/OrganizationID'
- name: githubInstallationID
in: path
description: Unique identifier of the GitHub installation record
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateGithubAppInstallationRequest'
responses:
'200':
description: Installation updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GithubInstallation'
'400':
$ref: '#/components/responses/GenericError'
'401':
$ref: '#/components/responses/AuthorizationError'
'404':
$ref: '#/components/responses/GenericError'
'409':
$ref: '#/components/responses/GenericError'
5XX:
description: Unexpected Error
default:
description: Unexpected Error
security:
- xata:
- org:write
tags:
- GitHub App
x-excluded: true
/organizations/{organizationID}/projects/{projectID}/branches/{branchID}/githubapp/repository:
summary: GitHub App Repository Operations
description: Manage GitHub repository to Xata branch mappings.
get:
operationId: getGithubRepository
summary: Get GitHub repository for branch
description: Returns the GitHub repository mapping for the specified branch.
parameters:
- name: organizationID
in: path
description: Unique identifier of the organization
required: true
schema:
$ref: '#/components/schemas/OrganizationID'
- name: projectID
in: path
description: Unique identifier of the project
required: true
schema:
type: string
- name: branchID
in: path
description: Unique identifier of the branch
required: true
schema:
type: string
responses:
'200':
description: GitHub repository mapping details
content:
application/json:
schema:
type: object
properties:
mapping:
description: Repository mapping details, null if no mapping exists
$ref: '#/components/schemas/GithubRepository'
nullable: true
required:
- mapping
'400':
$ref: '#/components/responses/GenericError'
'401':
$ref: '#/components/responses/AuthorizationError'
5XX:
description: Unexpected Error
default:
description: Unexpected Error
security:
- xata:
- project:read
tags:
- GitHub App
x-excluded: true
post:
operationId: createGithubRepository
summary: Create GitHub repository mapping
description: Creates a new GitHub repository to Xata branch mapping.
parameters:
- name: organizationID
in: path
description: Unique identifier of the organization
required: true
schema:
$ref: '#/components/schemas/OrganizationID'
- name: projectID
in: path
description: Unique identifier of the project
required: true
schema:
type: string
- name: branchID
in: path
description: Unique identifier of the branch
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateGithubRepositoryRequest'
responses:
'201':
description: Repository mapping created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GithubRepository'
'400':
$ref: '#/components/responses/GenericError'
'401':
$ref: '#/components/responses/AuthorizationError'
'409':
$ref: '#/components/responses/GenericError'
5XX:
description: Unexpected Error
default:
description: Unexpected Error
security:
- xata:
- project:write
tags:
- GitHub App
x-excluded: true
put:
operationId: updateGithubRepository
summary: Update GitHub repository mapping
description: Updates an existing GitHub repository to Xata branch mapping.
parameters:
- name: organizationID
in: path
description: Unique identifier of the organization
required: true
schema:
$ref: '#/components/schemas/OrganizationID'
- name: projectID
in: path
description: Unique identifier of the project
required: true
schema:
type: string
- name: branchID
in: path
description: Unique identifier of the branch
required: true
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateGithubRepositoryRequest'
responses:
'200':
description: Repository mapping updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GithubRepository'
'400':
$ref: '#/components/responses/GenericError'
'401':
$ref: '#/components/responses/AuthorizationError'
'404':
$ref: '#/components/responses/GenericError'
5XX:
description: Unexpected Error
default:
description: Unexpected Error
security:
- xata:
- project:write
tags:
- GitHub App
x-excluded: true
delete:
operationId: deleteGithubRepository
summary: Delete GitHub repository mapping
description: Deletes the GitHub repository mapping for the specified branch.
parameters:
- name: organizationID
in: path
description: Unique identifier of the organization
required: true
schema:
$ref: '#/components/schemas/OrganizationID'
- name: projectID
in: path
description: Unique identifier of the project
required: true
schema:
type: string
- name: branchID
in: path
description: Unique identifier of the branch
required: true
schema:
type: string
responses:
'204':
description: Repository mapping deleted successfully
'400':
$ref: '#/components/responses/GenericError'
'401':
$ref: '#/components/responses/AuthorizationError'
'404':
$ref: '#/components/responses/GenericError'
5XX:
description: Unexpected Error
default:
description: Unexpected Error
security:
- xata:
- project:write
tags:
- GitHub App
x-excluded: true
components:
schemas:
UpdateGithubRepositoryRequest:
type: object
properties:
githubRepositoryID:
description: GitHub repository ID
type: integer
format: int64
required:
- githubRepositoryID
OrganizationID:
title: OrganizationID
type: string
pattern: '[a-zA-Z0-9_-~:]+'
x-oapi-codegen-extra-tags:
validate: identifier
CreateGithubAppInstallationRequest:
type: object
properties:
installationId:
description: GitHub App installation ID
type: integer
format: int64
required:
- installationId
UpdateGithubAppInstallationRequest:
type: object
properties:
installationId:
description: GitHub App installation ID
type: integer
format: int64
required:
- installationId
GithubRepository:
description: A mapping between a GitHub repository and a Xata project
type: object
properties:
id:
description: Unique identifier of the mapping record
type: string
githubRepositoryID:
description: GitHub repository ID
type: integer
format: int64
project:
description: Project ID this mapping is associated with
type: string
rootBranchId:
description: ID of the root Xata branch mapped to this repository
type: string
createdAt:
description: Timestamp when the mapping was created
type: string
format: date-time
updatedAt:
description: Timestamp when the mapping was last updated
type: string
format: date-time
required:
- id
- githubRepositoryID
- project
- rootBranchId
- createdAt
- updatedAt
CreateGithubRepositoryRequest:
type: object
properties:
githubRepositoryID:
description: GitHub repository ID
type: integer
format: int64
required:
- githubRepositoryID
GithubInstallation:
description: A GitHub App installation associated with an organization
type: object
properties:
id:
description: Unique identifier of the installation record
type: string
installationId:
description: GitHub App installation ID
type: integer
format: int64
organization:
description: Organization ID this installation belongs to
type: string
createdAt:
description: Timestamp when the installation was created
type: string
format: date-time
updatedAt:
description: Timestamp when the installation was last updated
type: string
format: date-time
required:
- id
- installationId
- organization
- createdAt
- updatedAt
responses:
GenericError:
description: Generic error response for most error conditions
content:
application/json:
schema:
type: object
properties:
id:
description: Error identifier for tracking and debugging
type: string
message:
description: Human-readable error message explaining the issue
type: string
required:
- message
AuthorizationError:
description: Error response when authentication or authorization fails
content:
application/json:
schema:
type: object
properties:
id:
description: Error identifier for tracking and debugging
type: string
message:
description: Human-readable error message explaining the authentication or authorization issue
type: string
required:
- message
securitySchemes:
oidc:
type: openIdConnect
openIdConnectUrl: https://auth.xata.io/realms/xata/.well-known/openid-configuration
apiKey:
type: apiKey
in: header
name: Authorization
description: 'API key authentication using Bearer token format: Bearer <api_key>'
xata:
type: oauth2
flows:
implicit:
authorizationUrl: https://auth.xata.io/realms/xata/protocol/openid-connect/auth
scopes:
org:read: Read organization information
org:write: Create and modify organizations
keys:read: Read API keys
keys:write: Create and manage API keys
project:read: Read project information
project:write: Create and modify projects
branch:read: Read branch information
branch:write: Create and modify branches
metrics:read: Read metrics data
logs:read: Read logs data
credentials:read: Read credentials
credentials:write: Rotate credentials
marketplace:write: Register with cloud marketplaces
branchConnectionString:
type: apiKey
in: header
name: Connection-String
description: Branch PostgreSQL connection string (`postgres://user:pass@{branch}.{region}.xata.tech/db`), including the embedded password. The hostname selects the target branch, region, and endpoint type (the `-rw`/`-ro` suffix, see `EndpointType`), and must match the request host. Obtain it from the Xata dashboard or the control-plane API. This is the only credential the gateway accepts; the control-plane API key (Bearer token) is rejected here. For the WebSocket endpoint (`GET /v2`) the same connection string is conveyed via the PostgreSQL startup message instead of this header.
externalDocs:
url: https://xata.io/docs/api
x-tagGroups:
- name: Authentication API
tags:
- Organizations
- Users
- API Keys
- Marketplace
- Billing
- Webhooks
- name: Gateway API
tags:
- Gateway
- name: Projects API
tags:
- Projects Webhooks
- Projects
- Branches
- GitHub App
- Metrics
- Logs