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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
The fine-grained token must have the following permission set:
- "Copilot Spaces" organization permissions (read)
Parameters for "List resources for an organization Copilot Space"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
org string RequiredThe organization name. The name is not case sensitive. |
space_number integer RequiredThe unique identifier of the Copilot Space. |
HTTP response status codes for "List resources for an organization Copilot Space"
| Status code | Description |
|---|---|
200 | OK |
403 | Forbidden |
404 | Resource not found |
Code samples for "List resources for an organization Copilot Space"
Request example
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/resourcesResponse
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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
org string RequiredThe organization name. The name is not case sensitive. |
space_number integer RequiredThe unique identifier of the Copilot Space. |
| Name, Type, Description |
|---|
resource_type string RequiredThe type of resource to create. Can be one of: |
metadata object RequiredResource-specific metadata. |
HTTP response status codes for "Create a resource for an organization Copilot Space"
| Status code | Description |
|---|---|
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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
org string RequiredThe organization name. The name is not case sensitive. |
space_number integer RequiredThe unique identifier of the Copilot Space. |
space_resource_id integer RequiredThe unique identifier of the resource. |
HTTP response status codes for "Get a resource for an organization Copilot Space"
| Status code | Description |
|---|---|
200 | OK |
403 | Forbidden |
404 | Resource not found |
Code samples for "Get a resource for an organization Copilot Space"
Request example
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_IDResponse
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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
org string RequiredThe organization name. The name is not case sensitive. |
space_number integer RequiredThe unique identifier of the Copilot Space. |
space_resource_id integer RequiredThe unique identifier of the resource. |
| Name, Type, Description |
|---|
metadata object Updated resource-specific metadata. |
HTTP response status codes for "Set a resource for an organization Copilot Space"
| Status code | Description |
|---|---|
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"
Request example
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:
- GitHub App user access tokens
- GitHub App installation access tokens
- Fine-grained personal access tokens
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
org string RequiredThe organization name. The name is not case sensitive. |
space_number integer RequiredThe unique identifier of the Copilot Space. |
space_resource_id integer RequiredThe unique identifier of the resource. |
HTTP response status codes for "Delete a resource from an organization Copilot Space"
| Status code | Description |
|---|---|
204 | No Content |
403 | Forbidden |
404 | Resource not found |
Code samples for "Delete a resource from an organization Copilot Space"
Request example
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_IDResponse
Status: 204List 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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
username string RequiredThe handle for the GitHub user account. |
space_number integer RequiredThe unique identifier of the Copilot Space. |
HTTP response status codes for "List resources for a Copilot Space for a user"
| Status code | Description |
|---|---|
200 | OK |
403 | Forbidden |
404 | Resource not found |
Code samples for "List resources for a Copilot Space for a user"
Request example
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/resourcesResponse
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
username string RequiredThe handle for the GitHub user account. |
space_number integer RequiredThe unique identifier of the Copilot Space. |
| Name, Type, Description |
|---|
resource_type string RequiredThe type of resource to create. Can be one of: |
metadata object RequiredResource-specific metadata. |
HTTP response status codes for "Create a resource for a Copilot Space for a user"
| Status code | Description |
|---|---|
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
username string RequiredThe handle for the GitHub user account. |
space_number integer RequiredThe unique identifier of the Copilot Space. |
space_resource_id integer RequiredThe unique identifier of the resource. |
HTTP response status codes for "Get a resource for a Copilot Space for a user"
| Status code | Description |
|---|---|
200 | OK |
403 | Forbidden |
404 | Resource not found |
Code samples for "Get a resource for a Copilot Space for a user"
Request example
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_IDResponse
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
username string RequiredThe handle for the GitHub user account. |
space_number integer RequiredThe unique identifier of the Copilot Space. |
space_resource_id integer RequiredThe unique identifier of the resource. |
| 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 code | Description |
|---|---|
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"
Request example
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"
| Name, Type, Description |
|---|
accept string Setting to |
| Name, Type, Description |
|---|
username string RequiredThe handle for the GitHub user account. |
space_number integer RequiredThe unique identifier of the Copilot Space. |
space_resource_id integer RequiredThe unique identifier of the resource. |
HTTP response status codes for "Delete a resource from a Copilot Space for a user"
| Status code | Description |
|---|---|
204 | No Content |
403 | Forbidden |
404 | Resource not found |
Code samples for "Delete a resource from a Copilot Space for a user"
Request example
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_IDResponse
Status: 204