Get the metadata and contents of requested files
const url = 'https://gitea.com/api/v1/repos/example/example/file-contents?body=example';const options = {method: 'GET', headers: {Authorization: 'Basic <credentials>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://gitea.com/api/v1/repos/example/example/file-contents?body=example' \ --header 'Authorization: Basic <credentials>'See the POST method. This GET method supports to use JSON encoded request body in query parameter.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Owner of the repo
Name of the repo
Query Parameters
Section titled “Query Parameters”The name of the commit/branch/tag. Default to the repository’s default branch.
The JSON encoded body (see the POST request): {“files”: [“filename1”, “filename2”]}
Responses
Section titled “Responses”ContentsListResponse
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
Examplegenerated
[ { "_links": { "git": "example", "html": "example", "self": "example" }, "content": "example", "download_url": "example", "encoding": "example", "git_url": "example", "html_url": "example", "last_author_date": "2026-04-15T12:00:00Z", "last_commit_sha": "example", "last_committer_date": "2026-04-15T12:00:00Z", "name": "example", "path": "example", "sha": "example", "size": 1, "submodule_git_url": "example", "target": "example", "type": "example", "url": "example" }]APINotFound is a not found empty response