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