Skip to main content
The REST API is now versioned. For more information, see "About API versioning."

REST API endpoints for Copilot Spaces

Use the REST API to interact with Copilot Spaces resources.

List resources for an organization Copilot Space

Lists all resources attached to a specific Copilot Space owned by an organization. The authenticated user must have appropriate permissions to view the space.

OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint.

Fine-grained access tokens for "List resources for an organization Copilot Space"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Copilot Spaces" organization permissions (read)

Parameters for "List resources for an organization Copilot Space"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

space_number integer Required

The unique identifier of the Copilot Space.

HTTP response status codes for "List resources for an organization Copilot Space"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

Code samples for "List resources for an organization Copilot Space"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

get/orgs/{org}/copilot-spaces/{space_number}/resources
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/orgs/ORG/copilot-spaces/SPACE_NUMBER/resources

Response

Status: 200
{ "resources": [ { "id": 1, "resource_type": "repository", "copilot_chat_attachment_id": null, "metadata": { "repository_id": 42 }, "created_at": "2025-01-01T00:00:00Z", "updated_at": "2025-01-01T00:00:00Z" }, { "id": 2, "resource_type": "free_text", "copilot_chat_attachment_id": null, "metadata": { "name": "notes.txt", "text": "Some helpful notes" }, "created_at": "2025-01-01T00:00:00Z", "updated_at": "2025-01-01T00:00:00Z" } ] }

Create a resource for an organization Copilot Space

Creates a new resource in a specific Copilot Space owned by an organization. The authenticated user must have write permissions on the space.

The following resource types are supported: repository, github_file, free_text, github_issue, github_pull_request. The uploaded_text_file and media_content types are not supported via this endpoint.

For github_file resources, if a resource with the same repository, file path, and SHA already exists, the existing resource is returned with a 200 status.

OAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.

Fine-grained access tokens for "Create a resource for an organization Copilot Space"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Copilot Spaces" organization permissions (write)

Parameters for "Create a resource for an organization Copilot Space"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

space_number integer Required

The unique identifier of the Copilot Space.

Body parameters
Name, Type, Description
resource_type string Required

The type of resource to create.

Can be one of: repository, github_file, free_text, github_issue, github_pull_request

metadata object Required

Resource-specific metadata.

HTTP response status codes for "Create a resource for an organization Copilot Space"

Status codeDescription
200

Duplicate github_file resource already exists

201

Resource created

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Get a resource for an organization Copilot Space

Gets a specific resource attached to a Copilot Space owned by an organization. The authenticated user must have appropriate permissions to view the space.

OAuth app tokens and personal access tokens (classic) need the read:org scope to use this endpoint.

Fine-grained access tokens for "Get a resource for an organization Copilot Space"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Copilot Spaces" organization permissions (read)

Parameters for "Get a resource for an organization Copilot Space"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

space_number integer Required

The unique identifier of the Copilot Space.

space_resource_id integer Required

The unique identifier of the resource.

HTTP response status codes for "Get a resource for an organization Copilot Space"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

Code samples for "Get a resource for an organization Copilot Space"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

