Delete a file in a repository
const url = 'https://gitea.com/api/v1/repos/example/example/contents/example';const options = { method: 'DELETE', headers: {Authorization: 'Basic <credentials>', 'Content-Type': 'application/json'}, body: '{"author":{"email":"hello@example.com","name":"example"},"branch":"example","committer":{"email":"hello@example.com","name":"example"},"dates":{"author":"2026-04-15T12:00:00Z","committer":"2026-04-15T12:00:00Z"},"force_push":true,"message":"example","new_branch":"example","sha":"example","signoff":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request DELETE \ --url https://gitea.com/api/v1/repos/example/example/contents/example \ --header 'Authorization: Basic <credentials>' \ --header 'Content-Type: application/json' \ --data '{ "author": { "email": "hello@example.com", "name": "example" }, "branch": "example", "committer": { "email": "hello@example.com", "name": "example" }, "dates": { "author": "2026-04-15T12:00:00Z", "committer": "2026-04-15T12:00:00Z" }, "force_push": true, "message": "example", "new_branch": "example", "sha": "example", "signoff": true }'Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Owner of the repo
Name of the repo
Path of the file to delete
Request Bodyrequired
Section titled “Request Bodyrequired”DeleteFileOptions options for deleting a file
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
Email is the person’s email address
Name is the person’s name
Branch (optional) is the base branch for the changes. If not supplied, the default branch is used
Identity for a person’s identity like an author or committer
object
Email is the person’s email address
Name is the person’s name
CommitDateOptions store dates for GIT_AUTHOR_DATE and GIT_COMMITTER_DATE
object
Author is the author date for the commit
Committer is the committer date for the commit
Force_push (optional) will do a force-push if the new branch already exists
Message (optional) is the commit message of the changes. If not supplied, a default message will be used
New_branch (optional) will make a new branch from base branch for the changes. If not supplied, the changes will be committed to the base branch
The blob ID (SHA) for the file to delete
Add a Signed-off-by trailer by the committer at the end of the commit log message.
Examplegenerated
{ "author": { "email": "hello@example.com", "name": "example" }, "branch": "example", "committer": { "email": "hello@example.com", "name": "example" }, "dates": { "author": "2026-04-15T12:00:00Z", "committer": "2026-04-15T12:00:00Z" }, "force_push": true, "message": "example", "new_branch": "example", "sha": "example", "signoff": true}Responses
Section titled “Responses”FileDeleteResponse
FileDeleteResponse contains information about a repo’s file that was deleted
object
object
object
Date is the commit date in string format
Email is the person’s email address
Name is the person’s name
object
Date is the commit date in string format
Email is the person’s email address
Name is the person’s name
Created is the time when the commit was created
HTMLURL is the web URL for viewing this commit
Message is the commit message
Parents contains parent commit metadata
object
Created is the time when the commit was created
SHA is the commit SHA hash
URL is the API URL for the commit
SHA is the commit SHA hash
object
Created is the time when the commit was created
SHA is the commit SHA hash
URL is the API URL for the commit
URL is the API URL for the commit
Content is always null for delete operations
PayloadCommitVerification represents the GPG verification of a commit
object
The signed payload content
The reason for the verification status
The GPG signature of the commit
PayloadUser represents the author or committer of a commit
object
Full name of the commit author
Username of the user
Whether the commit signature is verified
Examplegenerated
{ "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": "https://example.com", "message": "example", "parents": [ { "created": "2026-04-15T12:00:00Z", "sha": "example", "url": "https://example.com" } ], "sha": "example", "tree": { "created": "2026-04-15T12:00:00Z", "sha": "example", "url": "https://example.com" }, "url": "https://example.com" }, "content": "example", "verification": { "payload": "example", "reason": "example", "signature": "example", "signer": { "email": "hello@example.com", "name": "example", "username": "example" }, "verified": true }}APIError is error format response
Headers
Section titled “Headers”APIError is error format response
Headers
Section titled “Headers”APIError is error format response
Headers
Section titled “Headers”APIError is error format response
Headers
Section titled “Headers”APIRepoArchivedError is an error that is raised when an archived repo should be modified