add a push mirror to the repository
POST
/repos/{owner}/{repo}/push_mirrors
const url = 'https://gitea.example.com/api/v1/repos/example/example/push_mirrors';const options = { method: 'POST', headers: {Authorization: 'Basic <credentials>', 'Content-Type': 'application/json'}, body: '{"interval":"example","remote_address":"example","remote_password":"example","remote_username":"example","sync_on_commit":true}'};
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/push_mirrors \ --header 'Authorization: Basic <credentials>' \ --header 'Content-Type: application/json' \ --data '{ "interval": "example", "remote_address": "example", "remote_password": "example", "remote_username": "example", "sync_on_commit": true }'Authorizations
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
Request Body
Section titled “Request Body”Media typeapplication/json
CreatePushMirrorOption represents need information to create a push mirror of a repository.
object
interval
The sync interval for automatic updates
string
remote_address
The remote repository URL to push to
string
remote_password
The password for authentication with the remote repository
string
remote_username
The username for authentication with the remote repository
string
sync_on_commit
Whether to sync on every commit
boolean
Examplegenerated
{ "interval": "example", "remote_address": "example", "remote_password": "example", "remote_username": "example", "sync_on_commit": true}Responses
Section titled “Responses”PushMirror
Media typeapplication/json
PushMirror represents information of a push mirror
object
created
string format: date-time
interval
The sync interval for automatic updates
string
last_error
The last error message encountered during sync
string
last_update
string format: date-time
remote_address
The remote repository URL being mirrored to
string
remote_name
The name of the remote in the git configuration
string
repo_name
The name of the source repository
string
sync_on_commit
Whether to sync on every commit
boolean
Examplegenerated
{ "created": "2026-04-15T12:00:00Z", "interval": "example", "last_error": "example", "last_update": "2026-04-15T12:00:00Z", "remote_address": "example", "remote_name": "example", "repo_name": "example", "sync_on_commit": true}APIError is error format response
Media typeapplication/json
Headers
Section titled “Headers”message
string
url
string
APIForbiddenError is a forbidden error response
Media typeapplication/json
Headers
Section titled “Headers”message
string
url
string
APINotFound is a not found empty response
Media typeapplication/json