get/orgs/{org}/copilot-spaces/{space_number}/resources/{space_resource_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/orgs/ORG/copilot-spaces/SPACE_NUMBER/resources/SPACE_RESOURCE_ID

Response

Status: 200
{ "id": 1, "resource_type": "free_text", "copilot_chat_attachment_id": null, "metadata": { "name": "notes.txt", "text": "Some helpful notes" }, "created_at": "2025-01-01T00:00:00Z", "updated_at": "2025-01-01T00:00:00Z" }

Set a resource for an organization Copilot Space

Updates the metadata of a resource in a specific Copilot Space owned by an organization. The authenticated user must have write permissions on the space.

OAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.

Fine-grained access tokens for "Set a resource for an organization Copilot Space"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Copilot Spaces" organization permissions (write)

Parameters for "Set a resource for an organization Copilot Space"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

space_number integer Required

The unique identifier of the Copilot Space.

space_resource_id integer Required

The unique identifier of the resource.

Body parameters
Name, Type, Description
metadata object

Updated resource-specific metadata.

HTTP response status codes for "Set a resource for an organization Copilot Space"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples for "Set a resource for an organization Copilot Space"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

put/orgs/{org}/copilot-spaces/{space_number}/resources/{space_resource_id}
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/orgs/ORG/copilot-spaces/SPACE_NUMBER/resources/SPACE_RESOURCE_ID \ -d '{"metadata":{"name":"updated-notes.txt","text":"Updated content"}}'

Response

Status: 200
{ "id": 1, "resource_type": "free_text", "copilot_chat_attachment_id": null, "metadata": { "name": "updated-notes.txt", "text": "Updated content" }, "created_at": "2025-01-01T00:00:00Z", "updated_at": "2025-01-01T12:00:00Z" }

Delete a resource from an organization Copilot Space

Deletes a resource from a specific Copilot Space owned by an organization. The authenticated user must have write permissions on the space.

OAuth app tokens and personal access tokens (classic) need the write:org scope to use this endpoint.

Fine-grained access tokens for "Delete a resource from an organization Copilot Space"

This endpoint works with the following fine-grained token types:

The fine-grained token must have the following permission set:

  • "Copilot Spaces" organization permissions (write)

Parameters for "Delete a resource from an organization Copilot Space"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
org string Required

The organization name. The name is not case sensitive.

space_number integer Required

The unique identifier of the Copilot Space.

space_resource_id integer Required

The unique identifier of the resource.

HTTP response status codes for "Delete a resource from an organization Copilot Space"

Status codeDescription
204

No Content

403

Forbidden

404

Resource not found

Code samples for "Delete a resource from an organization Copilot Space"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

delete/orgs/{org}/copilot-spaces/{space_number}/resources/{space_resource_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/orgs/ORG/copilot-spaces/SPACE_NUMBER/resources/SPACE_RESOURCE_ID

Response

Status: 204

List resources for a Copilot Space for a user

Lists all resources attached to a specific Copilot Space owned by a user. The authenticated user must have appropriate permissions to view the space.

OAuth app tokens and personal access tokens (classic) need the read:user scope to use this endpoint.

Fine-grained access tokens for "List resources for a Copilot Space for a user"

This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.

Parameters for "List resources for a Copilot Space for a user"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
username string Required

The handle for the GitHub user account.

space_number integer Required

The unique identifier of the Copilot Space.

HTTP response status codes for "List resources for a Copilot Space for a user"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

Code samples for "List resources for a Copilot Space for a user"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

get/users/{username}/copilot-spaces/{space_number}/resources
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/users/USERNAME/copilot-spaces/SPACE_NUMBER/resources

Response

Status: 200
{ "resources": [ { "id": 1, "resource_type": "free_text", "copilot_chat_attachment_id": null, "metadata": { "name": "notes.txt", "text": "Some helpful notes" }, "created_at": "2025-01-01T00:00:00Z", "updated_at": "2025-01-01T00:00:00Z" } ] }

Create a resource for a Copilot Space for a user

Creates a new resource in a specific Copilot Space owned by a user. The authenticated user must have write permissions on the space.

The following resource types are supported: repository, github_file, free_text, github_issue, github_pull_request. The uploaded_text_file and media_content types are not supported via this endpoint.

For github_file resources, if a resource with the same repository, file path, and SHA already exists, the existing resource is returned with a 200 status.

OAuth app tokens and personal access tokens (classic) need the write:user scope to use this endpoint.

Fine-grained access tokens for "Create a resource for a Copilot Space for a user"

This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.

Parameters for "Create a resource for a Copilot Space for a user"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
username string Required

The handle for the GitHub user account.

space_number integer Required

The unique identifier of the Copilot Space.

Body parameters
Name, Type, Description
resource_type string Required

The type of resource to create.

Can be one of: repository, github_file, free_text, github_issue, github_pull_request

metadata object Required

Resource-specific metadata.

HTTP response status codes for "Create a resource for a Copilot Space for a user"

Status codeDescription
200

Duplicate github_file resource already exists

201

Resource created

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Get a resource for a Copilot Space for a user

Gets a specific resource attached to a Copilot Space owned by a user. The authenticated user must have appropriate permissions to view the space.

OAuth app tokens and personal access tokens (classic) need the read:user scope to use this endpoint.

Fine-grained access tokens for "Get a resource for a Copilot Space for a user"

This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.

Parameters for "Get a resource for a Copilot Space for a user"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
username string Required

The handle for the GitHub user account.

space_number integer Required

The unique identifier of the Copilot Space.

space_resource_id integer Required

The unique identifier of the resource.

HTTP response status codes for "Get a resource for a Copilot Space for a user"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

Code samples for "Get a resource for a Copilot Space for a user"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

get/users/{username}/copilot-spaces/{space_number}/resources/{space_resource_id}
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/users/USERNAME/copilot-spaces/SPACE_NUMBER/resources/SPACE_RESOURCE_ID

Response

Status: 200
{ "id": 1, "resource_type": "free_text", "copilot_chat_attachment_id": null, "metadata": { "name": "notes.txt", "text": "Some helpful notes" }, "created_at": "2025-01-01T00:00:00Z", "updated_at": "2025-01-01T00:00:00Z" }

Set a resource for a Copilot Space for a user

Updates the metadata of a resource in a specific Copilot Space owned by a user. The authenticated user must have write permissions on the space.

OAuth app tokens and personal access tokens (classic) need the write:user scope to use this endpoint.

Fine-grained access tokens for "Set a resource for a Copilot Space for a user"

This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.

Parameters for "Set a resource for a Copilot Space for a user"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
username string Required

The handle for the GitHub user account.

space_number integer Required

The unique identifier of the Copilot Space.

space_resource_id integer Required

The unique identifier of the resource.

Body parameters
Name, Type, Description
metadata object

Updated resource-specific metadata.

HTTP response status codes for "Set a resource for a Copilot Space for a user"

Status codeDescription
200

OK

403

Forbidden

404

Resource not found

422

Validation failed, or the endpoint has been spammed.

Code samples for "Set a resource for a Copilot Space for a user"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

put/users/{username}/copilot-spaces/{space_number}/resources/{space_resource_id}
curl -L \ -X PUT \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/users/USERNAME/copilot-spaces/SPACE_NUMBER/resources/SPACE_RESOURCE_ID \ -d '{"metadata":{"name":"updated-notes.txt","text":"Updated content"}}'

Response

Status: 200
{ "id": 1, "resource_type": "free_text", "copilot_chat_attachment_id": null, "metadata": { "name": "updated-notes.txt", "text": "Updated content" }, "created_at": "2025-01-01T00:00:00Z", "updated_at": "2025-01-01T12:00:00Z" }

Delete a resource from a Copilot Space for a user

Deletes a resource from a specific Copilot Space owned by a user. The authenticated user must have write permissions on the space.

OAuth app tokens and personal access tokens (classic) need the write:user scope to use this endpoint.

Fine-grained access tokens for "Delete a resource from a Copilot Space for a user"

This endpoint does not work with GitHub App user access tokens, GitHub App installation access tokens, or fine-grained personal access tokens.

Parameters for "Delete a resource from a Copilot Space for a user"

Headers
Name, Type, Description
accept string

Setting to application/vnd.github+json is recommended.

Path parameters
Name, Type, Description
username string Required

The handle for the GitHub user account.

space_number integer Required

The unique identifier of the Copilot Space.

space_resource_id integer Required

The unique identifier of the resource.

HTTP response status codes for "Delete a resource from a Copilot Space for a user"

Status codeDescription
204

No Content

403

Forbidden

404

Resource not found

Code samples for "Delete a resource from a Copilot Space for a user"

If you access GitHub at GHE.com, replace api.github.com with your enterprise's dedicated subdomain at api.SUBDOMAIN.ghe.com.

Request example

delete/users/{username}/copilot-spaces/{space_number}/resources/{space_resource_id}
curl -L \ -X DELETE \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer <YOUR-TOKEN>" \ -H "X-GitHub-Api-Version: 2026-03-10" \ https://api.github.com/users/USERNAME/copilot-spaces/SPACE_NUMBER/resources/SPACE_RESOURCE_ID

Response

Status: 204