Weblates REST-API¶
Die API ist unter der URL /api/ erreichbar und basiert auf dem Django-REST-Framework. Sie können sie direkt oder über den Weblate Client verwenden. Siehe Bibliotheken und SDKs für offizielle Tools und von der Community gepflegte Integrationen.
Die API ist auch mittels OpenAPI 3.1 in der /api/schema/-URL dokumentiert; Sie können unter /api/docs/ nachschlagen.
Authentifizierung und allgemeine Parameter¶
Die schreibgeschützte API ist ohne Authentifizierung verfügbar, es sei denn, REQUIRE_LOGIN ist aktiviert. Nicht authentifizierte Anfragen werden stark gedrosselt (standardmäßig auf 100 Anfragen pro Tag), daher wird die Authentifizierung empfohlen.
The authentication uses a token, which you can get in your profile. Use it in
the Authorization header with the Token or Bearer scheme.
Unsupported schemes, such as Basic, return 401 Unauthorized, even
for public endpoints or when you are signed in using a browser session.
- ANY /¶
Generic request behaviour for the API, the headers, status codes and parameters here apply to all endpoints as well.
- Query Parameters:
format – Response format (overrides Accept). Possible values depend on REST framework setup, by default
json,csvandapiare supported. The latter provides a web browser interface for the API.page – Returns given page of paginated results (use next and previous fields in response to automate the navigation).
page_size – Return the given number of items per request. The default is 50 and the maximum is 1000. For the units endpoints the default is 100 with a maximum of 10000. The default value is also configurable using the PAGE_SIZE setting.
- Request Headers:
Authorization – optional token to authenticate as
Authorization: Token YOUR-TOKEN
- Response Headers:
Content-Type – this depends on Accept header of request
Allow – list of allowed HTTP methods on object
- Request JSON Object:
detail (string) – verbose description of the result (for HTTP status codes other than 200 OK)
count (int) – total item count for object lists
next (string) – next page URL for object lists
previous (string) – previous page URL for object lists
results (array) – results for object lists
url (string) – URL to access this resource using the API
web_url (string) – URL to access this resource using web browser
- Status Codes:
200 OK – when request was correctly handled
201 Created – when a new object was created successfully
204 No Content – when an object was deleted successfully
400 Bad Request – when form parameters are missing
401 Unauthorized – when authentication credentials are invalid or the authentication scheme is unsupported
403 Forbidden – when access is denied
429 Too Many Requests – when throttling is in place
Authentifizierungstoken¶
Geändert in Version 4.10: Projektbezogene Token wurden mit der Version 4.10 eingeführt.
Jeder Benutzer hat ein persönliches Zugangstoken, das im Benutzerprofil abgerufen werden kann. Neu generierte Benutzertoken haben das Präfix wlu_.
Es ist möglich, projektbezogene Token für den API-Zugang nur für ein bestimmtes Projekt zu erstellen. Diese Token können durch das Präfix wlp_ identifiziert werden.
Beispiele für die Authentifizierung¶
Beispielanfrage:
GET /api/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
Authorization: Token YOUR-TOKEN
Beispielantwort:
HTTP/1.0 200 OK
Date: Fri, 25 Mar 2016 09:46:12 GMT
Server: WSGIServer/0.1 Python/2.7.11+
Vary: Accept, Accept-Language, Cookie
X-Frame-Options: SAMEORIGIN
Content-Type: application/json
Content-Language: en
Allow: GET, HEAD, OPTIONS
{
"projects":"http://example.com/api/projects/",
"components":"http://example.com/api/components/",
"translations":"http://example.com/api/translations/",
"languages":"http://example.com/api/languages/"
}
CURL-Beispiel:
curl \
-H "Authorization: Token TOKEN" \
https://example.com/api/
Beispiele für die Parameterübergabe¶
Bei der POST-Methode können die Parameter entweder als Formularübermittlung (application/x-www-form-urlencoded) oder als JSON (application/json) angegeben werden.
Formular-Anfragebeispiel:
POST /api/projects/hello/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/x-www-form-urlencoded
Authorization: Token TOKEN
operation=pull
JSON-Anfragebeispiel:
POST /api/projects/hello/repository/ HTTP/1.1
Host: example.com
Accept: application/json
Content-Type: application/json
Authorization: Token TOKEN
Content-Length: 20
{"operation":"pull"}
CURL-Beispiel:
curl \
-d operation=pull \
-H "Authorization: Token TOKEN" \
http://example.com/api/components/hello/weblate/repository/
CURL-JSON-Beispiel:
curl \
--data-binary '{"operation":"pull"}' \
-H "Content-Type: application/json" \
-H "Authorization: Token TOKEN" \
http://example.com/api/components/hello/weblate/repository/
Komponenten und Kategorien¶
Um auf eine Komponente zuzugreifen, die in einer Kategorie verschachtelt ist, müssen Sie den Kategorienamen in einen URL-kodierten und durch einen Schrägstrich getrennten Komponentennamen ändern. Zum Beispiel usage in einer docs Kategorie muss als docs%252Fusage verwendet werden. Die vollständige URL wäre in diesem Fall zum Beispiel https://example.com/api/components/hello/docs%252Fusage/repository/.
API-Ratenbegrenzung¶
Die API-Anfragen sind ratenbegrenzt; die Standardkonfiguration begrenzt die Anzahl auf 100 Anfragen pro Tag für anonyme Benutzer und auf 5000 Anfragen pro Stunde für authentifizierte Benutzer.
Configure the default limits in settings.py using
API_RATELIMIT_ANON and API_RATELIMIT_USER.
Im Docker-Container kann dies mit WEBLATE_API_RATELIMIT_ANON und WEBLATE_API_RATELIMIT_USER konfiguriert werden.
Use API_RATELIMIT_USER_OVERRIDES to give an automation account a
different limit. Use API_RATELIMIT_IP_OVERRIDES for individual IP
addresses or networks, including anonymous CI clients:
API_RATELIMIT_USER_OVERRIDES = {"automation": "20000/hour"}
API_RATELIMIT_IP_OVERRIDES = {
"192.0.2.42": None,
"198.51.100.0/24": "10000/hour",
"2001:db8::/48": "10000/hour",
}
An explicit username override takes precedence over IP rules. Otherwise, the
most specific matching network applies; an individual address is equivalent to
a single-address network. A value of None exempts matching requests from API
rate limits, including the anonymous limit. Authentication and permissions still
apply: an exemption does not grant access to private projects or write operations.
Limits are counted per authenticated user, or per client IP for anonymous requests. Clients within a network do not share a single budget. Each override rule and rate has a separate budget, so changing a rule or rate starts a new budget. Requests without an override use the default limits.
IP rules use the client address resolved by Weblate. Behind a reverse proxy,
configure IP_BEHIND_REVERSE_PROXY, IP_PROXY_HEADER, and
IP_PROXY_OFFSET correctly. The trusted proxy must supply the client
address, and untrusted clients must not be able to bypass it. Exempting a shared
proxy address can exempt all clients using that proxy.
In Docker, configure the equivalent JSON mappings using
WEBLATE_API_RATELIMIT_USER_OVERRIDES and
WEBLATE_API_RATELIMIT_IP_OVERRIDES. Use JSON null for exemptions.
Der Status der Ratenbegrenzung wird in den folgenden Kopfzeilen gemeldet:
|
Zulässige Anzahl der auszuführenden Anfragen |
|
Verbleibende Anzahl der auszuführenden Anfragen |
|
Anzahl der Sekunden bis zum Zurücksetzen des Ratenbegrenzungsfensters |
Requests exempt from rate limiting do not include these headers.
Geändert in Version 4.1: Statuskopfzeilen für die Ratenbegrenzung hinzugefügt.
Fehlerreaktionen¶
Geändert in Version 5.10: Vor dieser Version waren Fehlerreaktionen endpunktspezifisch.
Weblate-Fehlerreaktionen werden basierend auf Error Response Format formatiert.
API-Einstiegspunkt¶
- GET /api/¶
The API root entry point.
Beispielanfrage:
GET /api/ HTTP/1.1 Host: example.com Accept: application/json, text/javascript Authorization: Token YOUR-TOKEN
Beispielantwort:
HTTP/1.0 200 OK Date: Fri, 25 Mar 2016 09:46:12 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, HEAD, OPTIONS { "projects":"http://example.com/api/projects/", "components":"http://example.com/api/components/", "translations":"http://example.com/api/translations/", "languages":"http://example.com/api/languages/" }
Benutzer¶
Added in version 4.0.
- GET /api/users/¶
Returns no results to unauthenticated users. Authenticated users without the global
user.vieworuser.editpermission see only their own basic details when listing without a username filter. They can search for other users by supplying a username prefix of at least two characters after trimming surrounding whitespace; these searches return the user ID, username, and full name of matching non-bot users. Users with either permission can list all users and receive detailed information.Without
user.browse, discovery requires a resource-boundedqquery or accessibleunitcontext. Generic filters cannot expand that scope. Scoped REST discovery does not requireuser.searchoruser.profile. Self and administrative access remain available. See Privacy configuration.- Query Parameters:
q (string) – User search query, such as
contributes:projectorcontributes:project/component. Every matching Boolean branch must have a positive resource scope in restricted directory modes.unit (int) – Rank contributors to this string first. Requires contributor identity access to the string, independently of directory privileges. In restricted directory modes, results are limited to contributors to its translation.
username (string) – Username prefix to search for. At least two characters after trimming surrounding whitespace are required for users without the global
user.vieworuser.editpermission.id (int) – User ID to search for
email (string) – Email to search for (case-insensitive, exact match). Requires
user.vieworuser.editpermission; the parameter is ignored for unprivileged users.
Username searches by users without the global
user.vieworuser.editpermission exclude bot accounts other than the caller’s own account. This restriction does not apply to direct lookups by exact username; bot accounts follow the profile access rules atGET /api/users/(str:username)/.Siehe auch
Users object attributes are documented at
GET /api/users/(str:username)/.
- POST /api/users/¶
Creates a new user.
Requires the global
user.editpermission. See Zugriffssteuerung for the user management permission model.- Parameter:
username (string) – Benutzername
full_name (string) – User full name
email (string) – User email
is_superuser (boolean) – Is user superuser? (optional)
is_active (boolean) – Is user active? (optional)
is_bot (boolean) – Is user bot? (optional) (used for project scoped tokens)
- GET /api/users/(str: username)/¶
Access follows the global
user.profilepermission. Restricted profiles return HTTP 404; self access and global administrative access are retained.Returns information about users.
- Parameter:
username (string) – User’s username
- Request JSON Object:
username (string) – username of a user
full_name (string) – full name of a user
email (string) – email of a user
is_superuser (boolean) – whether the user is a super user
is_active (boolean) – whether the user is active
is_bot (boolean) – whether the user is bot (used for project scoped tokens)
date_joined (string) – date the user is created
last_login (string) – date the user last signed in
groups (array) – link to associated groups; see
GET /api/groups/(int:id)/profile (object) – user profile preferences; see Benutzerprofil. Returned only with the
user.vieworuser.editpermission.
Example JSON data:
{ "email": "user@example.com", "full_name": "Example User", "username": "exampleusername", "groups": [ "http://example.com/api/groups/2/", "http://example.com/api/groups/3/" ], "profile": { "language": "en", "languages": [ "http://example.com/api/languages/cs/" ], "secondary_languages": [], "translated": 42, "suggested": 3, "uploaded": 1, "commented": 5, "theme": "auto", "hide_completed": false, "secondary_in_zen": true, "hide_source_secondary": false, "wide_tables": false, "listing_columns": ["untranslated", "untranslated_words", "untranslated_chars", "nottranslated", "checks", "suggestions", "comments"], "editor_link": "", "translate_mode": 0, "zen_mode": 0, "special_chars": "", "nearby_strings": 10, "auto_watch": true, "contribute_personal_tm": true, "dashboard_view": 1, "dashboard_component_list": null, "watched": [], "website": "https://example.com/", "contact": "", "liberapay": "", "fediverse": "", "codesite": "", "github": "", "twitter": "", "linkedin": "", "location": "", "company": "", "public_email": "", "commit_email": "", "commit_name": 0, "last_2fa": "" }, "is_superuser": true, "is_active": true, "is_bot": false, "date_joined": "2020-03-29T18:42:42.617681Z", "url": "http://example.com/api/users/exampleusername/", "contributions_url": "http://example.com/api/users/exampleusername/contributions/", "statistics_url": "http://example.com/api/users/exampleusername/statistics/" }
- PUT /api/users/(str: username)/¶
Changes the user parameters.
Requires the global
user.editpermission unless a user is updating their own account or profile fields. See Zugriffssteuerung for the user management permission model.- Parameter:
username (string) – User’s username
- Request JSON Object:
username (string) – username of a user
full_name (string) – full name of a user
email (string) – email of a user
is_superuser (boolean) – whether the user is a super user
is_active (boolean) – whether the user is active
is_bot (boolean) – whether the user is bot (used for project scoped tokens)
date_joined (string) – date the user is created
profile (object) – updated profile preferences when included in the request; see Benutzerprofil
- PATCH /api/users/(str: username)/¶
Changes the user parameters.
Requires the global
user.editpermission unless a user is updating their own account or profile fields. See Zugriffssteuerung for the user management permission model.- Parameter:
username (string) – User’s username
- Request JSON Object:
username (string) – username of a user
full_name (string) – full name of a user
email (string) – email of a user
is_superuser (boolean) – whether the user is a super user
is_active (boolean) – whether the user is active
is_bot (boolean) – whether the user is bot (used for project scoped tokens)
date_joined (string) – date the user is created
profile (object) – updated profile preferences when included in the request; see Benutzerprofil
- DELETE /api/users/(str: username)/¶
Deletes all user information and marks the user inactive.
Requires the global
user.editpermission. See Zugriffssteuerung for the user management permission model.- Parameter:
username (string) – User’s username
- POST /api/users/(str: username)/groups/¶
Associate groups with a user.
Requires the global
user.editpermission. See Zugriffssteuerung for the user management permission model. This permission authorizes membership changes for every team, including project and workspace teams; no separate permission over the target team is required.- Parameter:
username (string) – User’s username
- Form Parameters:
string group_id – The unique group ID
- DELETE /api/users/(str: username)/groups/¶
Added in version 4.13.1.
Remove user from a group.
Requires the global
user.editpermission. See Zugriffssteuerung for the user management permission model. This permission authorizes membership changes for every team, including project and workspace teams; no separate permission over the target team is required.- Parameter:
username (string) – User’s username
- Form Parameters:
string group_id – The unique group ID
- GET /api/users/(str: username)/statistics/¶
List statistics of a user.
- Parameter:
username (string) – User’s username
- Request JSON Object:
translated (int) – Number of translations by user
suggested (int) – Number of suggestions by user
uploaded (int) – Number of uploads by user
commented (int) – Number of comments by user
languages (int) – Number of languages user can translate
- GET /api/users/(str: username)/contributions/¶
List translations with contributions from a user.
- Parameter:
username (string) – User’s username
- Request JSON Object:
translations (array) – link to translations; see
GET /api/translations/(string:project)/(string:component)/(string:language)/
- GET /api/users/(str: username)/notifications/¶
List subscriptions of a user.
- Parameter:
username (string) – User’s username
- Request JSON Object:
project (string) – Link to the project, or
nullfor other scopescomponent (string) – Link to the component, or
nullfor other scopes
- POST /api/users/(str: username)/notifications/¶
Associate subscriptions with a user.
- Parameter:
username (string) – User’s username
- Response JSON Object:
notification (string) – Name of notification registered
scope (int) – Scope of notification from the available choices
frequency (int) – Frequency choices for notifications
- GET /api/users/(str: username)/notifications/(int: subscription_id)/¶
Get a subscription associated with a user.
- Parameter:
username (string) – User’s username
subscription_id (int) – ID of notification registered
- Request JSON Object:
project (string) – Link to the project, or
nullfor other scopescomponent (string) – Link to the component, or
nullfor other scopes
- PUT /api/users/(str: username)/notifications/(int: subscription_id)/¶
Edit a subscription associated with a user.
- Parameter:
username (string) – User’s username
subscription_id (int) – ID of notification registered
- Response JSON Object:
notification (string) – Name of notification registered
scope (int) – Scope of notification from the available choices
frequency (int) – Frequency choices for notifications
- PATCH /api/users/(str: username)/notifications/(int: subscription_id)/¶
Edit a subscription associated with a user.
- Parameter:
username (string) – User’s username
subscription_id (int) – ID of notification registered
- Response JSON Object:
notification (string) – Name of notification registered
scope (int) – Scope of notification from the available choices
frequency (int) – Frequency choices for notifications
- DELETE /api/users/(str: username)/notifications/(int: subscription_id)/¶
Delete a subscription associated with a user.
- Parameter:
username (string) – User’s username
subscription_id – Name of notification registered
subscription_id – int
Benutzerprofil¶
Added in version 2026.8.
Die Benutzer-API stellt Profileinstellungen in einem verschachtelten profile-Objekt bereit. Das Objekt wird bei GET /api/users/(str:username)/ nur für Aufrufer mit der Berechtigung user.view oder user.edit zurückgegeben. Benutzer ohne diese Berechtigungen können ihr eigenes Profil weiterhin über PATCH /api/users/(str:username)/ aktualisieren; die Antwort enthält dann das aktualisierte profile-Objekt.
Die Profilfelder entsprechen den unter Benutzerprofil beschriebenen Einstellungen.
Gruppen¶
Added in version 4.0.
Changing a site-wide group’s access scope requires the global group.edit
permission. This trusted administrative permission is not limited by the
caller’s project access: project and component association endpoints can grant
team members access to private projects the caller cannot access directly. See
Plattformweite Teamverwaltung for the permission model and narrower
delegation options.
- GET /api/groups/¶
Returns a list of groups if you have permissions to see manage groups. If not, then you get to see only the groups the user is a part of.
Siehe auch
Group object attributes are documented at
GET /api/groups/(int:id)/.
- POST /api/groups/¶
Creates a new group.
- Parameter:
name (string) – Group name
project_selection (int) – Group of project selection from given options
language_selection (int) – Group of languages selected from given options
defining_project (str) – link to the defining project, used for Projektspezifische Zugriffssteuerung verwalten; see
GET /api/projects/(string:project)/
- GET /api/groups/(int: id)/¶
Returns information about the group.
- Parameter:
id (int) – Group’s ID
- Request JSON Object:
name (string) – name of a group
project_selection (int) – integer corresponding to group of projects
language_selection (int) – integer corresponding to group of languages
roles (array) – link to associated roles; see
GET /api/roles/(int:id)/projects (array) – link to associated projects; see
GET /api/projects/(string:project)/components (array) – link to associated components; see
GET /api/components/(string:project)/(string:component)/componentlists (array) – link to associated componentlist; see
GET /api/component-lists/(str:slug)/defining_project (str) – link to the defining project, used for Projektspezifische Zugriffssteuerung verwalten; see
GET /api/projects/(string:project)/admins (array) – link to associated administrators; see
GET /api/users/(str:username)/
Example JSON data:
{ "name": "Guests", "defining_project": null, "project_selection": 3, "language_selection": 1, "url": "http://example.com/api/groups/1/", "roles": [ "http://example.com/api/roles/1/", "http://example.com/api/roles/2/" ], "languages": [ "http://example.com/api/languages/en/", "http://example.com/api/languages/cs/", ], "projects": [ "http://example.com/api/projects/demo1/", "http://example.com/api/projects/demo/" ], "componentlist": "http://example.com/api/component-lists/new/", "components": [ "http://example.com/api/components/demo/weblate/" ], "admins": [ "http://example.com/api/users/exampleusername/" ] }
- PUT /api/groups/(int: id)/¶
Changes the group parameters.
- Parameter:
id (int) – Group’s ID
- Request JSON Object:
name (string) – name of a group
project_selection (int) – integer corresponding to group of projects
language_selection (int) – integer corresponding to group of languages
- PATCH /api/groups/(int: id)/¶
Changes the group parameters.
- Parameter:
id (int) – Group’s ID
- Request JSON Object:
name (string) – name of a group
project_selection (int) – integer corresponding to group of projects
language_selection (int) – integer corresponding to group of languages
- DELETE /api/groups/(int: id)/¶
Deletes the group.
- Parameter:
id (int) – Group’s ID
- POST /api/groups/(int: id)/roles/¶
Associate roles with a group.
- Parameter:
id (int) – Group’s ID
- Form Parameters:
string role_id – The unique role ID
- DELETE /api/groups/(int: id)/roles/(int: role_id)¶
Delete role from a group.
- Parameter:
id (int) – Group’s ID
role_id (int) – The unique role ID
- POST /api/groups/(int: id)/components/¶
Associate components with a group.
- Parameter:
id (int) – Group’s ID
- Form Parameters:
string component_id – The unique component ID
- DELETE /api/groups/(int: id)/components/(int: component_id)¶
Delete component from a group.
- Parameter:
id (int) – Group’s ID
component_id (int) – The unique component ID
- POST /api/groups/(int: id)/projects/¶
Associate projects with a group.
- Parameter:
id (int) – Group’s ID
- Form Parameters:
string project_id – The unique project ID
- DELETE /api/groups/(int: id)/projects/(int: project_id)¶
Delete project from a group.
- Parameter:
id (int) – Group’s ID
project_id (int) – The unique project ID
- POST /api/groups/(int: id)/languages/¶
Associate languages with a group.
- Parameter:
id (int) – Group’s ID
- Form Parameters:
string language_code – The unique language code
- DELETE /api/groups/(int: id)/languages/(string: language_code)¶
Delete language from a group.
- Parameter:
id (int) – Group’s ID
language_code (string) – The unique language code
- POST /api/groups/(int: id)/componentlists/¶
Associate componentlists with a group.
- Parameter:
id (int) – Group’s ID
- Form Parameters:
string component_list_id – The unique componentlist ID
- DELETE /api/groups/(int: id)/componentlists/(int: component_list_id)¶
Delete componentlist from a group.
- Parameter:
id (int) – Group’s ID
component_list_id (int) – The unique componentlist ID
- POST /api/groups/(int: id)/admins/¶
Added in version 5.5.
Add user to team admins.
- Parameter:
id (int) – Group’s ID
- Form Parameters:
string user_id – The user’s ID
- DELETE /api/groups/(int: id)/admins/(int: user_id)¶
Added in version 5.5.
Delete user from team admins.
- Parameter:
id (int) – Group’s ID
user_id (integer) – The user’s ID
Rollen¶
- GET /api/roles/¶
Returns a list of all roles associated with user. If user is superuser, then list of all existing roles is returned.
Siehe auch
Roles object attributes are documented at
GET /api/roles/(int:id)/.
- POST /api/roles/¶
Creates a new role.
- Parameter:
name (string) – Role name
permissions (array) – List of codenames of permissions
- GET /api/roles/(int: id)/¶
Returns information about the role.
- Parameter:
id (int) – Role’s ID
- Request JSON Object:
name (string) – Role name
permissions (array) – list of codenames of permissions
is_builtin (boolean) – whether this is a built-in role (read-only)
is_customized (boolean) – whether a built-in role differs from current defaults (read-only)
Example JSON data:
{ "name": "Access repository", "permissions": [ "vcs.access", "vcs.view" ], "url": "http://example.com/api/roles/1/", }
- PUT /api/roles/(int: id)/¶
Changes the role parameters. Built-in role names cannot be changed.
- Parameter:
id (int) – Role’s ID
- Request JSON Object:
name (string) – Role name
permissions (array) – list of codenames of permissions
- PATCH /api/roles/(int: id)/¶
Changes the role parameters. Built-in role names cannot be changed.
When supplied,
permissionsreplaces the role’s complete permission set. Omit it to keep the existing permissions unchanged, or pass an empty list to remove all permissions.- Parameter:
id (int) – Role’s ID
- Request JSON Object:
name (string) – Role name
permissions (array) – list of codenames of permissions
- DELETE /api/roles/(int: id)/¶
Deletes a custom role. Built-in roles cannot be deleted.
- Parameter:
id (int) – Role’s ID
- POST /api/roles/(int: id)/reset/¶
Resets a built-in role to current upstream permission defaults and returns the updated role. Requires the same role-management permission as editing. Custom roles cannot be reset.
- Parameter:
id (int) – Role’s ID
Sprachen¶
- GET /api/languages/¶
Returns a list of all languages.
Siehe auch
Language object attributes are documented at
GET /api/languages/(string:language)/.
- POST /api/languages/¶
Creates a new language.
- Parameter:
code (string) – Sprachenname
name (string) – Sprachenname
direction (string) – Schreibrichtung
population (int) – Anzahl der Sprecher
plural (object) – Language plural formula and number
- GET /api/languages/(string: language)/¶
Returns information about the language.
- Parameter:
language (string) – Sprachcode
- Request JSON Object:
code (string) – Sprachcode
direction (string) – Schreibrichtung
plural (object) – Object of language plural information
aliases (array) – Array of aliases for language
- Response JSON Object:
population (int) – Anzahl der Sprecher
Example JSON data:
{ "code": "en", "direction": "ltr", "name": "English", "population": 159034349015, "plural": { "id": 75, "source": 0, "number": 2, "formula": "n != 1", "type": 1 }, "aliases": [ "english", "en_en", "base", "source", "eng" ], "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/", "statistics_url": "http://example.com/api/languages/en/statistics/" }
- PUT /api/languages/(string: language)/¶
Changes the language parameters.
- Parameter:
language (string) – Language’s code
- Response JSON Object:
name (string) – Sprachenname
direction (string) – Schreibrichtung
population (int) – Anzahl der Sprecher
The
pluralfield can only be set when creating a language and is rejected on updates.
- PATCH /api/languages/(string: language)/¶
Changes the language parameters.
- Parameter:
language (string) – Language’s code
- Response JSON Object:
name (string) – Sprachenname
direction (string) – Schreibrichtung
population (int) – Anzahl der Sprecher
The
pluralfield can only be set when creating a language and is rejected on updates.
- DELETE /api/languages/(string: language)/¶
Deletes the language.
- Parameter:
language (string) – Language’s code
Projekte¶
- GET /api/projects/¶
Returns a list of all projects.
Siehe auch
Project object attributes are documented at
GET /api/projects/(string:project)/.
- POST /api/projects/¶
Creates a new project.
- Parameter:
name (string) – Projektname
slug (string) – Projekt-Slug
web (string) – Projektwebsite
workspace (string) – Optional workspace UUID. Creating a project in a workspace requires Add projects to workspace permission for that workspace. When omitted, Weblate can use the only eligible workspace. Creating a project without an eligible workspace requires the site-wide Add new projects permission. See Projekt erstellen und verschieben.
access_control (integer) – Zugriffssteuerung
public_sharing (boolean) – Öffentliche Freigabe
use_shared_tm (boolean) – Gemeinsamen Übersetzungsspeicher verwenden
contribute_shared_tm (boolean) – Zum gemeinsamen Übersetzungsspeicher beitragen
use_workspace_tm (boolean) – Arbeitsbereich-Übersetzungsspeicher verwenden
contribute_workspace_tm (boolean) – Zum Arbeitsbereich-Übersetzungsspeicher beitragen
autoclean_tm (boolean) – Übersetzungsspeicher automatisch bereinigen
Omit
access_controlto use the configured default. Explicit non-default access control requires a superuser unless a billing plan determines the value. On Hosted Weblate, Custom access control is unavailable and each translation-memory contribution setting is forced to match its corresponding usage setting.
- GET /api/projects/(string: project)/¶
Returns information about the project.
- Parameter:
project (string) – Project URL slug
- Request JSON Object:
name (string) – project name
slug (string) – project slug
web (string) – project website
components_list_url (string) – URL to components list; see
GET /api/projects/(string:project)/components/repository_url (string) – URL to repository status; see
GET /api/projects/(string:project)/repository/changes_list_url (string) – URL to changes list; see
GET /api/projects/(string:project)/changes/reports_url (string) – URL to list or generate scoped reports; see
GET /api/projects/(string:project)/reports/translation_review (boolean) – Überprüfung aktivieren
source_review (boolean) – Quellenüberprüfungen aktivieren
enable_hooks (boolean) – Hooks aktivieren
workspace (string) – workspace UUID, or
nullwhen the project is not assigned to a workspaceinstructions (string) – Übersetzungsanweisungen
language_aliases (string) – Sprachaliasnamen
license (string) – Übersetzungslizenz
enforced_checks (array) – Locally configured enforced checks.
inherit_enforced_checks (boolean) – Whether enforced checks are inherited from the workspace.
effective_enforced_checks (array) – Enforced checks currently applied to the project (read-only).
access_control (integer) – Zugriffssteuerung
public_sharing (boolean) – Öffentliche Freigabe
use_shared_tm (boolean) – Gemeinsamen Übersetzungsspeicher verwenden
contribute_shared_tm (boolean) – Zum gemeinsamen Übersetzungsspeicher beitragen
use_workspace_tm (boolean) – Arbeitsbereich-Übersetzungsspeicher verwenden
contribute_workspace_tm (boolean) – Zum Arbeitsbereich-Übersetzungsspeicher beitragen
autoclean_tm (boolean) – Übersetzungsspeicher automatisch bereinigen
announcements_url (string) – URL to announcements; see
GET /api/projects/(string:project)/announcements/
Example JSON data:
{ "name": "Hello", "slug": "hello", "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }
- GET /api/projects/(string: project)/languages/(string: language)/workflow/¶
Return project-language workflow settings. When no project override exists, return inherited site-wide workflow settings, or defaults when none exist, without creating an override. Reviews remain disabled when both project review settings are disabled. The language is identified by its code. Access to the project is required.
- Request JSON Object:
language (string) – Language code (read-only)
source_language (string) – Custom source language code, or null for the component source; see Eigene Ausgangssprache
translation_review (boolean) – Enable translation review
enable_suggestions (boolean) – Vorschläge aktivieren
restrict_direct_editing (boolean) – Require suggestions instead of direct editing
suggestion_voting (boolean) – Enable voting on suggestions
suggestion_autoaccept (integer) – Number of votes required to accept suggestions, or 0 to disable
- PATCH /api/projects/(string: project)/languages/(string: language)/workflow/¶
Create or update a project-language workflow override. Requires permission to edit the project. Accepts the writable fields returned by
GET /api/projects/(string:project)/languages/(string:language)/workflow/. Omitted fields retain their values, including inherited workflow settings when creating an override. Enabling reviews requires source or translation reviews to be enabled on the project. Setsource_languageto null to use the component source. Source languages must exist in the project and must not form a dependency cycle. Changes reconcile affected units before the request completes.
- DELETE /api/projects/(string: project)/languages/(string: language)/workflow/¶
Remove the project-language workflow override, restoring inherited settings. Requires permission to edit the project. Returns HTTP 204, including when no override exists.
All three methods return HTTP 409 if legacy data contains multiple workflow overrides for the same project and language. Resolve the duplicate settings before using this endpoint; the API does not choose or delete them implicitly.
- PATCH /api/projects/(string: project)/¶
Added in version 4.3.
Edit a project by a PATCH request.
The
projectvalue is the project slug. To avoid using a wrong identifier, use the projecturlreturned byGET /api/projects/orGET /api/projects/(string:project)/.The request body accepts project fields such as
instructions,license,access_control, and translation-memory settings.Example JSON data:
{ "instructions": "Translate consistently.", "license": "MIT", "use_shared_tm": true, "access_control": 100 }
Changing
access_controlorpublic_sharingrequires permission to manage project access. Making a project publicly accessible can require licenses on its components whenLICENSE_REQUIREDis enabled. On Hosted Weblate, Custom access control is unavailable and each translation-memory contribution setting is forced to match its corresponding usage setting.Changing
workspacemoves the project. Moving a project requires permission to edit the project and the Edit workspace settings permission for the source and target workspace. The target workspace also requires the Add projects to workspace permission. Moving a project out of a workspace also requires the site-wide Add new projects permission. See Projekt erstellen und verschieben.- Parameter:
project (string) – Project URL slug
instructions (string) – Übersetzungsanweisungen
license (string) – Übersetzungslizenz
access_control (integer) – Zugriffssteuerung
public_sharing (boolean) – Öffentliche Freigabe
use_shared_tm (boolean) – Gemeinsamen Übersetzungsspeicher verwenden
contribute_shared_tm (boolean) – Zum gemeinsamen Übersetzungsspeicher beitragen
use_workspace_tm (boolean) – Arbeitsbereich-Übersetzungsspeicher verwenden
contribute_workspace_tm (boolean) – Zum Arbeitsbereich-Übersetzungsspeicher beitragen
autoclean_tm (boolean) – Übersetzungsspeicher automatisch bereinigen
workspace (string) – Optional workspace UUID, or
nullto move the project out of a workspace
- PUT /api/projects/(string: project)/¶
Added in version 4.3.
Edit a project by a PUT request.
Changing
workspacefollows the same permission checks asPATCH /api/projects/(string:project)/.- Parameter:
project (string) – Project URL slug
instructions (string) – Übersetzungsanweisungen
license (string) – Übersetzungslizenz
access_control (integer) – Zugriffssteuerung
public_sharing (boolean) – Öffentliche Freigabe
use_shared_tm (boolean) – Gemeinsamen Übersetzungsspeicher verwenden
contribute_shared_tm (boolean) – Zum gemeinsamen Übersetzungsspeicher beitragen
use_workspace_tm (boolean) – Arbeitsbereich-Übersetzungsspeicher verwenden
contribute_workspace_tm (boolean) – Zum Arbeitsbereich-Übersetzungsspeicher beitragen
autoclean_tm (boolean) – Übersetzungsspeicher automatisch bereinigen
- DELETE /api/projects/(string: project)/¶
Deletes a project.
- Parameter:
project (string) – Project URL slug
- GET /api/projects/(string: project)/changes/¶
Returns a list of project changes. This is essentially a project scoped
GET /api/changes/accepting same params.- Parameter:
project (string) – Project URL slug
- Request JSON Object:
results (array) – array of component objects; see
GET /api/changes/(int:id)/
- GET /api/projects/(string: project)/file/¶
Added in version 5.5.
Downloads translations associated with the project as an archive file using the requested format and language. The archive includes only translations for which the user has download permission. Component restrictions and language limits are evaluated for each translation.
- Parameter:
project (string) – Project URL slug
- Query Parameters:
format (string) – The archive format to use; If not specified, defaults to
zip; Supported formats:zipandzip:CONVERSIONwhereCONVERSIONis one of converters listed at Übersetzungen herunterladen.language_code (string) – The language code to download; If not specified, all languages are included.
- GET /api/projects/(string: project)/repository/¶
Returns information about the VCS repository status. This endpoint contains only an overall summary for all repositories for the project. To get more detailed status use
GET /api/components/(string:project)/(string:component)/repository/.Repository status includes repositories where the user has a VCS permission on the component owning that repository. Repositories whose owners do not grant this permission are omitted and reported separately.
- Parameter:
project (string) – Project URL slug
- Request JSON Object:
needs_commit (boolean) – whether there are any pending changes to commit
needs_merge (boolean) – whether there are any upstream changes to merge
needs_push (boolean) – whether there are any local changes to push
included_components (array) – full paths of project components included in the status
skipped_components (array) – full paths of project components omitted from the status
permission_blockers (array) – full paths of components preventing access to omitted repositories
Example JSON data:
{ "included_components": ["hello/app"], "needs_commit": true, "needs_merge": false, "needs_push": true, "permission_blockers": ["shared/glossary"], "skipped_components": ["hello/glossary"] }
- POST /api/projects/(string: project)/repository/¶
Performs given operation on the VCS repository.
Repository operations process repositories where the user has the requested VCS permission on the component owning that repository. Repositories whose owners do not grant this permission are skipped. The request is denied when no repository is eligible for the operation.
- Parameter:
project (string) – Project URL slug
- Response JSON Object:
operation (string) – Operation to perform: one of
push,pull,commit,reset,cleanup,file-sync,file-scanbackground (boolean) – Schedule the operation as a background task instead of waiting for it to finish. Defaults to
false.
- Request JSON Object:
result (boolean) – result of a synchronous operation
included_components (array) – full paths of project components included in the operation
skipped_components (array) – full paths of project components omitted from the operation
permission_blockers (array) – full paths of components preventing access to omitted repositories
detail (string) – Status of a background operation
task_url (string) – URL for tracking a background operation; see
GET /api/tasks/(str:uuid)/
With
backgroundset totrue, the endpoint returns202 Accepted. Repeating an identical queued operation returns the existing task URL. A conflicting operation returns423 Lockedand the active task URL when available. Eligible project repositories are processed sequentially in one task.CURL-Beispiel:
curl \ -d operation=pull \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/repository/
JSON-Anfragebeispiel:
POST /api/projects/hello/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"operation":"pull"}
JSON response example:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS { "included_components": ["hello/app"], "permission_blockers": ["shared/glossary"], "result": true, "skipped_components": ["hello/glossary"] }
Background JSON request example:
POST /api/projects/hello/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN {"operation":"pull","background":true}
Background JSON response example:
HTTP/1.0 202 Accepted Content-Type: application/json { "detail": "Repository operation has been queued.", "included_components": ["hello/app"], "permission_blockers": ["shared/glossary"], "skipped_components": ["hello/glossary"], "task_url": "https://example.com/api/tasks/01234567-89ab-cdef-0123-456789abcdef/" }
- GET /api/projects/(string: project)/components/¶
Returns a list of translation components in the given project.
- Parameter:
project (string) – Project URL slug
- Request JSON Object:
results (array) – array of component objects; see
GET /api/components/(string:project)/(string:component)/
- POST /api/projects/(string: project)/components/¶
Geändert in Version 4.3: The
zipfileanddocfileparameters are now accepted for VCS-less components, see Lokale Dateien.Geändert in Version 4.6: The cloned repositories are now automatically shared within a project using Weblate-interne URLs. Use
disable_autoshareto turn off this.Creates translation components in the given project.
Hinweis
Use Weblate-interne URLs when creating multiple components from a single VCS repository.
Bemerkung
Most of the component creation happens in the background. Check the
task_urlattribute of created component and follow the progress there.- Parameter:
project (string) – Project URL slug
- Form Parameters:
file zipfile – ZIP file to upload into Weblate for translations initialization
file docfile – Document to translate
string from_component – Optional source component reference used to duplicate the new component. Accepts either a numeric component ID or a full Weblate component path. When provided, the new component inherits the source component configuration and translations into a new local repository. Repository fields such as
repo,vcs,branch,push, andpush_branchcan not be combined with this option.boolean disable_autoshare – Disables automatic repository sharing via Weblate-interne URLs.
- Response JSON Object:
object – Component parameters, see
GET /api/components/(string:project)/(string:component)/
- Request JSON Object:
result (object) – Created component object; see
GET /api/components/(string:project)/(string:component)/
JSON can not be used when uploading the files using the
zipfileanddocfileparameters. The data has to be uploaded as multipart/form-data.CURL form request example:
curl \ --form docfile=@strings.html \ --form name=Weblate \ --form slug=weblate \ --form file_format=html \ --form new_lang=add \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
CURL JSON request example:
curl \ --data-binary '{ "branch": "main", "file_format": "po", "file_format_params": { "po_line_wrap": 65535, "po_no_location": true }, "filemask": "po/*.po", "name": "Weblate", "slug": "weblate", "repo": "https://github.com/WeblateOrg/hello.git", "template": "", "new_base": "po/hello.pot", "vcs": "git" }' \ -H "Content-Type: application/json" \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
JSON request to create a new component from Git:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "branch": "main", "file_format": "po", "file_format_params": { "po_line_wrap": 65535, "po_no_location": true }, "filemask": "po/*.po", "name": "Weblate", "slug": "weblate", "repo": "https://github.com/WeblateOrg/hello.git", "template": "", "new_base": "po/hello.pot", "vcs": "git" }
JSON request to create a new component from another one:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "from_component": "hello/weblate", "name": "Weblate", "slug": "weblate" }
JSON response example:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS { "branch": "main", "file_format": "po", "file_format_params": { "po_line_wrap": 65535, "po_no_location": true }, "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "repo": "https://github.com/WeblateOrg/hello.git", "template": "", "new_base": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }
- GET /api/projects/(string: project)/languages/¶
Returns paginated statistics for all languages within a project.
- Parameter:
project (string) – Project URL slug
- Request JSON Object:
results (array) – array of translation statistics objects
language (string) – language name
code (string) – language code
total (int) – total number of strings
translated (int) – number of translated strings
translated_percent (float) – percentage of translated strings
total_words (int) – total number of words
translated_words (int) – number of translated words
words_percent (float) – percentage of translated words
- GET /api/projects/(string: project)/statistics/¶
Returns statistics for a project.
- Parameter:
project (string) – Project URL slug
Siehe auch
Returned attributes are described in Statistik.
- GET /api/projects/(string: project)/metrics/¶
Added in version 2026.8.
Returns translation metrics for the project components visible to the caller. Components are identified by their project-relative path and the result is grouped by component and language. When multiple components have the same project-relative path,
@and the component ID are appended to each colliding path.The OpenMetrics representation exposes
weblate_translation_infoandweblate_*gauges compatible with the project translation statistics. Strings containing suggestions useweblate_strings_with_suggestionsto distinguish them from the server-wideweblate_suggestionsobject count. The CSV representation contains one row for each component, language, and numeric metric.- Parameter:
project (string) – Project URL slug
- Query Parameters:
format (string) – Response format; use
openmetricsorcsvfor monitoring and tabular output.
- GET /api/projects/(string: project)/categories/¶
Added in version 5.0: Returns categories for a project. See
GET /api/categories/(int:id)/for field definitions.- param project:
Project URL slug
- type project:
Zeichenfolge
- GET /api/projects/(string: project)/labels/¶
Added in version 5.3: Returns labels for a project.
- param project:
Project URL slug
- type project:
Zeichenfolge
- >json int id:
ID of the label
- >json string name:
name of the label
- >json string color:
color of the label
- POST /api/projects/(string: project)/labels/¶
Added in version 5.3: Creates a label for a project. The label color is required.
- param project:
Project URL slug
- type project:
Zeichenfolge
- <json string name:
name of the label
- <json string color:
color of the label
- DELETE /api/projects/(string: project)/labels/(int: label_id)/¶
Added in version 5.14: Deletes a label from a project.
- param project:
Project URL slug
- type project:
Zeichenfolge
- param label_id:
ID of the label to delete
- type label_id:
Ganzzahl
- GET /api/projects/(string: project)/saved-searches/¶
Added in version 2026.11: Returns saved searches for a project.
- param project:
Project URL slug
- type project:
Zeichenfolge
- >json int id:
ID of the saved search
- >json string name:
name of the saved search
- >json string query:
- >json string description:
description of the saved search
- POST /api/projects/(string: project)/saved-searches/¶
Added in version 2026.11: Creates a saved search for a project.
- param project:
Project URL slug
- type project:
Zeichenfolge
- <json string name:
name of the saved search, unique within the project
- <json string query:
- <json string description:
description of the saved search (optional)
- DELETE /api/projects/(string: project)/saved-searches/(int: saved_search_id)/¶
Added in version 2026.11: Deletes a saved search from a project.
- param project:
Project URL slug
- type project:
Zeichenfolge
- param saved_search_id:
ID of the saved search to delete
- type saved_search_id:
Ganzzahl
- GET /api/projects/(string: project)/reports/¶
Lists accessible reports generated directly for a project.
- POST /api/projects/(string: project)/reports/¶
Schedules a report using the project as its scope. The request and response match
POST /api/reports/; scope fields must be omitted.
- GET /api/projects/(string: project)/translation-services/¶
Added in version 5.9.
Returns a list of translation service installations configured directly on the project. Each entry has an
id,selector,engine, optionalslug,configuration,enabledstate, and scope fields. The configuration can contain credentials and is returned only to users who can edit the installation’s scope.- Parameter:
project (string) – Project URL slug
- Request JSON Object:
installations (array) – Project installations.
- POST /api/projects/(string: project)/translation-services/¶
Added in version 5.9.
Create a translation service installation for a project. Use
/api/translation-services/(int:id)/to update or remove one. The/api/translation-service-exclusions/endpoint manages inherited installations excluded by a workspace or project. An installation’s service cannot be changed after creation; create another installation to use a different service. An exclusion’s scope and target cannot be changed after creation; remove it and create another exclusion to select a different target.- Parameter:
project (string) – Project URL slug
- Form Parameters:
string engine – Service name
string slug – Optional installation slug
string configuration – Service configuration in JSON
- GET /api/projects/(string: project)/machinery_settings/¶
Removed in version 2026.11: Use
GET /api/projects/(string:project)/translation-services/instead.
- POST /api/projects/(string: project)/machinery_settings/¶
Removed in version 2026.11: Use
POST /api/projects/(string:project)/translation-services/instead.
- GET /api/projects/(string: project)/languages/(string: language_code)/file/¶
Geändert in Version 5.15.1: Added ability to download ZIP file of all components translations in a project for 1 specific language.
Download a ZIP file of permitted translation files for a specified
language_codeacross the components of a givenprojectrather than downloading individual translated files and manually zipping them. The archive is named {project-slug}-{language-code}.zip and organized by component paths (e.g., component-slug/po/lang.po). Component restrictions and download permission are evaluated for each translation.- Parameter:
project (string) – Project URL slug
language_code (string) – Sprachcode
- Query Parameters:
filter (string) – Optional case-insensitive substring to filter components by slug (e.g.,
?filter=corewill match components with ‚core‘ anywhere in their slug); only components whose slugs contain the substring will be included in the download.format (string) – The archive format to use; If not specified, defaults to
zip; Supported formats:zipandzip:CONVERSIONwhereCONVERSIONis one of converters listed at Übersetzungen herunterladen.
Bemerkung
Possible responses:
200 OKwith the permitted translations for the specified language. If no components have translations for the specified language, an empty ZIP file will be returned.403 Forbiddenif matching translations exist but the user cannot download any of them.404 Not Foundif the project slug or language code does not exist.
- GET /api/projects/(string: project)/languages/(string: language_code)/announcements/¶
Added in version 2026.6: Returns announcements for a specified
language_codein a project.- param project:
Project URL slug
- type project:
Zeichenfolge
- param language_code:
Sprachcode
- type language_code:
Zeichenfolge
- >json int id:
ID of the announcement
- >json string message:
announcement text
- >json string severity:
color of the message, one of
info(light blue),warning(yellow),danger(red),success(green)- >json date expiry:
hide after this date, ISO 8601 extended format date (optional)
- >json bool notify:
send notification to subscribed users? (optional)
- POST /api/projects/(string: project)/languages/(string: language_code)/announcements/¶
Added in version 2026.6: Creates an announcement for a specified
language_codein a project.- param project:
Project URL slug
- type project:
Zeichenfolge
- param language_code:
Sprachcode
- type language_code:
Zeichenfolge
- <json string message:
announcement text
- <json string severity:
color of the message, one of
info(light blue),warning(yellow),danger(red),success(green)- <json date expiry:
hide after this date, ISO 8601 extended format date (optional)
- <json bool notify:
send notification to subscribed users? (optional)
- DELETE /api/projects/(string: project)/languages/(string: language_code)/announcements/(int: announcement_id)/¶
Added in version 2026.6: Deletes an announcement from a specified
language_codein a project.- param project:
Project URL slug
- type project:
Zeichenfolge
- param language_code:
Sprachcode
- type language_code:
Zeichenfolge
- param announcement_id:
ID of the announcement to delete
- type announcement_id:
Ganzzahl
- GET /api/projects/(string: project)/announcements/¶
Added in version 5.17: Returns announcements for a project.
- param project:
Project URL slug
- type project:
Zeichenfolge
- >json int id:
ID of the announcement
- >json string message:
announcement text
- >json string severity:
color of the message, one of
info(light blue),warning(yellow),danger(red),success(green)- >json date expiry:
hide after this date, ISO 8601 extended format date (optional)
- >json bool notify:
send notification to subscribed users? (optional)
- POST /api/projects/(string: project)/announcements/¶
Added in version 5.17: Creates an announcement for a project.
- param project:
Project URL slug
- type project:
Zeichenfolge
- <json string message:
announcement text
- <json string severity:
color of the message, one of
info(light blue),warning(yellow),danger(red),success(green)- <json date expiry:
hide after this date, ISO 8601 extended format date (optional)
- <json bool notify:
send notification to subscribed users? (optional)
- DELETE /api/projects/(string: project)/announcements/(int: announcement_id)/¶
Added in version 5.17: Deletes an announcement from a project.
- param project:
Project URL slug
- type project:
Zeichenfolge
- param announcement_id:
ID of the announcement to delete
- type announcement_id:
Ganzzahl
- GET /api/projects/(string: project)/backups/¶
Added in version 2026.7: Returns a list of Sicherungen auf Projektebene archives. Project backups contain all project components, including restricted components, and require Edit project settings.
- param project:
Project URL slug
- type project:
Zeichenfolge
- >json string name:
Backup file name, for example
1718803200.zip- >json string timestamp:
Backup creation time in ISO 8601 format
- >json int size:
Backup file size in bytes
- POST /api/projects/(string: project)/backups/¶
Added in version 2026.7: Schedules creation of a new Sicherungen auf Projektebene archive. Once ready, the backup appears in
GET /api/projects/(string:project)/backups/.- param project:
Project URL slug
- type project:
Zeichenfolge
- >json string detail:
Result message
- >json string url:
URL to list backups
- GET /api/projects/(string: project)/backups/(string: backup)/¶
Added in version 2026.7: Downloads a Sicherungen auf Projektebene archive containing all project components, including restricted components. This requires Edit project settings.
- param project:
Project URL slug
- type project:
Zeichenfolge
- param backup:
Backup file name, e.g.
1718803200.zip- type backup:
Zeichenfolge
Komponenten¶
Hinweis
Verwenden Sie POST /api/projects/(string:project)/components/ um neue Komponenten zu erstellen.
- GET /api/components/¶
Returns a list of translation components.
Siehe auch
Component object attributes are documented at
GET /api/components/(string:project)/(string:component)/.
- GET /api/components/(string: project)/(string: component)/¶
Returns information about the translation component.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Request JSON Object:
project (object) – the translation project; see
GET /api/projects/(string:project)/name (string) – Komponentenname
slug (string) – Komponenten-Slug
vcs (string) – Versionsverwaltung
vcs_params (object) – Versionsverwaltungsparameter
linked_component (string) – component whose repository is linked via Weblate-interne URLs
repo (string) – Quellcode-Repository, this is the actual repository URL even when Weblate-interne URLs are used, use
linked_componentto detect this situationgit_export (string) – Exportierte Repository-URL
branch (string) – Repository-Branch, this is the actual repository branch even when Weblate-interne URLs are used
push (string) – Repository-Push-URL, this is the actual repository URL even when Weblate-interne URLs are used
push_branch (string) – Push-Branch, this is the actual repository branch even when Weblate-interne URLs are used
filemask (string) – Dateimaske
template (string) – Einsprachige Basissprachdatei
edit_template (string) – Basisdatei bearbeiten
intermediate (string) – Zwischensprachedatei
new_base (string) – Vorlage für neue Übersetzungen
file_format (string) – Dateiformat
file_format_params (object) – Dateiformatparameter
license (string) – Übersetzungslizenz
agreement (string) – Mitwirkungsvereinbarung
new_lang (string) – Neue Übersetzung hinzufügen
language_code_style (string) – Stil des Sprachcodes
source_language (object) – source language object; see
GET /api/languages/(string:language)/check_flags (string) – Übersetzungsmarkierungen
priority (string) – Priorität
enforced_checks (array) – Locally configured enforced checks.
inherit_enforced_checks (boolean) – Whether enforced checks are inherited from the category, project, or workspace.
effective_enforced_checks (array) – Enforced checks currently applied to the component (read-only).
restricted (string) – Eingeschränkter Zugriff
repoweb (string) – Repository-Browser
repoweb_translations (string) – Repository-Browser für Übersetzungen
report_source_bugs (string) – Adresse für Fehlerberichte bei Ausgangszeichenketten
merge_style (string) – Git-Strategie
commit_message (string) – Commit-, Add-, Delete-, Merge-, Erweiterungs- und Merge-Request-Nachrichten
add_message (string) – Commit-, Add-, Delete-, Merge-, Erweiterungs- und Merge-Request-Nachrichten
delete_message (string) – Commit-, Add-, Delete-, Merge-, Erweiterungs- und Merge-Request-Nachrichten
merge_message (string) – Commit-, Add-, Delete-, Merge-, Erweiterungs- und Merge-Request-Nachrichten
addon_message (string) – Commit-, Add-, Delete-, Merge-, Erweiterungs- und Merge-Request-Nachrichten
pull_message (string) – Commit-, Add-, Delete-, Merge-, Erweiterungs- und Merge-Request-Nachrichten
allow_translation_propagation (string) – Übersetzungsweitergabe zulassen
hide_glossary_matches (boolean) – Keine Glossarübereinstimmungen anzeigen
contribute_project_tm (boolean) – Zum Projektübersetzungsspeicher beitragen
enable_suggestions (string) – Vorschläge aktivieren
suggestion_voting (string) – Über Vorschläge abstimmen
suggestion_autoaccept (string) – Vorschläge automatisch annehmen
push_on_commit (boolean) – Bei Commit gleichzeitig Pushen; linked repositories expose the effective value from the linked component
push_on_update (boolean) – Bei Update gleichzeitig Pushen; linked repositories expose the effective value from the linked component
locked (bool) – Whether component is locked, this field is read-only; see
GET /api/components/(string:project)/(string:component)/lock/commit_pending_age (integer) – Alter der Änderungen, bis ein Commit erfolgt; linked repositories expose the effective value from the linked component
auto_lock_error (boolean) – Sperre bei Fehler; linked repositories expose the effective value from the linked component
language_regex (string) – Sprachfilter
variant_regex (string) – Varianten regulärer Ausdruck
is_glossary (bool) – Als Glossar verwenden
glossary_color (string) – Glossarfarbe
repository_url (string) – URL to repository status; see
GET /api/components/(string:project)/(string:component)/repository/translations_url (string) – URL to translations list; see
GET /api/components/(string:project)/(string:component)/translations/lock_url (string) – URL to lock status; see
GET /api/components/(string:project)/(string:component)/lock/changes_list_url (string) – URL to changes list; see
GET /api/components/(string:project)/(string:component)/changes/task_url (string) – URL to a background task (if any); see
GET /api/tasks/(str:uuid)/reports_url (string) – URL to list or generate scoped reports; see
GET /api/components/(string:project)/(string:component)/reports/announcements_url (string) – URL to announcements; see
GET /api/components/(string:project)/(string:component)/announcements/
Repository fields, including
linked_component, are returned only with the View upstream repository location permission.Example JSON data:
{ "branch": "main", "file_format": "po", "file_format_params": { "po_line_wrap": 65535, "po_no_location": true }, "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "repo": "https://github.com/WeblateOrg/hello.git", "template": "", "new_base": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }
- PATCH /api/components/(string: project)/(string: component)/¶
Edit a component by a PATCH request.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
source_language (string) – Project source language code (optional)
- Response JSON Object:
name (string) – name of component
slug (string) – slug of component
repo (string) – VCS repository URL
hide_glossary_matches (boolean) – Keine Glossarübereinstimmungen anzeigen
contribute_project_tm (boolean) – Zum Projektübersetzungsspeicher beitragen
Linking to another Weblate component using an internal URL requires permission to edit the referenced component. Changing Eingeschränkter Zugriff follows the same direct component-access restrictions as the web interface.
CURL-Beispiel:
curl \ --data-binary '{"name": "new name"}' \ -H "Content-Type: application/json" \ -H "Authorization: Token TOKEN" \ PATCH http://example.com/api/projects/hello/components/
JSON-Anfragebeispiel:
PATCH /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "name": "new name" }
JSON response example:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS { "branch": "main", "file_format": "po", "file_format_params": { "po_line_wrap": 65535, "po_no_location": true }, "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "new name", "slug": "weblate", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "repo": "https://github.com/WeblateOrg/hello.git", "template": "", "new_base": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }
- PUT /api/components/(string: project)/(string: component)/¶
Edit a component by a PUT request.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Response JSON Object:
branch (string) – VCS repository branch
file_format (string) – file format of translations
file_format_params (object) – parameters related to the file
filemask (string) – mask of translation files in the repository
name (string) – name of component
slug (string) – slug of component
repo (string) – VCS repository URL
template (string) – base file for monolingual translations
new_base (string) – base file for adding new translations
vcs (string) – version control system
vcs_params (object) – Versionsverwaltungsparameter
hide_glossary_matches (boolean) – Keine Glossarübereinstimmungen anzeigen
contribute_project_tm (boolean) – Zum Projektübersetzungsspeicher beitragen
- DELETE /api/components/(string: project)/(string: component)/¶
Deletes a component.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- GET /api/components/(string: project)/(string: component)/changes/¶
Returns a list of component changes. This is essentially a component scoped
GET /api/changes/accepting same params.- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Request JSON Object:
results (array) – array of component objects; see
GET /api/changes/(int:id)/
- GET /api/components/(string: project)/(string: component)/file/¶
Added in version 4.9.
Downloads all available translations associated with the component as an archive file using the requested format.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Query Parameters:
format (string) – The archive format to use; If not specified, defaults to
zip; Supported formats:zipandzip:CONVERSIONwhereCONVERSIONis one of converters listed at Übersetzungen herunterladen.
- GET /api/components/(string: project)/(string: component)/screenshots/¶
Returns a list of component screenshots.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Request JSON Object:
results (array) – array of component screenshots; see
GET /api/screenshots/(int:id)/
- GET /api/components/(string: project)/(string: component)/lock/¶
Returns component lock status.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Request JSON Object:
locked (boolean) – whether component is locked for updates
Example JSON data:
{ "locked": false }
- POST /api/components/(string: project)/(string: component)/lock/¶
Sets component lock status.
Response is same as
GET /api/components/(string:project)/(string:component)/lock/.- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Response JSON Object:
lock – Boolean whether to lock or not.
CURL-Beispiel:
curl \ -d lock=true \ -H "Authorization: Token TOKEN" \ http://example.com/api/components/hello/weblate/repository/
JSON-Anfragebeispiel:
POST /api/components/hello/weblate/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"lock": true}
JSON response example:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS {"locked":true}
- GET /api/components/(string: project)/(string: component)/repository/¶
Returns information about the VCS repository status.
The response is same as for
GET /api/projects/(string:project)/repository/.Repository status requires component-wide permission on the component that owns the repository, including when accessing it through a linked component in another project.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Request JSON Object:
needs_commit (boolean) – whether there are any pending changes to commit
needs_merge (boolean) – whether there are any upstream changes to merge
needs_push (boolean) – whether there are any local changes to push
remote_commit (string) – Remote commit information
status (string) – VCS repository status as reported by VCS
merge_failure – Text describing merge failure or null if there is none
- POST /api/components/(string: project)/(string: component)/repository/¶
Performs the given operation on a VCS repository.
See
POST /api/projects/(string:project)/repository/for documentation.Repository operations require component-wide permission on the component that owns the repository, including when accessing it through a linked component in another project.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Response JSON Object:
operation (string) – Operation to perform: one of
push,pull,commit,reset,cleanup
- Request JSON Object:
result (boolean) – result of the operation
CURL-Beispiel:
curl \ -d operation=pull \ -H "Authorization: Token TOKEN" \ http://example.com/api/components/hello/weblate/repository/
JSON-Anfragebeispiel:
POST /api/components/hello/weblate/repository/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 {"operation":"pull"}
JSON response example:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS {"result":true}
- GET /api/components/(string: project)/(string: component)/monolingual_base/¶
Downloads base file for monolingual translations.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- GET /api/components/(string: project)/(string: component)/new_template/¶
Downloads template file for new translations.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- GET /api/components/(string: project)/(string: component)/translations/¶
Returns a list of translation objects in the given component.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Request JSON Object:
results (array) – array of translation objects; see
GET /api/translations/(string:project)/(string:component)/(string:language)/
- POST /api/components/(string: project)/(string: component)/translations/¶
Creates new translation in the given component.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Response JSON Object:
language_code (string) – translation language code; see
GET /api/languages/(string:language)/from_component (array) – optional ordered list of source component references used for automatic translation. Accepts numeric component IDs or full Weblate component paths. For form submissions this field can be provided multiple times.
- Request JSON Object:
result (object) – new translation object created
CURL-Beispiel:
curl \ -d language_code=cs \ -H "Authorization: Token TOKEN" \ http://example.com/api/projects/hello/components/
JSON-Anfragebeispiel:
POST /api/projects/hello/components/ HTTP/1.1 Host: example.com Accept: application/json Content-Type: application/json Authorization: Token TOKEN Content-Length: 20 { "language_code": "cs", "from_component": ["hello/weblate", 123] }
JSON response example:
HTTP/1.0 200 OK Date: Tue, 12 Apr 2016 09:32:50 GMT Server: WSGIServer/0.1 Python/2.7.11+ Vary: Accept, Accept-Language, Cookie X-Frame-Options: SAMEORIGIN Content-Type: application/json Content-Language: en Allow: GET, POST, HEAD, OPTIONS { "failing_checks": 0, "failing_checks_percent": 0, "failing_checks_words": 0, "filename": "po/cs.po", "fuzzy": 0, "fuzzy_percent": 0.0, "fuzzy_words": 0, "have_comment": 0, "have_suggestion": 0, "is_template": false, "is_source": false, "language": { "code": "cs", "direction": "ltr", "population": 1303174280 "name": "Czech", "url": "http://example.com/api/languages/cs/", "web_url": "http://example.com/languages/cs/" }, "language_code": "cs", "id": 125, "last_author": null, "last_change": null, "share_url": "http://example.com/engage/hello/cs/", "total": 4, "total_words": 15, "translate_url": "http://example.com/translate/hello/weblate/cs/", "translated": 0, "translated_percent": 0.0, "translated_words": 0, "url": "http://example.com/api/translations/hello/weblate/cs/", "web_url": "http://example.com/projects/hello/weblate/cs/" }
- GET /api/components/(string: project)/(string: component)/statistics/¶
Returns paginated statistics for all translations within component.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
Siehe auch
Returned attributes are described in Statistik.
- GET /api/components/(string: project)/(string: component)/links/¶
Returns projects linked with a component.
Component managers see every linked project. Other callers see only linked projects they can access.
Added in version 4.5.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Request JSON Object:
projects (array) – associated projects; see
GET /api/projects/(string:project)/
- POST /api/components/(string: project)/(string: component)/links/¶
Associate project with a component.
This requires permission to edit the component and the target project.
Added in version 4.5.
Geändert in Version 5.17.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
- Form Parameters:
string project_slug – Projekt-Slug
int category_id – Category ID in the target project (optional). The category must belong to the specified project.
- DELETE /api/components/(string: project)/(string: component)/links/(string: project_slug)/¶
Remove association of a project with a component.
Added in version 4.5.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
project_slug (string) – Slug of the project to remove
- GET /api/components/(string: project)/(string: component)/reports/¶
Lists accessible reports generated directly for a component.
- POST /api/components/(string: project)/(string: component)/reports/¶
Schedules a report using the component as its scope. The request and response match
POST /api/reports/; scope fields must be omitted.
- GET /api/components/(string: project)/(string: component)/announcements/¶
Added in version 5.17: Returns announcements for a component.
- param project:
Project URL slug
- type project:
Zeichenfolge
- param component:
Component URL slug
- type component:
Zeichenfolge
- >json int id:
ID of the announcement
- >json string message:
announcement text
- >json string severity:
color of the message, one of
info(light blue),warning(yellow),danger(red),success(green)- >json date expiry:
hide after this date, ISO 8601 extended format date (optional)
- >json bool notify:
send notification to subscribed users? (optional)
- POST /api/components/(string: project)/(string: component)/announcements/¶
Added in version 5.17: Creates an announcement for a component.
- param project:
Project URL slug
- type project:
Zeichenfolge
- param component:
Component URL slug
- type component:
Zeichenfolge
- <json string message:
announcement text
- <json string severity:
color of the message, one of
info(light blue),warning(yellow),danger(red),success(green)- <json date expiry:
hide after this date, ISO 8601 extended format date (optional)
- <json bool notify:
send notification to subscribed users? (optional)
- DELETE /api/components/(string: project)/(string: component)/announcements/(int: announcement_id)/¶
Added in version 5.17: Deletes an announcement from a component.
- param project:
Project URL slug
- type project:
Zeichenfolge
- param component:
Component URL slug
- type component:
Zeichenfolge
- param announcement_id:
ID of the announcement to delete
- type announcement_id:
Ganzzahl
Übersetzungen¶
- GET /api/translations/¶
Returns a list of translations.
Siehe auch
Translation object attributes are documented at
GET /api/translations/(string:project)/(string:component)/(string:language)/.
- GET /api/translations/(string: project)/(string: component)/(string: language)/¶
Returns information about the translation.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
language (string) – Sprachcode der Übersetzung
- Request JSON Object:
component (object) – component object; see
GET /api/components/(string:project)/(string:component)/failing_checks (int) – number of strings failing checks
failing_checks_percent (float) – percentage of strings failing checks
failing_checks_words (int) – number of words with failing checks
filename (string) – translation filename
fuzzy (int) – number of fuzzy (marked for edit) strings
fuzzy_percent (float) – percentage of fuzzy (marked for edit) strings
fuzzy_words (int) – number of words in fuzzy (marked for edit) strings
have_comment (int) – number of strings with comment
have_suggestion (int) – number of strings with suggestion
is_template (boolean) – whether the translation has a monolingual base
language (object) – source language object; see
GET /api/languages/(string:language)/language_code (string) – language code used in the repository; this can be different from language code in the language object
last_author (string) – name of last author
last_change (timestamp) – last change timestamp
revision (string) – revision hash for the file
share_url (string) – URL for sharing leading to engagement page
total (int) – total number of strings
total_words (int) – total number of words
translate_url (string) – URL for translating
translated (int) – number of translated strings
translated_percent (float) – percentage of translated strings
translated_words (int) – number of translated words
repository_url (string) – URL to repository status; see
GET /api/translations/(string:project)/(string:component)/(string:language)/repository/file_url (string) – URL to file object; see
GET /api/translations/(string:project)/(string:component)/(string:language)/file/changes_list_url (string) – URL to changes list; see
GET /api/translations/(string:project)/(string:component)/(string:language)/changes/units_list_url (string) – URL to strings list; see
GET /api/translations/(string:project)/(string:component)/(string:language)/units/announcements_url (string) – URL to announcements; see
GET /api/translations/(string:project)/(string:component)/(string:language)/announcements/
Example JSON data:
{ "component": { "branch": "main", "file_format": "po", "file_format_params": { "po_line_wrap": 65535, "po_no_location": true }, "filemask": "po/*.po", "git_export": "", "license": "", "license_url": "", "name": "Weblate", "new_base": "", "project": { "name": "Hello", "slug": "hello", "source_language": { "code": "en", "direction": "ltr", "population": 159034349015, "name": "English", "url": "http://example.com/api/languages/en/", "web_url": "http://example.com/languages/en/" }, "url": "http://example.com/api/projects/hello/", "web": "https://weblate.org/", "web_url": "http://example.com/projects/hello/" }, "repo": "https://github.com/WeblateOrg/hello.git", "slug": "weblate", "template": "", "url": "http://example.com/api/components/hello/weblate/", "vcs": "git", "web_url": "http://example.com/projects/hello/weblate/" }, "failing_checks": 3, "failing_checks_percent": 75.0, "failing_checks_words": 11, "filename": "po/cs.po", "fuzzy": 0, "fuzzy_percent": 0.0, "fuzzy_words": 0, "have_comment": 0, "have_suggestion": 0, "is_template": false, "language": { "code": "cs", "direction": "ltr", "population": 1303174280 "name": "Czech", "url": "http://example.com/api/languages/cs/", "web_url": "http://example.com/languages/cs/" }, "language_code": "cs", "last_author": "Weblate Admin", "last_change": "2016-03-07T10:20:05.499", "revision": "7ddfafe6daaf57fc8654cc852ea6be212b015792", "share_url": "http://example.com/engage/hello/cs/", "total": 4, "total_words": 15, "translate_url": "http://example.com/translate/hello/weblate/cs/", "translated": 4, "translated_percent": 100.0, "translated_words": 15, "url": "http://example.com/api/translations/hello/weblate/cs/", "web_url": "http://example.com/projects/hello/weblate/cs/" }
- DELETE /api/translations/(string: project)/(string: component)/(string: language)/¶
Deletes a translation.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
language (string) – Sprachcode der Übersetzung
- GET /api/translations/(string: project)/(string: component)/(string: language)/changes/¶
Returns a list of translation changes. This is essentially a translations-scoped
GET /api/changes/accepting the same parameters.- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
language (string) – Sprachcode der Übersetzung
- Request JSON Object:
results (array) – array of component objects; see
GET /api/changes/(int:id)/
- GET /api/translations/(string: project)/(string: component)/(string: language)/units/¶
Returns a list of translation units.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
language (string) – Sprachcode der Übersetzung
q (string) – Search query string Suche (optional)
- Request JSON Object:
results (array) – array of component objects; see
GET /api/units/(int:id)/
- POST /api/translations/(string: project)/(string: component)/(string: language)/units/¶
Add new unit.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
language (string) – Sprachcode der Übersetzung
- Response JSON Object:
key (string) – Monolingual translations: Key of translation unit
value (array) – Monolingual translations: Source strings (use single string if not creating plural)
context (string) – Bilingual translations: Context of a translation unit
source (array) – Bilingual translations: Source strings (use single string if not creating plural)
target (array) – Bilingual translations: Target strings (use single string if not creating plural)
state (int) – String state; see
GET /api/units/(int:id)/
- Request JSON Object:
unit (object) – newly created unit; see
GET /api/units/(int:id)/
Creating a unit in the approved state requires permission to review strings.
- POST /api/translations/(string: project)/(string: component)/(string: language)/autotranslate/¶
Geändert in Version 5.13: The
filter_typeparameter is no longer supported and filtering is done by theqparameter.Geändert in Version 2026.10: Added the
backgroundparameter.Trigger automatic translation.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
language (string) – Sprachcode der Übersetzung
- Response JSON Object:
mode (string) – Automatic translation mode; one of
suggest,translate,fuzzy,approvedq (string) – Automatic translation search string, see Nach Zeichenketten suchen.
auto_source (string) – Automatic translation source -
mtorotherscomponent (string) – Component ID (always accepted); when the project has 30 or more eligible source components, a component slug or
project/componentpath is also accepted; leave blank to use all components in the projectengines (array) – Translation services to use when
auto_sourceismtthreshold (int) – Score threshold for machine translation (1–100)
background (boolean) – Schedule automatic translation as a background task instead of waiting for it to finish. Defaults to
false.
- Request JSON Object:
details (string) – Human-readable summary of the translation result, or status of a background task
errors (array) – Errors encountered during automatic translation; an empty array when completed without errors. Omitted while a background task is queued.
task_url (string) – URL for tracking a background task; see
GET /api/tasks/(str:uuid)/
With
backgroundset totrue, the endpoint returns202 Acceptedonce the task is scheduled. Validation and permission errors are still reported immediately.Completed requests return
200 OK, including when some or all translation service batches fail. Successful translations are retained. Checkerrorsto distinguish provider failures from a run with nothing to update. Error details follow the diagnostic permissions described in Aufgaben; other readers receive a generic error explanation.
- GET /api/translations/(string: project)/(string: component)/(string: language)/file/¶
Download current translation file as it is stored in the VCS (without the
formatparameter) or converted to another format (see Übersetzungen herunterladen).Bemerkung
This API endpoint uses different logic for output than rest of API as it operates on whole file rather than on data. Set of accepted
formatparameter differs and without such parameter you get translation file as stored in VCS.- Response Headers:
Last-Modified – Timestamp of last change to this file.
- Request Headers:
If-Modified-Since – Skips response if the file has not been modified since that time.
- Query Parameters:
format – File format to use; if not specified no format conversion happens; see Übersetzungen herunterladen for supported formats
q (string) – Filter downloaded strings, see Suche, only applicable when conversion is in place (
formatis specified).
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
language (string) – Sprachcode der Übersetzung
- POST /api/translations/(string: project)/(string: component)/(string: language)/file/¶
Upload new file with translations.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
language (string) – Sprachcode der Übersetzung
- Form Parameters:
boolean ignore_language – Ignore a mismatch between the declared file language and the translation language (defaults to
false), see Sprachprüfungstring conflicts – How to deal with conflicts (
ignore,replace-translatedorreplace-approved), see Konfliktbehandlungfile file – Uploaded file or file content sent as a form field without a filename
string author_email – Author e-mail
string author_name – Author name
string method – Upload method (
translate,approve,suggest,fuzzy,replace,source,add), see Importmethodenstring fuzzy – Fuzzy (marked for edit) strings processing (empty,
process,approve)
CURL-Beispiel:
curl -X POST \ -F file=@strings.xml \ -H "Authorization: Token TOKEN" \ http://example.com/api/translations/hello/android/cs/file/
The
filefield can also be sent as form content without a filename, for example when piping data from another command:curl -X POST \ -F 'file=<strings.xml' \ -H "Authorization: Token TOKEN" \ http://example.com/api/translations/hello/android/cs/file/
The content is used as submitted, byte for byte, so any file encoding works.
- GET /api/translations/(string: project)/(string: component)/(string: language)/repository/¶
Returns information about the VCS repository status.
The response is same as for
GET /api/components/(string:project)/(string:component)/repository/.Repository status requires component-wide permission on the component that owns the repository, including when accessing it through a linked component in another project. A permission limited to the requested language is not sufficient.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
language (string) – Sprachcode der Übersetzung
- POST /api/translations/(string: project)/(string: component)/(string: language)/repository/¶
Performs given operation on the VCS repository.
See
POST /api/projects/(string:project)/repository/for documentation.Repository operations require component-wide permission on the component that owns the repository, including when accessing it through a linked component in another project. A permission limited to the requested language is not sufficient.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
language (string) – Sprachcode der Übersetzung
- Response JSON Object:
operation (string) – Operation to perform: one of
push,pull,commit,reset,cleanup
- Request JSON Object:
result (boolean) – result of the operation
- GET /api/translations/(string: project)/(string: component)/(string: language)/statistics/¶
Returns detailed translation statistics.
- Parameter:
project (string) – Project URL slug
component (string) – Component URL slug
language (string) – Sprachcode der Übersetzung
Siehe auch
Returned attributes are described in Statistik.
- GET /api/translations/(string: project)/(string: component)/(string: language)/announcements/¶
Added in version 5.17: Returns announcements for a translation.
- param project:
Project URL slug
- type project:
Zeichenfolge
- param component:
Component URL slug
- type component:
Zeichenfolge
- param language:
Sprachcode der Übersetzung
- type language:
Zeichenfolge
- >json int id:
ID of the announcement
- >json string message:
announcement text
- >json string severity:
color of the message, one of
info(light blue),warning(yellow),danger(red),success(green)- >json date expiry:
hide after this date, ISO 8601 extended format date (optional)
- >json bool notify:
send notification to subscribed users? (optional)
- POST /api/translations/(string: project)/(string: component)/(string: language)/announcements/¶
Added in version 5.17: Creates an announcement for a translation.
- param project:
Project URL slug
- type project:
Zeichenfolge
- param component:
Component URL slug
- type component:
Zeichenfolge
- param language:
Sprachcode der Übersetzung
- type language:
Zeichenfolge
- <json string message:
announcement text
- <json string severity:
color of the message, one of
info(light blue),warning(yellow),danger(red),success(green)- <json date expiry:
hide after this date, ISO 8601 extended format date (optional)
- <json bool notify:
send notification to subscribed users? (optional)
- DELETE /api/translations/(string: project)/(string: component)/(string: language)/announcements/(int: announcement_id)/¶
Added in version 5.17: Deletes an announcement from a translation.
- param project:
Project URL slug
- type project:
Zeichenfolge
- param component:
Component URL slug
- type component:
Zeichenfolge
- param language:
Sprachcode der Übersetzung
- type language:
Zeichenfolge
- param announcement_id:
ID of the announcement to delete
- type announcement_id:
Ganzzahl
Speicher¶
Added in version 4.14.
- GET /api/memory/¶
Returns a paginated list of memory results visible to the authenticated user. When no source filter is supplied, the response enumerates all visible entries, including the global shared translation memory. Shared entries contain their source string, translation, and project and component origin. Project access control does not restrict entries explicitly published to shared translation memory; see Gemeinsamer Übersetzungsspeicher.
- Query Parameters:
source – Case-insensitive substring filter on source text (optional)
source_language – Source language code filter (optional)
target_language – Target language code filter (optional)
project – Project slug filter (optional)
- POST /api/memory/lookup/¶
Looks up translation memory matches for the provided source strings.
- Query Parameters:
source_language – Source language code
target_language – Target language code
project – Project slug filter (optional)
exact – Return exact matches only and skip fuzzy matching (optional)
- Response JSON Object:
strings (array) – List of source strings to look up
- Request JSON Object:
results (array) – Ordered lookup results with the best match for each query or
nullwhen no match was found
- DELETE /api/memory/(int: memory_object_id)/¶
Deletes a memory object
- Parameter:
memory_object_id – Memory Object ID
Einheiten¶
Eine Einheit ist ein einzelner Teil einer Übersetzung, der eine Ausgangszeichenkette mit einer entsprechenden übersetzten Zeichenkette verbindet und auch einige zugehörige Metadaten enthält. Der Begriff ist abgeleitet von der translate.storage.base.TranslationUnit im Translate Toolkit und XLIFF.
- GET /api/units/¶
Returns a list of translation units.
- Parameter:
q (string) – Search query string Suche (optional)
Siehe auch
Unit object attributes are documented at
GET /api/units/(int:id)/.
- GET /api/units/(int: id)/¶
Geändert in Version 4.3: The
targetandsourceare now arrays to properly handle plural strings.Geändert in Version 5.6: The
last_updatedattribute is now exposed.Geändert in Version 2026.10: The
screenshots_urlattribute is now exposed.Returns information about the translation unit.
- Parameter:
id (int) – Unit ID
- Request JSON Object:
translation (string) – URL of a related translation object
source (array) – source string
previous_source (string) – previous source string used for fuzzy matching
target (array) – target string
id_hash (string) – unique identifier of the unit
content_hash (string) – unique identifier of the source string
location (string) – location of the unit in source code
context (string) – translation unit context
note (string) – translation unit note
flags (string) – translation unit flags
labels (array) – translation unit labels, available on source units
state (int) – unit state, 0 - untranslated, 10 - needs editing, 20 - translated, 30 - approved, 100 - read-only
fuzzy (boolean) – whether the unit is fuzzy or marked for review
translated (boolean) – whether the unit is translated
approved (boolean) – whether the translation is approved
position (int) – unit position in translation file
has_suggestion (boolean) – whether the unit has suggestions
has_comment (boolean) – whether the unit has comments
has_failing_check (boolean) – whether the unit has failing checks
num_words (int) – number of source words
priority (int) – translation priority; 100 is default
id (int) – unit identifier
tbx_terms (object) – Read-only TBX metadata with source and target alternative lists. Each record contains text, optional ID, administrative status, and notes with text, origin, category, and scope (concept, language, or term). Empty for other formats.
explanation (string) – String explanation, available on source units, see Zusätzliche Informationen über Ausgangszeichenketten
extra_flags (string) – Additional flags for this unit; source flags apply to all languages and translation flags apply only to that language, see Übersetzungsmarkierungen
web_url (string) – URL where the unit can be edited
source_unit (string) – Source unit link; see
GET /api/units/(int:id)/screenshots_url (string) – URL to list and manage associated screenshots; see
GET /api/units/(int:id)/screenshots/translation_parent (string) – Read-only link to the configured parent unit, or null when using the component source or the configured parent is missing; see Eigene Ausgangssprache
effective_source (array) – Read-only source text used for translation, including plural forms. The existing
sourcefield continues to contain the canonical file source.effective_previous_source (array) – Read-only previous source text shown before an effective-source change, including plural forms. The existing
previous_sourcefield retains the canonical file-source value.effective_source_language (string) – Read-only language code of the effective source, retaining the configured language when its source is missing
pending (boolean) – whether the unit is pending for write
timestamp (timestamp) – string age
last_updated (timestamp) – last string update
- PATCH /api/units/(int: id)/¶
Added in version 4.3.
Performs partial update on translation unit.
- Parameter:
id (int) – Unit ID
- Response JSON Object:
state (int) – unit state, 0 - untranslated, 10 - needs editing, 20 - translated, 30 - approved (need review workflow enabled, see Dedizierte Prüfer)
target (array) – target string
explanation (string) – String explanation, available on source units, see Zusätzliche Informationen über Ausgangszeichenketten
extra_flags (string) – Additional flags for this unit; source flags apply to all languages and translation flags apply only to that language, see Übersetzungsmarkierungen
labels (array) – labels, available on source units
- PUT /api/units/(int: id)/¶
Added in version 4.3.
Performs full update on translation unit.
- Parameter:
id (int) – Unit ID
- Response JSON Object:
state (int) – unit state, 0 - untranslated, 10 - needs editing, 20 - translated, 30 - approved (need review workflow enabled, see Dedizierte Prüfer)
target (array) – target string
explanation (string) – String explanation, available on source units, see Zusätzliche Informationen über Ausgangszeichenketten
extra_flags (string) – Additional flags for this unit; source flags apply to all languages and translation flags apply only to that language, see Übersetzungsmarkierungen
labels (array) – labels, available on source units
- POST /api/units/(int: id)/source/¶
Edit the source string associated with a unit, updating its existing translations within the component. Requires source-editing permission and Zeichenketten verwalten. See Ausgangszeichenketten und Schlüssel bearbeiten for format support and restrictions.
- Parameter:
id (int) – unit ID in any language
- Response JSON Object:
content_hash (integer) – current content hash of the source unit, required to detect stale edits
source (array) – replacement source forms, preserving the existing number of forms; optional
context (string) – replacement key or context; optional
explanation (string) – source explanation; optional
- Request JSON Object:
object – updated source unit, in the same format as
GET /api/units/(int:id)/
- Status Codes:
200 OK – source updated, or the request made no changes
400 Bad Request – invalid edit, conflicting key, unsupported operation, or stale content hash
403 Forbidden – editing is not permitted
423 Locked – component is busy; retry later
Omitted fields remain unchanged. Translation text and associated history are retained. Source-text changes mark translations as needing editing; key-only changes preserve translation states. Files are updated by the normal pending-change queue, respecting the project’s commit policy.
- DELETE /api/units/(int: id)/¶
Added in version 4.3.
Deletes a translation unit.
- Parameter:
id (int) – Unit ID
- GET /api/units/(int: id)/translations/¶
Added in version 5.11.
Returns a list of all target translation units for the given source translation unit.
- GET /api/units/(int: id)/screenshots/¶
Added in version 2026.10.
Returns a paginated list of screenshots associated with the unit.
- Parameter:
id (int) – Unit ID
Siehe auch
Screenshot object attributes are documented at
GET /api/screenshots/(int:id)/.
- POST /api/units/(int: id)/screenshots/¶
Added in version 2026.10.
Associate screenshot with unit.
- Parameter:
id (int) – Unit ID
- Form Parameters:
string screenshot_id – Screenshot ID; the screenshot must belong to the same component and language as the unit
Siehe auch
Returns the associated screenshot; see
GET /api/screenshots/(int:id)/.
- DELETE /api/units/(int: id)/screenshots/(int: screenshot_id)¶
Added in version 2026.10.
Remove screenshot association with unit.
- Parameter:
id (int) – Unit ID
screenshot_id (int) – Screenshot ID
- POST /api/units/(int: id)/comments/¶
Added in version 5.12.
Create a new comment on the given translation unit.
- Parameter:
id (int) – Unit ID
- Response JSON Object:
scope (string) – comment scope - global, translation (available on all non-source units), report (need review workflow enabled, see Dedizierte Prüfer)
comment (string) – content of the new comment, you can use Markdown and mention users by @username.
user_email (string) – commenter’s email, can be set only by project admins and defaults to the authenticated user.
timestamp (string) – creation timestamp of the comment, can be set only by project admins and defaults to now.
- Request JSON Object:
id (int) – comment identifier
comment (string) – content of the new comment
user (string) – URL of the commenter’s object
timestamp (string) – creation timestamp of the comment
- GET /api/units/(int: id)/comments/¶
Added in version 5.15.
Returns a list of comments on a given translation unit
- Parameter:
id (int) – Unit ID
- Request JSON Object:
id (int) – comment identifier
comment (string) – content of the comment
timestamp (string) – creation timestamp of the comment
user (string) – URL of the commenter’s object
- POST /api/units/(int: id)/suggestions/¶
Added in version 2026.8.
Create a new suggestion on the given translation unit.
Requires authentication and the Add suggestion permission on the translation. Suggestions must be enabled on the translation, the translation must not be read-only, and the user must have signed any required contributor agreement.
- Parameter:
id (int) – Unit ID
- Response JSON Object:
target (array) – suggested translation text as a list of plural forms; use a single-element array for non-plural strings
- Request JSON Object:
id (int) – suggestion identifier
target (array) – suggested translation text as a list of plural forms
unit (string) – URL of the related unit object
user (string) – URL of the suggester’s object
timestamp (string) – creation timestamp of the suggestion
votes (int) – net vote count for the suggestion
Users who also have the Vote on suggestion permission automatically upvote their suggestion when it is created.
When the same suggestion already exists from another user and the caller has the Vote on suggestion permission, the existing suggestion is upvoted instead and the response uses the same format as
POST /api/suggestions/(int:id)/vote/(HTTP status 200 instead of 201).
- GET /api/units/(int: id)/suggestions/¶
Added in version 2026.8.
Returns a paginated list of suggestions on a given translation unit.
- Parameter:
id (int) – Unit ID
- Request JSON Object:
results (array) – array of suggestion objects; see
GET /api/suggestions/(int:id)/
Vorschläge¶
- GET /api/suggestions/¶
Added in version 2026.8.
Returns a paginated list of suggestions the user has access to, ordered by creation time (most recent first).
Siehe auch
Suggestion object attributes are documented at
GET /api/suggestions/(int:id)/.- Request JSON Object:
results (array) – array of suggestion objects; see
GET /api/suggestions/(int:id)/
- GET /api/suggestions/(int: id)/¶
Added in version 2026.8.
Returns information about a suggestion.
- Parameter:
id (int) – Suggestion ID
- Request JSON Object:
id (int) – suggestion identifier
target (array) – suggested translation text as a list of plural forms
unit (string) – URL of the related unit object
user (string) – URL of the suggester’s object, or
nullfor anonymous suggestionstimestamp (string) – creation timestamp of the suggestion
votes (int) – net vote count for the suggestion
- DELETE /api/suggestions/(int: id)/¶
Added in version 2026.8.
Delete or reject a suggestion.
Requires the Delete suggestion permission on the related translation, or ownership of the suggestion.
- Parameter:
id (int) – Suggestion ID
- Response JSON Object:
rejection_reason (string) – optional reason for rejecting the suggestion
is_spam (boolean) – whether to report the suggestion as spam
The request body is optional. When
is_spamistrue, the suggestion content is reported to the antispam service.
- POST /api/suggestions/(int: id)/accept/¶
Added in version 2026.8.
Accept a suggestion and apply it to the translation unit.
Requires the Accept suggestion permission on the related translation unit.
- Parameter:
id (int) – Suggestion ID
- Response JSON Object:
approve (boolean) – whether to mark the translation as approved after accepting; requires the Review strings permission and review workflow enabled (see Dedizierte Prüfer)
- Request JSON Object:
result (string) –
acceptedwhen the suggestion was accepted
- POST /api/suggestions/(int: id)/vote/¶
Added in version 2026.8.
Vote for or against a suggestion.
Requires the Vote on suggestion permission and voting enabled on the related translation (see Über Vorschläge abstimmen).
- Parameter:
id (int) – Suggestion ID
- Response JSON Object:
value (int) –
1to vote for the suggestion or-1to vote against it
- Request JSON Object:
result (string) –
votedwhen the suggestion remains open;acceptedwhen auto-accept applied itsuggestion (object) – updated suggestion object when
resultisvoted;nullwhenresultisaccepted
Änderungen¶
- GET /api/changes/¶
Geändert in Version 4.1: Filtering of changes was introduced in the 4.1 release.
Returns a list of translation changes.
Siehe auch
Change object attributes are documented at
GET /api/changes/(int:id)/.- Query Parameters:
user (string) – Username of the user to filter by
action (int) – Action to filter, can be used several times; see Ausgewählte Änderungsereignisse for available values
timestamp_after (timestamp) – ISO 8601 formatted timestamp to list changes after
timestamp_before (timestamp) – ISO 8601 formatted timestamp to list changes before
- GET /api/changes/(int: id)/¶
Returns information about the translation change.
- Parameter:
id (int) – Change ID
- Request JSON Object:
unit (string) – URL of a related unit object
translation (string) – URL of a related translation object
component (string) – URL of a related component object
user (string) – URL of a related user object
author (string) – URL of a related author object
timestamp (timestamp) – event timestamp
action (int) – numeric identification of action
action_name (string) – text description of action
target (string) – event changed text
old (string) – previous text
details (object) – additional details about the change
id (int) – change identifier
When an IP address is recorded for an anonymous change, the
ip_addressattribute indetailsis included only for superusers.New changes include a
change_originobject indetails, for example{"change_origin": {"scope": "api"}}. The scope isuifor browser sessions, including session-authenticated API requests, orapifor successful Token or Bearer authentication. Repository string imports userepository, including imports triggered through the UI or API. Uploads retain their UI or API origin. Changes without request or inherited background-task attribution usesystem. Background tasks inherit their initiating origin.Changes made by automation use the
automationscope and identify both the installed add-on and its execution log, for example{"change_origin": {"scope": "automation", "automation": {"addon_id": 12, "activity_id": 34}}}. This attribution also applies to background work and repository processing initiated by the automation. The identifiers remain in change history after the add-on or execution log is deleted. Workflow settings are not included.Historical changes can omit
change_origin. The separateoriginfield on component creation events describes how the component was created. Clients should allow additional scopes and origin attributes. Token credentials are never included.
Bildschirmfotos¶
- GET /api/screenshots/¶
Returns a list of screenshots.
Siehe auch
Screenshot object attributes are documented at
GET /api/screenshots/(int:id)/.
- GET /api/screenshots/(int: id)/¶
Returns information about the screenshot.
- Parameter:
id (int) – Screenshot ID
- Request JSON Object:
name (string) – name of a screenshot
repository_filename (string) – repository path used to match repository-based screenshot updates
translation (string) – URL of a related translation object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/units (array) – link to associated source string information; see
GET /api/units/(int:id)/
- GET /api/screenshots/(int: id)/file/¶
Download the screenshot image.
- Parameter:
id (int) – Screenshot ID
- POST /api/screenshots/(int: id)/file/¶
Replace screenshot image.
- Parameter:
id (int) – Screenshot ID
- Form Parameters:
file image – Uploaded file
CURL-Beispiel:
curl -X POST \ -F image=@image.png \ -H "Authorization: Token TOKEN" \ http://example.com/api/screenshots/1/file/
- POST /api/screenshots/(int: id)/units/¶
Associate source string with screenshot.
- Parameter:
id (int) – Screenshot ID
- Form Parameters:
string unit_id – Unit ID
- Request JSON Object:
name (string) – name of a screenshot
translation (string) – URL of a related translation object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/units (array) – link to associated source string information; see
GET /api/units/(int:id)/
- DELETE /api/screenshots/(int: id)/units/(int: unit_id)¶
Remove source string association with screenshot.
- Parameter:
id (int) – Screenshot ID
unit_id – Source string unit ID
- POST /api/screenshots/¶
Creates a new screenshot.
- Form Parameters:
file image – Uploaded file
string name – Screenshot name
string project_slug – Projekt-Slug
string component_slug – Komponenten-Slug
string language_code – Sprachcode
string repository_filename – Optional repository path used to associate later repository updates
- Request JSON Object:
name (string) – name of a screenshot
repository_filename (string) – repository path used to match repository-based screenshot updates
translation (string) – URL of a related translation object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/units (array) – link to associated source string information; see
GET /api/units/(int:id)/
- PATCH /api/screenshots/(int: id)/¶
Edit partial information about screenshot.
- Parameter:
id (int) – Screenshot ID
- Request JSON Object:
name (string) – name of a screenshot
repository_filename (string) – repository path used to match repository-based screenshot updates
translation (string) – URL of a related translation object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/units (array) – link to associated source string information; see
GET /api/units/(int:id)/
- PUT /api/screenshots/(int: id)/¶
Edit full information about screenshot.
- Parameter:
id (int) – Screenshot ID
- Request JSON Object:
name (string) – name of a screenshot
repository_filename (string) – repository path used to match repository-based screenshot updates
translation (string) – URL of a related translation object
file_url (string) – URL to download a file; see
GET /api/screenshots/(int:id)/file/units (array) – link to associated source string information; see
GET /api/units/(int:id)/
- DELETE /api/screenshots/(int: id)/¶
Delete screenshot.
- Parameter:
id (int) – Screenshot ID
Kotlin-SDK-Builds¶
Warnung
The Kotlin SDK is available as an alpha release. No compatibility is guaranteed until the final Kotlin SDK is released. Endpoints, build metadata, CDN manifests, and generated resource formats may change without backward compatibility.
The API contract is also documented in the OpenAPI schema at /api/schema/.
The registration metadata has a JSON Schema.
See Kotlin-SDK-CDN for add-on installation, lifecycle settings, and the
CDN manifest contract.
- POST /api/components/(string: project)/(string: component)/addons/kotlin-sdk/builds/¶
Register resource IDs for Kotlin-SDK-CDN. Requires the Kotlin SDK CDN add-on (
weblate.cdn.kotlin) installed directly on the component andcomponent.editpermission. Send JSON with:- Response JSON Object:
schemaVersion (integer) – Metadata version, currently 1; defaults to 1.
packageName (string) – Android application package name, at most 127 characters.
versionCode (integer) – Android version code between 1 and 2100000000.
strings (object) – String resource names mapped to hexadecimal IDs, such as
0x7f090003; defaults to an empty object.plurals (object) – Plural resource names mapped to hexadecimal IDs; defaults to an empty object. Quantities and translated values come from Weblate.
Include at least one resource across the two maps. The request limit is 5 MiB and 100000 combined resources. IDs must belong to application package
0x7fand use one distinct type ID per resource kind. Duplicate IDs, invalid names, unknown fields, and unsupported schema versions are rejected. The same name can occur in both maps with different IDs.A new registration returns 202; an identical existing registration returns 200. Conflicting metadata for an existing package/version returns 409. The response includes
packageName,versionCode,status,error,status_url, andmanifest_url. Publication is asynchronous; the manifest need not exist when registration returns.
- GET /api/components/(string: project)/(string: component)/addons/kotlin-sdk/builds/(string: package)/(int: version)/¶
Return the registration response fields for an existing build. Requires the Kotlin SDK CDN add-on (
weblate.cdn.kotlin) installed directly on the component andcomponent.editpermission. Status ispending,published,failed, orretired. A failed replacement may still have a previous successful manifest. Missing installations or registrations return 404.
Erweiterungen¶
Added in version 4.4.1.
- GET /api/addons/¶
Returns a list of add-ons the caller can manage. Site-wide add-on managers can access site-wide add-ons without gaining access to project or component add-on configuration.
Siehe auch
Add-on object attributes are documented at
GET /api/addons/(int:id)/.
- GET /api/addons/(int: id)/¶
Returns information about add-on information.
- Parameter:
id (int) – Erweiterungs-ID
- Request JSON Object:
name (string) – name of an add-on
component (string) – URL of a related component object
configuration (object) – Optional add-on configuration
Siehe auch
- POST /api/components/(string: project)/(string: component)/addons/¶
Creates a new add-on.
The xgettext and Meson extraction add-ons accept
data_dirsinconfigurationas an ordered list of repository-relative ITS data directories, for example{"data_dirs": ["po"]}. Each directory must contain anits/subdirectory. See POT-Datei aktualisieren (xgettext) for supported formats and validation.- Parameter:
project_slug (string) – Projekt-Slug
component_slug (string) – Komponenten-Slug
- Response JSON Object:
name (string) – name of an add-on
configuration (object) – Optional add-on configuration
- PATCH /api/addons/(int: id)/¶
Edit partial information about add-on.
- Parameter:
id (int) – Erweiterungs-ID
- Request JSON Object:
configuration (object) – Optional add-on configuration
- PUT /api/addons/(int: id)/¶
Edit full information about add-on.
- Parameter:
id (int) – Erweiterungs-ID
- Request JSON Object:
configuration (object) – Optional add-on configuration
- DELETE /api/addons/(int: id)/¶
Delete add-on.
- Parameter:
id (int) – Erweiterungs-ID
- POST /api/addons/(int: id)/trigger/¶
Trigger a manual run of an add-on that supports manual triggering.
Added in version 5.17.1.
- Parameter:
id (int) – Erweiterungs-ID
- JSON Parameters:
component (int) – For automations, the target component ID. Required for inherited installations; defaults to the installed component otherwise.
change (int) – For automations, a change in the target component matching a configured change subscription. Required for change-only workflows.
Automations execute their saved workflow for one component using the supplied context. Trigger-scoped actions require a change containing a string. Invalid context returns HTTP 400 before scheduling. Other add-ons retain their existing manual execution behavior and do not use these fields.
- POST /api/addons/(int: id)/preview/¶
Preview an Arbeitsablauf-Definition definition without executing actions. Requires the same management permission as configuring the add-on. Other built-in add-on types reject this operation. Custom preview providers require an explicit workflow and component ID.
- Parameter:
id – Add-on ID.
- JSON Parameters:
workflow (object) – Workflow definition, using the same structure as configuration. Required for custom preview providers; automations default to the saved workflow.
component (int) – Component ID within the installed add-on’s scope. Required for custom preview providers and inherited automations; component-level automations default to the installed component.
change (int) – Change ID belonging to that component and matching a configured change subscription. Required for change-only workflows.
Preview validates context using the same rules as manual execution, including requiring a change containing a string for trigger-scoped actions.
Returns
workflow, executioncontext, atraceof evaluated conditions and planned or conditional actions, andpreview: true. Configuration and scope errors return HTTP 400. Preview does not save configuration or create an activity log.
Komponentenlisten¶
Added in version 4.0.
- GET /api/component-lists/¶
Returns a list of component lists.
Siehe auch
Component list object attributes are documented at
GET /api/component-lists/(str:slug)/.
- GET /api/component-lists/(str: slug)/¶
Returns information about component list.
- Parameter:
slug (string) – Component list slug
- Request JSON Object:
name (string) – name of a component list
slug (string) – slug of a component list
show_dashboard (boolean) – whether to show it on a dashboard
components (array) – link to associated components; see
GET /api/components/(string:project)/(string:component)/auto_assign (array) – automatic assignment rules
- PUT /api/component-lists/(str: slug)/¶
Changes the component list parameters.
- Parameter:
slug (string) – Component list slug
- Response JSON Object:
name (string) – name of a component list
slug (string) – slug of a component list
show_dashboard (boolean) – whether to show it on a dashboard
- PATCH /api/component-lists/(str: slug)/¶
Changes the component list parameters.
- Parameter:
slug (string) – Component list slug
- Response JSON Object:
name (string) – name of a component list
slug (string) – slug of a component list
show_dashboard (boolean) – whether to show it on a dashboard
- DELETE /api/component-lists/(str: slug)/¶
Deletes the component list.
- Parameter:
slug (string) – Component list slug
- GET /api/component-lists/(str: slug)/components/¶
Added in version 5.0.1: List components in a component list.
- param slug:
Component list slug
- type slug:
Zeichenfolge
- form string component_id:
Component ID
- >json array results:
array of component objects; see
GET /api/components/(string:project)/(string:component)/
- POST /api/component-lists/(str: slug)/components/¶
Associate component with a component list.
- Parameter:
slug (string) – Component list slug
- Form Parameters:
string component_id – Component ID
- DELETE /api/component-lists/(str: slug)/components/(str: component_slug)¶
Disassociate a component from the component list.
- Parameter:
slug (string) – Component list slug
component_slug (string) – Komponenten-Slug
Glossar¶
Geändert in Version 4.5: Glossare werden nun als reguläre Komponenten, Übersetzungen und Zeichenketten gespeichert, bitte verwenden Sie stattdessen die entsprechende API.
Berichte¶
- GET /api/reports/¶
Lists stored reports accessible to the authenticated user. The optional
kind,workspace,project,category, andcomponentquery parameters filter the result. The Manage reports permission is authoritative for the selected scope and includes reports containing data from private projects and restricted components below that scope.
- POST /api/reports/¶
Schedules report generation and returns
202 Acceptedwith atask_url. The task result links to the created report. Thekindis one ofcredits,contributor_stats,cost_estimate, ortranslator_work. Specify at most one ofworkspace,project,category, orcomponent; omitting all of them creates a global report. Contribution reports requirestartandendISO 8601 timestamps. A workspace can be selected when the user has Manage reports for it, even without access to the regular workspace page.
- GET /api/reports/(int: id)/¶
Returns report metadata, generation parameters, stored JSON
data, and links to the JSON, HTML, and reStructuredText renderings.
- GET /api/reports/(int: id)/json/¶
Downloads only the stored report data without metadata.
- GET /api/reports/(int: id)/html/¶
Downloads an HTML rendering of the stored report.
- GET /api/reports/(int: id)/rst/¶
Downloads a reStructuredText rendering of the stored report.
Aufgaben¶
Added in version 4.4.
- GET /api/tasks/¶
Listing of the tasks is currently not available.
- GET /api/tasks/(str: uuid)/¶
Returns information about a task.
Authentication is required.
- Parameter:
uuid (string) – Task UUID
- Request JSON Object:
completed (boolean) – Whether the task has completed
progress (int) – Task progress in percent
result (object) – Task result or progress details
log (string) – Task log
cancellable (boolean) – Whether the task can be cancelled
Log entries are limited to components you can access. Sensitive diagnostics additionally require the View upstream repository location permission on the repository-owning component and access to all components referenced by the entry. General progress and failure messages remain available without this permission. Repository operations report start and completion summaries under the linked components included in the task, even when the repository-owning component is inaccessible. Failure results contain a summary; authorized users can find the detailed explanation in the task log. Automatic translation warnings identify source components only when you can access them. Other readers receive a general explanation of the warning. Completed automatic translation results include an
errorsarray, with one entry per failed batch or operation. Provider diagnostics require the same permissions as sensitive task log entries. Other readers receive a generic error explanation. Completion summaries report errors alongside the number of updated strings, including when some translations succeeded. Normal task outcomes, including unsuccessful bulk suggestion acceptance, retain their outcome messages. Backend failures use generic summaries. Aggregate automatic translation backend failures without component provenance retain cleaned failure diagnostics for the initiating user only.
- DELETE /api/tasks/(str: uuid)/¶
Cancels a running task when its
cancellableproperty istrue. Requires Edit component settings permission on every component associated with the task. Repository operation tasks cannot be cancelled because interruption can leave a repository operation incomplete.
Statistik¶
- GET /api/(str: object)/statistics/¶
There are several statistics endpoints for objects and all of them contain same structure.
- Parameter:
object (string) – URL path
- Request JSON Object:
total (int) – total number of strings
total_words (int) – total number of words
total_chars (int) – total number of characters
last_change (timestamp) – date of last change
translated (int) – number of translated strings
translated_percent (float) – percentage of translated strings
translated_words (int) – number of translated words
translated_words_percent (float) – percentage of translated words
translated_chars (int) – number of translated characters
translated_chars_percent (float) – percentage of translated characters
fuzzy (int) – number of fuzzy (marked for edit) strings
fuzzy_words (int) – number of fuzzy (marked for edit) words
fuzzy_chars (int) – number of fuzzy (marked for edit) characters
fuzzy_percent (float) – percentage of fuzzy (marked for edit) strings
fuzzy_words_percent (float) – percentage of fuzzy (marked for edit) words
fuzzy_chars_percent (float) – percentage of fuzzy (marked for edit) characters
failing (int) – number of failing checks
failing_percent (float) – percentage of failing checks
approved (int) – number of approved strings
approved_words (int) – number of approved words
approved_chars (int) – number of approved characters
approved_percent (float) – percentage of approved strings
approved_words_percent (float) – percentage of approved words
approved_chars_percent (float) – percentage of approved characters
readonly (int) – number of read-only strings
readonly_words (int) – number of read-only words
readonly – number of read-only characters
readonly_percent (float) – percentage of read-only strings
readonly_words_percent (float) – percentage of read-only words
readonly_char_percent (float) – percentage of read-only characters
suggestions (int) – number of strings with suggestions
comments (int) – number of strings with comments
name (string) – object name
url (string) – URL to access the object (if applicable)
url_translate (string) – URL to access the translation (if applicable)
code (string) – language code (if applicable)
Siehe auch
Metriken¶
- GET /api/metrics/¶
Returns server metrics.
Geändert in Version 5.6.1: Metrics can now be exposed in OpenMetrics compatible format with
?format=openmetrics.Geändert in Version 2026.8: OpenMetrics responses now include
HELPandTYPEmetadata and use the versioned OpenMetrics content type.- Request JSON Object:
units (int) – Number of units
units_translated (int) – Number of translated units
users (int) – Number of users
changes (int) – Number of changes
projects (int) – Number of projects
components (int) – Number of components
translations (int) – Number of translations
languages (int) – Number of used languages
checks (int) – Number of triggered quality checks
configuration_errors (int) – Number of configuration errors
suggestions (int) – Number of pending suggestions
celery_queues (object) – Lengths of Celery queues, see Hintergrundaufgaben mit Celery
bot_protection (object) – Best-effort hourly bot protection counts, or null when disabled or unavailable
name (string) – Configured server name
version (string) – Running Weblate version, included when
VERSION_DISPLAYisshoworsoft
In OpenMetrics format, the version is exposed as
weblate_info{version="..."} 1whenVERSION_DISPLAYisshoworsoft. All metrics are exposed as gauges.bot_protectioncontainscurrent_hourandprevious_24_hoursobjects. The latter covers the previous 24 completed hours, excluding the current hour. Each contains integer counts forissued,pow_required,success,expired_challenge,invalid_solution,replayed_challenge,csrf_failed, andverification_unavailable. Hours are UTC-aligned; counts can be lost through cache eviction or outages. Thepow_requiredcount covers requests rejected without issuing a challenge because of their method or Accept header. It excludes explicitbot_deniedpolicy denials and exempt requests, and counts requests rather than unique clients.CSV responses flatten these objects into columns. OpenMetrics exposes
bot_protection_eventsgauges withwindowandeventlabels, omitting these samples when protection is disabled or counters are unavailable.
Die Projektmetriken stellen Übersetzungsstatistiken für jede sichtbare Komponente und Sprache unter GET /api/projects/(string:project)/metrics/ bereit. Dazu gehören die Anzahl der übersetzten, gesamten, ungenauen, bei der Prüfung fehlgeschlagenen und genehmigten Zeichenketten, Wörter und Zeichen sowie Übersetzungsvorschläge, Kommentare und die Prozentsätze der übersetzten und genehmigten Elemente.
Suchen¶
- GET /api/search/¶
Added in version 4.18.
Returns site-wide search results as a list. There is no pagination on the result set, only first few matches are returned for each category.
The search looks for:
Projekte
Kategorien
Komponenten
Sprachen
Benutzer
- Parameter:
q – Search query string
- Request JSON Object:
name (str) – Name of the matched item.
url (str) – Web URL of the matched item.
category (str) – Category of the matched item.
Kategorien¶
- GET /api/categories/¶
Added in version 5.0.
Lists available categories. See
GET /api/categories/(int:id)/for field definitions.
- POST /api/categories/¶
Added in version 5.0.
Creates a new category. See
GET /api/categories/(int:id)/for field definitions.
- GET /api/categories/(int: id)/¶
Added in version 5.0.
- Parameter:
id (int) – Category ID
- Request JSON Object:
name (str) – Name of category.
slug (str) – Slug of category.
project (str) – Link to a project.
category (str) – Link to a parent category.
enforced_checks (array) – Locally configured enforced checks.
inherit_enforced_checks (boolean) – Whether enforced checks are inherited from the parent category, project, or workspace.
effective_enforced_checks (array) – Enforced checks currently applied to the category (read-only).
announcements_url (string) – URL to announcements; see
GET /api/categories/(int:id)/announcements/reports_url (string) – URL to list or generate scoped reports; see
GET /api/categories/(int:id)/reports/
- PATCH /api/categories/(int: id)/¶
Added in version 5.0: Edit partial information about category.
- param id:
Category ID
- type id:
int
- >json object configuration:
Optional category configuration
- PUT /api/categories/(int: id)/¶
Added in version 5.0: Edit full information about category.
- param id:
Category ID
- type id:
int
- >json object configuration:
Optional category configuration
- DELETE /api/categories/(int: id)/¶
Added in version 5.0: Delete category.
- param id:
Category ID
- type id:
int
- GET /api/categories/(int: id)/statistics/¶
Added in version 5.5.
Returns statistics for a category.
- Parameter:
id (int) – Category ID
Siehe auch
Returned attributes are described in Statistik.
- GET /api/categories/(int: id)/reports/¶
Lists accessible reports generated directly for a category.
- POST /api/categories/(int: id)/reports/¶
Schedules a report using the category as its scope. The request and response match
POST /api/reports/; scope fields must be omitted.
- GET /api/categories/(int: id)/announcements/¶
Added in version 5.17.1: Returns announcements for a category.
- param id:
Category ID
- type id:
int
- >json int id:
ID of the announcement
- >json string message:
announcement text
- >json string severity:
color of the message, one of
info(light blue),warning(yellow),danger(red),success(green)- >json date expiry:
hide after this date, ISO 8601 extended format date (optional)
- >json bool notify:
send notification to subscribed users? (optional)
- POST /api/categories/(int: id)/announcements/¶
Added in version 5.17.1: Creates an announcement for a category.
- param id:
Category ID
- type id:
int
- <json string message:
announcement text
- <json string severity:
color of the message, one of
info(light blue),warning(yellow),danger(red),success(green)- <json date expiry:
hide after this date, ISO 8601 extended format date (optional)
- <json bool notify:
send notification to subscribed users? (optional)
- DELETE /api/categories/(int: id)/announcements/(int: announcement_id)/¶
Added in version 5.17.1: Deletes an announcement from a category.
- param id:
Category ID
- type id:
int
- param announcement_id:
ID of the announcement to delete
- type announcement_id:
Ganzzahl
Benachrichtigungs-Hooks¶
Mithilfe von Benachrichtigungs-Hooks können externe Anwendungen Weblate darüber informieren, dass das VCS-Repository aktualisiert wurde. Weblate ordnet die Benachrichtigung anhand der Repository-URL den entsprechenden Komponenten zu; siehe Webhook-Ziele abgleichen.
Die generischen Hook-Endpunkte geben Diagnoseinformationen zurück, die beim Konfigurieren von Repository-Benachrichtigungen helfen sollen. Das Objekt match_status enthält:
repository_matchesAnzahl der Komponenten, deren Repository-URL mit den Nutzdaten übereinstimmt.
branch_matchesAnzahl der Repository-Übereinstimmungen, deren konfigurierter Branch mit den Nutzdaten übereinstimmt. Bei Ereignissen ohne Branch wird jede Repository-Übereinstimmung als Branch-Übereinstimmung gezählt.
enabled_hook_matchesAnzahl der Branch-Übereinstimmungen, bei denen für das Projekt Hooks aktiviert sind.
Eine erfolgreiche Update-Antwort listet die aktualisierten Projekt-/Komponenten-Slugs unter message auf und gibt deren absolute API-URLs unter updated_components zurück. Diese Diagnosen umfassen auch private Projekte und eingeschränkte Komponenten, da bei der Zuordnung keine Zugriffssteuerung angewendet wird. Komponenten, die über eine authentifizierte Integration verwaltet werden, sind vom generischen Abgleich und der Diagnose ausgeschlossen; aktuell gilt dies für das VCS-Backend GitHub (über die Weblate-GitHub-App). Wenn ein Aktualisierungsereignis den Zielabgleich abschließt, aber keine Aktualisierung plant, verwendet die Antwort den HTTP-Statuscode 202 und behält match_status bei, sodass die Repository-, Branch- und Projekt-Hook-Einstellungen diagnostiziert werden können. Ping und ignorierte Ereignisse geben den HTTP-Statuscode 201 ohne entsprechende Diagnose zurück. Diese Antworten bestätigen zwar, dass eine angegebene Repository-URL registriert ist, gewähren jedoch keinen Zugriff auf die verlinkten API-Objekte und legen weder Repository-Inhalte, -Übersetzungen oder -Zugangsdaten offen. Siehe Webhook-Ziele abgleichen für die Auswirkungen auf Sicherheit und Kompatibilität.
Sie können Repository-Endpunkte für Projekte, Komponenten und Übersetzungen verwenden, um einzelne Repositorys zu aktualisieren; siehe POST /api/projects/(string:project)/repository/ für die Dokumentation.
- GET /hooks/update/(string: project)/(string: component)/¶
Veraltet ab Version 2.6: Please use
POST /api/components/(string:project)/(string:component)/repository/instead which works properly with authentication for ACL limited projects.Removed in version 5.14.
- GET /hooks/update/(string: project)/¶
Veraltet ab Version 2.6: Please use
POST /api/projects/(string:project)/repository/instead which works properly with authentication for ACL limited projects.Removed in version 5.14.
- POST /hooks/github/¶
Special hook for handling GitHub notifications and automatically updating matching components.
Bemerkung
GitHub includes direct support for notifying Weblate: enable Weblate service hook in repository settings and set the URL to the URL of your Weblate installation.
Siehe auch
- GitHub-Benachrichtigungen
For instruction on setting up GitHub integration
- https://docs.github.com/en/get-started/customizing-your-github-workflow/exploring-integrations/about-webhooks
Generic information about GitHub Webhooks
ENABLE_HOOKSFor enabling hooks for whole Weblate
- POST /hooks/gitlab/¶
Special hook for handling GitLab notifications and automatically updating matching components.
Siehe auch
- GitLab-Benachrichtigungen
For instruction on setting up GitLab integration
- https://docs.gitlab.com/user/project/integrations/webhooks/
Generic information about GitLab Webhooks
ENABLE_HOOKSFor enabling hooks for whole Weblate
- POST /hooks/bitbucket/¶
Special hook for handling Bitbucket notifications and automatically updating matching components.
Siehe auch
- Bitbucket-Benachrichtigungen
For instruction on setting up Bitbucket integration
- https://support.atlassian.com/bitbucket-cloud/docs/manage-webhooks/
Generic information about Bitbucket Webhooks
ENABLE_HOOKSFor enabling hooks for whole Weblate
- POST /hooks/pagure/¶
Special hook for handling Pagure notifications and automatically updating matching components.
Siehe auch
- Pagure-Benachrichtigungen
For instruction on setting up Pagure integration
ENABLE_HOOKSFor enabling hooks for whole Weblate
- POST /hooks/azure/¶
Special hook for handling Azure DevOps notifications and automatically updating matching components.
Bemerkung
Please ensure that Resource details to send is set to All, otherwise Weblate will not be able to match your Azure repository.
Siehe auch
- Azure-Repos-Benachrichtigungen
For instruction on setting up Azure integration
- https://learn.microsoft.com/en-us/azure/devops/service-hooks/services/webhooks?view=azure-devops
Generic information about Azure DevOps Web Hooks
ENABLE_HOOKSFor enabling hooks for whole Weblate
- POST /hooks/gitea/¶
Special hook for handling Gitea Webhook notifications and automatically updating matching components.
Siehe auch
- Gitea-Benachrichtigungen
For instruction on setting up Gitea integration
- https://docs.gitea.com/usage/repository/webhooks
Generic information about Gitea Webhooks
ENABLE_HOOKSFor enabling hooks for whole Weblate
- POST /hooks/forgejo/¶
Special hook for handling Forgejo Webhook notifications and automatically updating matching components.
Siehe auch
- Forgejo-Benachrichtigungen
For instruction on setting up Forgejo integration
- https://forgejo.org/docs/latest/user/webhooks/
Generic information about Forgejo Webhooks
ENABLE_HOOKSFor enabling hooks for whole Weblate
- POST /hooks/gitee/¶
Special hook for handling Gitee Webhook notifications and automatically updating matching components.
Siehe auch
- Gitee-Benachrichtigungen
For instruction on setting up Gitee integration
- https://help.gitee.com/webhook
Generic information about Gitee Webhooks
ENABLE_HOOKSFor enabling hooks for whole Weblate
RSS-Feeds¶
Änderungen an Übersetzungen werden in RSS-Feeds exportiert.
Die Feeds enthalten ausschließlich Änderungen an Projekten und Komponenten, auf die der anfragende Benutzer Zugriff hat.
Gefilterte RSS-Feeds sind über den Änderungsbrowser verfügbar. Diese unterstützen dieselben Filter wie die Änderungsseite, zum Beispiel action, user, exclude_user, und period.
- GET /changes/rss/¶
Retrieves RSS feed with recent changes matching changes browsing filters.
- GET /changes/rss/(string: project)/(string: component)/(string: language)/¶
Retrieves RSS feed with recent changes matching changes browsing filters in a translation.
- GET /changes/rss/(string: project)/(string: component)/¶
Retrieves RSS feed with recent changes matching changes browsing filters in a component.
- GET /changes/rss/(string: project)/-/(string: language)/¶
Retrieves RSS feed with recent changes matching changes browsing filters in a project language.
- GET /changes/rss/-/-/(string: language)/¶
Retrieves RSS feed with recent changes matching changes browsing filters in a language.
- GET /exports/rss/(string: project)/(string: component)/(string: language)/¶
Retrieves RSS feed with recent changes for a translation.
- GET /exports/rss/(string: project)/(string: component)/¶
Retrieves RSS feed with recent changes for a component.
- GET /exports/rss/(string: project)/¶
Retrieves RSS feed with recent changes for a project.
- GET /exports/rss/language/(string: language)/¶
Retrieves RSS feed with recent changes for a language.
- GET /exports/rss/¶
Retrieves RSS feed with recent changes for Weblate instance.
Siehe auch