openapi: 3.0.3
info:
version: 1.1.4
title: GitHub Application About Columns API
description: 'Use the REST API to retrieve information about GitHub Apps and GitHub App
installations.'
license:
name: MIT
url: https://spdx.org/licenses/MIT
termsOfService: https://docs.github.com/articles/github-terms-of-service
contact:
name: Support
url: https://support.github.com/contact?tags=dotcom-rest-api
x-github-plan: ghes
x-github-release: 3.9
servers:
- url: '{protocol}://{hostname}/api/v3'
variables:
hostname:
description: Self-hosted Enterprise Server hostname
default: HOSTNAME
protocol:
description: Self-hosted Enterprise Server protocol
default: http
tags:
- name: Columns
paths:
/projects/columns/{column_id}/moves:
post:
summary: GitHub Move Project Column
description: This API endpoint allows you to change the position of a project column within a GitHub project board by sending a POST request to /projects/columns/{column_id}/moves. You must specify the column_id in the URL path and provide the desired position in the request body, either as an absolute position using the "position" parameter (e.g., "first", "last", or a specific index) or relative to another column. The authenticated user must have write access to the project to perform this operation. This is useful for reorganizing project boards to better reflect workflow stages or priority order without having to recreate columns.
tags:
- Columns
operationId: moveProjectColumn
externalDocs:
description: API method documentation
url: https://docs.github.com/enterprise-server@3.9/rest/projects/columns#move-a-project-column
parameters:
- $ref: '#/components/parameters/column-id'
requestBody:
required: true
content:
application/json:
schema:
properties:
position:
description: 'The position of the column in a project. Can be one of: `first`, `last`, or `after:<column_id>` to place after the specified column.'
example: last
type: string
pattern: ^(?:first|last|after:\d+)$
required:
- position
type: object
examples:
default:
summary: Move the column to the end of the board
value:
position: last
responses:
'201':
description: Response
content:
application/json:
schema:
type: object
properties: {}
additionalProperties: false
examples:
default:
value: null
'304':
$ref: '#/components/responses/not_modified'
'401':
$ref: '#/components/responses/requires_authentication'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/validation_failed_simple'
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
category: projects
subcategory: columns
security:
- bearerHttpAuthentication: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/projects/{project_id}/columns:
get:
summary: GitHub List Project Columns
description: This API endpoint retrieves all columns within a specified GitHub project board by providing the project's unique identifier in the URL path. When called with a GET request to /projects/{project_id}/columns, it returns an array of column objects containing details such as column names, identifiers, creation dates, and update timestamps for each column in the project. This operation is useful for developers who need to programmatically access the structure of a project board, enumerate available columns for task organization, or integrate project management data into external applications and workflows.
tags:
- Columns
operationId: listProjectColumns
externalDocs:
description: API method documentation
url: https://docs.github.com/enterprise-server@3.9/rest/projects/columns#list-project-columns
parameters:
- $ref: '#/components/parameters/project-id'
- $ref: '#/components/parameters/per-page'
- $ref: '#/components/parameters/page'
responses:
'200':
description: Response
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/project-column'
examples:
default:
$ref: '#/components/examples/project-column-items'
headers:
Link:
$ref: '#/components/headers/link'
'304':
$ref: '#/components/responses/not_modified'
'401':
$ref: '#/components/responses/requires_authentication'
'403':
$ref: '#/components/responses/forbidden'
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
category: projects
subcategory: columns
security:
- bearerHttpAuthentication: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
post:
summary: GitHub Create Project Column
description: Creates a new column in a GitHub project board by sending a POST request to the /projects/{project_id}/columns endpoint, where {project_id} is the unique identifier of the target project. This operation requires authentication and appropriate permissions to modify the project. The request body must include the column name and can optionally specify the column's position within the project board. Upon successful creation, the API returns a 201 status code along with the newly created column's details, including its unique column ID, name, project URL, and creation timestamp. This endpoint is useful for programmatically organizing project workflows by adding new stages or categories to track issues and pull requests.
tags:
- Columns
operationId: createProjectColumn
externalDocs:
description: API method documentation
url: https://docs.github.com/enterprise-server@3.9/rest/projects/columns#create-a-project-column
parameters:
- $ref: '#/components/parameters/project-id'
requestBody:
required: true
content:
application/json:
schema:
properties:
name:
description: Name of the project column
example: Remaining tasks
type: string
required:
- name
type: object
examples:
default:
value:
name: Remaining tasks
responses:
'201':
description: Response
content:
application/json:
schema:
$ref: '#/components/schemas/project-column'
examples:
default:
value:
url: https://api.github.com/projects/columns/367
project_url: https://api.github.com/projects/120
cards_url: https://api.github.com/projects/columns/367/cards
id: 367
node_id: MDEzOlByb2plY3RDb2x1bW4zNjc=
name: To Do
created_at: '2016-09-05T14:18:44Z'
updated_at: '2016-09-05T14:22:28Z'
'304':
$ref: '#/components/responses/not_modified'
'401':
$ref: '#/components/responses/requires_authentication'
'403':
$ref: '#/components/responses/forbidden'
'422':
$ref: '#/components/responses/validation_failed_simple'
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
category: projects
subcategory: columns
security:
- bearerHttpAuthentication: []
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
responses:
forbidden:
description: Forbidden
content:
application/json:
schema:
$ref: '#/components/schemas/basic-error'
requires_authentication:
description: Requires authentication
content:
application/json:
schema:
$ref: '#/components/schemas/basic-error'
validation_failed_simple:
description: Validation failed, or the endpoint has been spammed.
content:
application/json:
schema:
$ref: '#/components/schemas/validation-error-simple'
not_modified:
description: Not modified
schemas:
basic-error:
title: Basic Error
description: Basic Error
type: object
properties:
message:
type: string
example: Example body text
documentation_url:
type: string
example: https://api.github.com/repos/octocat/Hello-World
url:
type: string
example: https://api.github.com/repos/octocat/Hello-World
status:
type: string
example: open
validation-error-simple:
title: Validation Error Simple
description: Validation Error Simple
type: object
required:
- message
- documentation_url
properties:
message:
type: string
example: Example body text
documentation_url:
type: string
example: https://api.github.com/repos/octocat/Hello-World
errors:
type: array
items:
type: string
project-column:
title: Project Column
description: Project columns contain cards of work.
type: object
properties:
url:
type: string
format: uri
example: https://api.github.com/projects/columns/367
project_url:
type: string
format: uri
example: https://api.github.com/projects/120
cards_url:
type: string
format: uri
example: https://api.github.com/projects/columns/367/cards
id:
description: The unique identifier of the project column
example: 42
type: integer
node_id:
type: string
example: MDEzOlByb2plY3RDb2x1bW4zNjc=
name:
description: Name of the project column
example: Remaining tasks
type: string
created_at:
type: string
format: date-time
example: '2016-09-05T14:18:44Z'
updated_at:
type: string
format: date-time
example: '2016-09-05T14:22:28Z'
required:
- id
- node_id
- url
- project_url
- cards_url
- name
- created_at
- updated_at
headers:
link:
example: <https://api.github.com/resource?page=2>; rel="next", <https://api.github.com/resource?page=5>; rel="last"
schema:
type: string
examples:
project-column-items:
value:
- url: https://api.github.com/projects/columns/367
project_url: https://api.github.com/projects/120
cards_url: https://api.github.com/projects/columns/367/cards
id: 367
node_id: MDEzOlByb2plY3RDb2x1bW4zNjc=
name: To Do
created_at: '2016-09-05T14:18:44Z'
updated_at: '2016-09-05T14:22:28Z'
parameters:
project-id:
name: project_id
description: The unique identifier of the project.
in: path
required: true
schema:
type: integer
column-id:
name: column_id
description: The unique identifier of the column.
in: path
required: true
schema:
type: integer
per-page:
name: per_page
description: The number of results per page (max 100). For more information, see "[Using pagination in the REST API](https://docs.github.com/enterprise-server@3.9/rest/using-the-rest-api/using-pagination-in-the-rest-api)."
in: query
schema:
type: integer
default: 30
page:
name: page
description: The page number of the results to fetch. For more information, see "[Using pagination in the REST API](https://docs.github.com/enterprise-server@3.9/rest/using-the-rest-api/using-pagination-in-the-rest-api)."
in: query
schema:
type: integer
default: 1
securitySchemes:
bearerHttpAuthentication:
description: Bearer Token
type: http
scheme: Bearer
externalDocs:
description: GitHub Enterprise Developer Docs
url: https://docs.github.com/enterprise-server@3.9/rest/
x-webhooks:
branch-protection-rule-created:
post:
summary: 'This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/enterprise-server@3.9/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/enterprise-server@3.9/rest/branches/branch-protection)" in the REST API documentation.
To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission.'
description: A branch protection rule was created.
operationId: branch-protection-rule/created
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#branch_protection_rule
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-branch-protection-rule-created'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
category: webhooks
subcategory: branch_protection_rule
supported-webhook-types:
- repository
- organization
- app
branch-protection-rule-deleted:
post:
summary: 'This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/enterprise-server@3.9/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/enterprise-server@3.9/rest/branches/branch-protection)" in the REST API documentation.
To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission.'
description: A branch protection rule was deleted.
operationId: branch-protection-rule/deleted
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#branch_protection_rule
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-branch-protection-rule-deleted'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
category: webhooks
subcategory: branch_protection_rule
supported-webhook-types:
- repository
- organization
- app
branch-protection-rule-edited:
post:
summary: 'This event occurs when there is activity relating to branch protection rules. For more information, see "[About protected branches](https://docs.github.com/enterprise-server@3.9/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches)." For information about the APIs to manage branch protection rules, see [the GraphQL documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#branchprotectionrule) or "[Branch protection](https://docs.github.com/enterprise-server@3.9/rest/branches/branch-protection)" in the REST API documentation.
To subscribe to this event, a GitHub App must have at least read-level access for the "Administration" repository permission.'
description: A branch protection rule was edited.
operationId: branch-protection-rule/edited
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#branch_protection_rule
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-branch-protection-rule-edited'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
category: webhooks
subcategory: branch_protection_rule
supported-webhook-types:
- repository
- organization
- app
cache-sync:
post:
summary: This event occurs when a Git ref has been successfully synced to a cache replica. For more information, see "[About repository caching](https://docs.github.com/enterprise-server@3.9/admin/enterprise-management/caching-repositories/about-repository-caching)."
operationId: cache-sync
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#cache_sync
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-cache-sync'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
category: webhooks
subcategory: cache_sync
supported-webhook-types:
- repository
- organization
- app
check-run-completed:
post:
summary: 'This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/enterprise-server@3.9/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/enterprise-server@3.9/rest/checks/runs)" in the REST API documentation.
For activity relating to check suites, use the `check-suite` event.
To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event.
Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories.
**Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.'
description: A check run was completed, and a conclusion is available.
operationId: check-run/completed
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#check_run
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-check-run-completed'
examples:
default:
$ref: '#/components/examples/check-run-completed'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/webhook-check-run-completed-form-encoded'
examples:
default:
$ref: '#/components/examples/check-run-completed-form-encoded'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
category: webhooks
subcategory: check_run
supported-webhook-types:
- repository
- organization
- app
check-run-created:
post:
summary: 'This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/enterprise-server@3.9/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/enterprise-server@3.9/rest/checks/runs)" in the REST API documentation.
For activity relating to check suites, use the `check-suite` event.
To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event.
Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories.
**Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.'
description: A new check run was created.
operationId: check-run/created
externalDocs:
url: https://docs.github.com/enterprise-server@3.9/webhooks/webhook-events-and-payloads#check_run
parameters:
- name: User-Agent
in: header
example: GitHub-Hookshot/123abc
schema:
type: string
- name: X-Github-Hook-Id
in: header
example: 12312312
schema:
type: string
- name: X-Github-Event
in: header
example: issues
schema:
type: string
- name: X-Github-Hook-Installation-Target-Id
in: header
example: 123123
schema:
type: string
- name: X-Github-Hook-Installation-Target-Type
in: header
example: repository
schema:
type: string
- name: X-GitHub-Delivery
in: header
example: 0b989ba4-242f-11e5-81e1-c7b6966d2516
schema:
type: string
- name: X-Hub-Signature-256
in: header
example: sha256=6dcb09b5b57875f334f61aebed695e2e4193db5e
schema:
type: string
- name: X-GitHub-Enterprise-Version
in: header
example: 3.1.9
schema:
type: string
- name: X-GitHub-Enterprise-Host
in: header
example: ghes.github.com
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/webhook-check-run-created'
examples:
default:
$ref: '#/components/examples/check-run-created'
application/x-www-form-urlencoded:
schema:
$ref: '#/components/schemas/webhook-check-run-created-form-encoded'
examples:
default:
$ref: '#/components/examples/check-run-created-form-encoded'
responses:
'200':
description: Return a 200 status to indicate that the data was received successfully
x-github:
githubCloudOnly: false
enabledForGitHubApps: true
category: webhooks
subcategory: check_run
supported-webhook-types:
- repository
- organization
- app
check-run-requested-action:
post:
summary: 'This event occurs when there is activity relating to a check run. For information about check runs, see "[Getting started with the Checks API](https://docs.github.com/enterprise-server@3.9/rest/guides/getting-started-with-the-checks-api)." For information about the APIs to manage check runs, see [the GraphQL API documentation](https://docs.github.com/enterprise-server@3.9/graphql/reference/objects#checkrun) or "[Check Runs](https://docs.github.com/enterprise-server@3.9/rest/checks/runs)" in the REST API documentation.
For activity relating to check suites, use the `check-suite` event.
To subscribe to this event, a GitHub App must have at least read-level access for the "Checks" repository permission. To receive the `rerequested` and `requested_action` event types, the app must have at least write-level access for the "Checks" permission. GitHub Apps with write-level access for the "Checks" permission are automatically subscribed to this webhook event.
Repository and organization webhooks only receive payloads for the `created` and `completed` event types in repositories.
**Note**: The API only looks for pushes in the repository where the check run was created. Pushes to a branch in a forked repository are not detected and return an empty `pull_requests` array and a `null` value for `head_branch`.'
description: A check run completed, and someone requested a followup action that your app provides. Only the GitHub App someone requests to perform an action will receive the `requested_action` payload. For more information, see "[Creating CI tests with the Checks API](https://docs.github.com/enterprise-server@3.9/developers/apps/guides/creating-ci-tests-with-the-checks-api)."
operationId: check-
# --- truncated at 32 KB (614 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/github/refs/heads/main/openapi/github-columns-api-openapi.yml