Modify multiple files in a repository
Authorizations
Section titled “ Authorizations ”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “ Path Parameters ”Owner of the repo
Name of the repo
Request Body
Section titled “ Request Body ”ChangeFilesOptions options for creating, updating or deleting multiple files
Note: author and committer are optional (if only one is given, it will be used for the other, otherwise the authenticated user will be used)
object
Identity for a person’s identity like an author or committer
object
Branch (optional) to base this file from. if not given, the default branch is used
Identity for a person’s identity like an author or committer
object
CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE
object
List of file operations
ChangeFileOperation for creating, updating or deleting a file
object
New or updated file content, must be base64 encoded
Old path of the file to move
Indicates what to do with the file
Path to the existing or new file
Sha is the SHA for the file that already exists, required for update or delete
(optional) will do a force-push if the new branch already exists
Message (optional) for the commit of this file. if not supplied, a default message will be used
New_branch (optional) will make a new branch from branch before creating the file
Add a Signed-off-by trailer by the committer at the end of the commit log message.
Responses
Section titled “ Responses ”FilesResponse
FilesResponse contains information about multiple files from a repo
object
object
object
object
object
object
ContentsResponse contains information about a repo’s entry’s (dir, file, symlink, submodule) metadata and content
object
FileLinksResponse contains the links for a repo’s file
object
content is populated when type is file, otherwise null
encoding is populated when type is file, otherwise null
submodule_git_url is populated when type is submodule, otherwise null
target is populated when type is symlink, otherwise null
type will be file, dir, symlink, or submodule
PayloadCommitVerification represents the GPG verification of a commit
object
PayloadUser represents the author or committer of a commit
object
Full name of the commit author
Example generated
{ "commit": { "author": { "date": "example", "email": "hello@example.com", "name": "example" }, "committer": { "date": "example", "email": "hello@example.com", "name": "example" }, "created": "2026-04-15T12:00:00Z", "html_url": "example", "message": "example", "parents": [ { "created": "2026-04-15T12:00:00Z", "sha": "example", "url": "example" } ], "sha": "example", "tree": { "created": "2026-04-15T12:00:00Z", "sha": "example", "url": "example" }, "url": "example" }, "files": [ { "_links": { "git": "example", "html": "example", "self": "example" }, "content": "example", "download_url": "example", "encoding": "example", "git_url": "example", "html_url": "example", "last_commit_sha": "example", "last_commit_when": "2026-04-15T12:00:00Z", "name": "example", "path": "example", "sha": "example", "size": 1, "submodule_git_url": "example", "target": "example", "type": "example", "url": "example" } ], "verification": { "payload": "example", "reason": "example", "signature": "example", "signer": { "email": "hello@example.com", "name": "example", "username": "example" }, "verified": true }}APIError is error format response
APIError is an api error with a message
object
Example generated
{ "message": "example", "url": "example"}APINotFound is a not found error response
object
Example generated
{ "errors": [ "example" ], "message": "example", "url": "example"}APIConflict is a conflict empty response
QuotaExceeded
Headers
Section titled “ Headers ”APIError is error format response
APIError is an api error with a message
object
Example generated
{ "message": "example", "url": "example"}APIRepoArchivedError is an error that is raised when an archived repo should be modified
object
Example generated
{ "message": "example", "url": "example"}