apicheats.dev github/llms.txt Raw .md
PUT

PUT /repos/{owner}/{repo}/contents/{path} — GitHub API

GitHub token (required); https://api.github.com

GitHub API

Create or update file contents

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
→ 359 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 PUT 'https://api.github.com/repos/example-owner/example-repo/contents/example-path' \  -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 '{  "message": "example-message",  "content": "example-content"}'

Parameters

Name In Type Required Description
owner path string Yes The account owner of the repository. The name is not case sensitive.
repo path string Yes The name of the repository without the `.git` extension. The name is not case sensitive.
path path string Yes path parameter
message body string Yes The commit message.
content body string Yes The new file content, using Base64 encoding.
sha body string No **Required if you are updating a file**. The blob SHA of the file being replaced.
branch body string No The branch name. Default: the repository’s default branch.
committer body object No The person that committed the file. Default: the authenticated user.
author body object No The author of the file. Default: The `committer` or the authenticated user if you omit `committer`.

Response 200 OK

{
  "content": {
    "name": "string",
    "path": "string",
    "sha": "string",
    "size": 0,
    "url": "string",
    "html_url": "string",
    "git_url": "string",
    "download_url": "string",
    "type": "string",
    "_links": {
      "self": "string",
      "git": "string",
      "html": "string"
    }
  },
  "commit": {
    "sha": "string",
    "node_id": "string",
    "url": "string",
    "html_url": "string",
    "author": {
      "date": "string",
      "name": "string",
      "email": "string"
    },
    "committer": {
      "date": "string",
      "name": "string",
      "email": "string"
    },
    "message": "string",
    "tree": {
      "url": "string",
      "sha": "string"
    },
    "parents": [
      {
        "url": "string",
        "html_url": "string",
        "sha": "string"
      }
    ],
    "verification": {
      "verified": true,
      "reason": "string",
      "signature": "string",
      "payload": "string",
      "verified_at": "string"
    }
  }
}
Get a free GitHub API key → sponsored

Affiliate link - we may earn a commission, at no extra cost to you.