POST
POST /users/{username}/projectsV2/{project_number}/fields — GitHub API
GitHub token (required); https://api.github.com
GitHub APIAdd field to user owned project
- Base URL
- https://api.github.com
- Auth
- Authorization: Bearer <GITHUB_API_KEY>
- Last verified
- 2026-10-20 · upstream hash matched
Actions Try in browser→
Agents: curl -H "Accept: text/markdown" this URL
→ 237 tokens · Vary: Accept
→ 237 tokens · Vary: Accept
Critical gotchas
GitHub recommends an Accept: application/vnd.github+json header and an explicit X-GitHub-Api-Version header.
Fine-grained tokens only authorize repositories and permissions selected when the token is created.
cURL
curl -X POST 'https://api.github.com/users/example-username/projectsV2/10/fields' \ -H "Authorization: Bearer $GITHUB_TOKEN" \ -H 'Accept: application/vnd.github+json' \ -H 'X-GitHub-Api-Version: 2026-03-10' \ -H 'Content-Type: application/json' \ -d '{ "name": "example-name", "data_type": "text"}'
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
| username | path | string | Yes | The handle for the GitHub user account. |
| project_number | path | integer | Yes | The project's number. |
| name | body | string | Yes | The name of the field. |
| data_type | body | string | Yes | The field's data type. |
Response 200 OK
{
"id": 0,
"issue_field_id": 0,
"node_id": "string",
"project_url": "https://api.github.com/projects/1",
"name": "string",
"data_type": "assignees",
"options": [
{
"id": "string",
"name": {
"raw": "string",
"html": "string"
},
"description": {
"raw": "string",
"html": "string"
},
"color": "string"
}
],
"configuration": {
"start_day": 0,
"duration": 0,
"iterations": [
{
"id": "string",
"start_date": "2026-09-03",
"duration": 0,
"title": {
"raw": "string",
"html": "string"
},
"completed": true
}
]
},
"created_at": "2022-04-28T12:00:00Z",
"updated_at": "2022-04-28T12:00:00Z"
} Get a free GitHub API key → sponsored Affiliate link - we may earn a commission, at no extra cost to you.