Create an issue attachment
POST
/repos/{owner}/{repo}/issues/{index}/assets
const url = 'https://gitea.example.com/api/v1/repos/example/example/issues/1/assets';const form = new FormData();form.append('attachment', 'file');
const options = {method: 'POST', headers: {Authorization: 'Basic <credentials>'}};
options.body = form;
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://gitea.example.com/api/v1/repos/example/example/issues/1/assets \ --header 'Authorization: Basic <credentials>' \ --header 'Content-Type: multipart/form-data' \ --form attachment=@fileAuthorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”owner
required
string
Owner of the repo
repo
required
string
Name of the repo
index
required
integer format: int64
Index of the issue
Query Parameters
Section titled “Query Parameters”name
string
Name of the attachment
FormData Parameters
Section titled “FormData Parameters”attachment
required
file
Attachment to upload
Responses
Section titled “Responses”Attachment
Media typeapplication/json
Attachment a generic attachment
object
browser_download_url
DownloadURL is the URL to download the attachment
string
created_at
string format: date-time
download_count
DownloadCount is the number of times the attachment has been downloaded
integer format: int64
id
ID is the unique identifier for the attachment
integer format: int64
name
Name is the filename of the attachment
string
size
Size is the file size in bytes
integer format: int64
uuid
UUID is the unique identifier for the attachment file
string
Examplegenerated
{ "browser_download_url": "example", "created_at": "2026-04-15T12:00:00Z", "download_count": 1, "id": 1, "name": "example", "size": 1, "uuid": "example"}APIError is error format response
Media typeapplication/json
Headers
Section titled “Headers”message
string
url
string
APIError is error format response
Media typeapplication/json
Headers
Section titled “Headers”message
string
url
string
APIError is error format response
Media typeapplication/json
Headers
Section titled “Headers”message
string
url
string
APIValidationError is error format response related to input validation
Media typeapplication/json
Headers
Section titled “Headers”message
string
url
string
APIRepoArchivedError is an error that is raised when an archived repo should be modified
Media typeapplication/json
Headers
Section titled “Headers”message
string
url
string