REST API Weblate

The API is accessible on the /api/ URL and it is based on Django REST framework. You can use it directly or by Klient Weblate. See Libraries and SDKs for official tools and community-maintained integrations.

API je tiež dokumentované pomocou OpenAPI 3.1 na URL /api/schema/, môžete ho prehliadať na /api/docs/.

Autentifikácia a všeobecné parametre

API iba na čítanie je dostupné bez autentifikácie, pokiaľ nie je zapnuté REQUIRE_LOGIN. Neautentifikované požiadavky sú silne obmedzované (predvolene na 100 požiadaviek denne), preto sa odporúča používať autentifikáciu.

Autentifikácia používa token, ktorý získate vo svojom profile. Použite ho v hlavičke Authorization so schémou Token alebo Bearer. Nepodporované schémy, ako je Basic, vracajú 401 Unauthorized, aj pre verejné koncové body alebo keď ste prihlásení pomocou relácie prehliadača.

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, csv and api are 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:
  • Accept – the response content type depends on Accept header

  • Authorization – optional token to authenticate as Authorization: Token YOUR-TOKEN

Response Headers:
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:

Autentifikačné tokeny

Zmenené vo verzii 4.10: Tokeny s rozsahom projektu boli zavedené vo vydaní 4.10.

Každý používateľ má osobný prístupový token, ktorý je možné získať v používateľskom profile. Novo vygenerované používateľské tokeny majú prefix wlu_.

Je možné vytvoriť tokeny s rozsahom projektu pre prístup k API iba k danému projektu. Tieto tokeny je možné identifikovať podľa prefixu wlp_.

Príklady autentifikácie

Príklad požiadavky:

GET /api/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
Authorization: Token YOUR-TOKEN

Príklad odpovede:

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/"
}

Príklad CURL:

curl \
    -H "Authorization: Token TOKEN" \
    https://example.com/api/

Príklady odovzdávania parametrov

Pre metódu POST je možné parametre špecifikovať buď ako odoslanie formulára (application/x-www-form-urlencoded) alebo ako JSON (application/json).

Príklad požiadavky formulára:

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

Príklad JSON požiadavky:

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"}

Príklad CURL:

curl \
    -d operation=pull \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

Príklad CURL JSON:

curl \
    --data-binary '{"operation":"pull"}' \
    -H "Content-Type: application/json" \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

Komponenty a kategórie

Aby ste pristúpili ku komponentu, ktorý je vnorený v Kategória, potrebujete URL zakódovať názov kategórie do názvu komponentu oddeleného lomkou. Napríklad usage umiestnené v kategórii docs je potrebné použiť ako docs%252Fusage. Celá URL by v tomto prípade bola napríklad https://example.com/api/components/hello/docs%252Fusage/repository/.

Obmedzovanie rýchlosti API

Požiadavky API sú obmedzené rýchlosťou; predvolená konfigurácia ich obmedzuje na 100 požiadaviek denne pre anonymných používateľov a 5000 požiadaviek za hodinu pre autentifikovaných používateľov.

Nakonfigurujte predvolené limity v settings.py pomocou API_RATELIMIT_ANON a API_RATELIMIT_USER.

V kontajneri Docker je možné toto nakonfigurovať pomocou WEBLATE_API_RATELIMIT_ANON a WEBLATE_API_RATELIMIT_USER.

Použite API_RATELIMIT_USER_OVERRIDES na udelenie účtu automatizácie iného limitu. Použite API_RATELIMIT_IP_OVERRIDES pre jednotlivé IP adresy alebo siete, vrátane anonymných klientov CI:

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",
}

Explicitné prepísanie podľa používateľského mena má prednosť pred pravidlami IP. Inak platí najšpecifickejšia zodpovedajúca sieť; jednotlivá adresa je ekvivalentná sieti s jednou adresou. Hodnota None oslobodzuje zodpovedajúce požiadavky od limitov rýchlosti API, vrátane anonymného limitu. Autentifikácia a oprávnenia sa naďalej uplatňujú: oslobodenie neudeľuje prístup k súkromným projektom alebo operáciám zápisu.

Limity sa počítajú na autentifikovaného používateľa alebo na IP adresu klienta pre anonymné požiadavky. Klienti v rámci siete nezdieľajú jeden rozpočet. Každé prepísanie a sadzba má samostatný rozpočet, takže zmena pravidla alebo sadzby spustí nový rozpočet. Požiadavky bez prepísania používajú predvolené limity.

Pravidlá IP používajú adresu klienta rozlíšenú systémom Weblate. Za reverzným proxy správne nakonfigurujte IP_BEHIND_REVERSE_PROXY, IP_PROXY_HEADER a IP_PROXY_OFFSET. Dôveryhodné proxy musí poskytnúť adresu klienta a nedôveryhodní klienti nesmú mať možnosť ho obísť. Oslobodenie zdieľanej adresy proxy môže oslobodiť všetkých klientov používajúcich toto proxy.

V Dockeri nakonfigurujte ekvivalentné mapovania JSON pomocou WEBLATE_API_RATELIMIT_USER_OVERRIDES a WEBLATE_API_RATELIMIT_IP_OVERRIDES. Na oslobodenia použite JSON null.

Stav obmedzovania rýchlosti je hlásený v nasledujúcich hlavičkách:

X-RateLimit-Limit

Povolený počet požiadaviek na vykonanie

X-RateLimit-Remaining

Zostávajúci počet požiadaviek na vykonanie

X-RateLimit-Reset

Počet sekúnd, kým sa okno obmedzenia rýchlosti resetuje

Požiadavky oslobodené od obmedzovania rýchlosti neobsahujú tieto hlavičky.

Zmenené vo verzii 4.1: Pridané hlavičky stavu obmedzovania rýchlosti.

Chybové odpovede

Zmenené vo verzii 5.10: Chybové odpovede boli špecifické pre koncový bod pred týmto vydaním.

Chybové odpovede Weblate sú formátované na základe Error Response Format.

Vstupný bod API

GET /api/

The API root entry point.

Príklad požiadavky:

GET /api/ HTTP/1.1
Host: example.com
Accept: application/json, text/javascript
Authorization: Token YOUR-TOKEN

Príklad odpovede:

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/"
}

Používatelia

Added in version 4.0.

GET /api/users/

Returns no results to unauthenticated users. Authenticated users without the global user.view or user.edit permission 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.

Query Parameters:
  • username (string) – Username prefix to search for. At least two characters after trimming surrounding whitespace are required for users without the global user.view or user.edit permission.

  • id (int) – User ID to search for

  • email (string) – Email to search for (case-insensitive, exact match). Requires user.view or user.edit permission; the parameter is ignored for unprivileged users.

Username searches by users without the global user.view or user.edit permission exclude bot accounts other than the caller’s own account.

Viď aj

Users object attributes are documented at GET /api/users/(str:username)/.

POST /api/users/

Creates a new user.

Requires the global user.edit permission. See Riadenie prístupu for the user management permission model.

Parametre:
  • username (string) – Používateľské meno

  • 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)/

Returns information about users.

Parametre:
  • 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 Používateľský profil. Returned only with the user.view or user.edit permission.

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.edit permission unless a user is updating their own account or profile fields. See Riadenie prístupu for the user management permission model.

Parametre:
  • 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 Používateľský profil

PATCH /api/users/(str: username)/

Changes the user parameters.

Requires the global user.edit permission unless a user is updating their own account or profile fields. See Riadenie prístupu for the user management permission model.

Parametre:
  • 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 Používateľský profil

DELETE /api/users/(str: username)/

Deletes all user information and marks the user inactive.

Requires the global user.edit permission. See Riadenie prístupu for the user management permission model.

Parametre:
  • username (string) – User’s username

POST /api/users/(str: username)/groups/

Associate groups with a user.

Requires the global user.edit permission. See Riadenie prístupu 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.

Parametre:
  • 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.edit permission. See Riadenie prístupu 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.

Parametre:
  • 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.

Parametre:
  • 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.

Parametre:
  • username (string) – User’s username

Request JSON Object:
GET /api/users/(str: username)/notifications/

List subscriptions of a user.

Parametre:
  • username (string) – User’s username

Request JSON Object:
  • project (string) – Link to the project, or null for other scopes

  • component (string) – Link to the component, or null for other scopes

POST /api/users/(str: username)/notifications/

Associate subscriptions with a user.

Parametre:
  • 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.

Parametre:
  • username (string) – User’s username

  • subscription_id (int) – ID of notification registered

Request JSON Object:
  • project (string) – Link to the project, or null for other scopes

  • component (string) – Link to the component, or null for other scopes

PUT /api/users/(str: username)/notifications/(int: subscription_id)/

Edit a subscription associated with a user.

Parametre:
  • 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.

Parametre:
  • 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.

Parametre:
  • username (string) – User’s username

  • subscription_id – Name of notification registered

  • subscription_id – int

Používateľský profil

Added in version 2026.8.

Používateľské API sprístupňuje preferencie profilu vo vnorenom objekte profile. Tento objekt je vrátený pri GET /api/users/(str:username)/ iba pre volajúcich s oprávnením user.view alebo user.edit. Používatelia bez týchto oprávnení môžu stále aktualizovať svoj vlastný profil prostredníctvom PATCH /api/users/(str:username)/;odpoveď potom obsahuje aktualizovaný objekt profile.

Polia profilu zodpovedajú nastaveniam popísaným v Používateľský profil.

Skupiny

Added in version 4.0.

Zmena rozsahu prístupu skupiny v celej inštancii vyžaduje globálne oprávnenie group.edit. Toto dôveryhodné administratívne oprávnenie nie je obmedzené prístupom volajúceho k projektu: koncové body pre priradenie projektov a komponentov môžu udeliť členom tímu prístup k súkromným projektom, ku ktorým volajúci nemôže pristupovať priamo. Model oprávnení a užšie možnosti delegovania nájdete v časti Správa tímov v celej inštancii.

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.

Viď aj

Group object attributes are documented at GET /api/groups/(int:id)/.

POST /api/groups/

Creates a new group.

Parametre:
GET /api/groups/(int: id)/

Returns information about the group.

Parametre:
  • id (int) – Group’s ID

Request JSON Object:

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.

Parametre:
  • 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.

Parametre:
  • 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.

Parametre:
  • id (int) – Group’s ID

POST /api/groups/(int: id)/roles/

Associate roles with a group.

Parametre:
  • 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.

Parametre:
  • id (int) – Group’s ID

  • role_id (int) – The unique role ID

POST /api/groups/(int: id)/components/

Associate components with a group.

Parametre:
  • 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.

Parametre:
  • id (int) – Group’s ID

  • component_id (int) – The unique component ID

POST /api/groups/(int: id)/projects/

Associate projects with a group.

Parametre:
  • 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.

Parametre:
  • id (int) – Group’s ID

  • project_id (int) – The unique project ID

POST /api/groups/(int: id)/languages/

Associate languages with a group.

Parametre:
  • 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.

Parametre:
  • id (int) – Group’s ID

  • language_code (string) – The unique language code

POST /api/groups/(int: id)/componentlists/

Associate componentlists with a group.

Parametre:
  • 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.

Parametre:
  • 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.

Parametre:
  • 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.

Parametre:
  • id (int) – Group’s ID

  • user_id (integer) – The user’s ID

Role

GET /api/roles/

Returns a list of all roles associated with user. If user is superuser, then list of all existing roles is returned.

Viď aj

Roles object attributes are documented at GET /api/roles/(int:id)/.

POST /api/roles/

Creates a new role.

Parametre:
  • name (string) – Role name

  • permissions (array) – List of codenames of permissions

GET /api/roles/(int: id)/

Returns information about the role.

Parametre:
  • id (int) – Role’s ID

Request JSON Object:
  • name (string) – Role name

  • permissions (array) – list of codenames of permissions

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.

Parametre:
  • 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.

Parametre:
  • 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 the role.

Parametre:
  • id (int) – Role’s ID

Jazyky

GET /api/languages/

Returns a list of all languages.

Viď aj

Language object attributes are documented at GET /api/languages/(string:language)/.

POST /api/languages/

Creates a new language.

Parametre:
  • code (string) – Názov jazyka

  • name (string) – Názov jazyka

  • direction (string) – Smer textu

  • population (int) – Počet hovoriacich

  • plural (object) – Language plural formula and number

GET /api/languages/(string: language)/

Returns information about the language.

Parametre:
  • language (string) – Kód jazyka

Request JSON Object:
  • code (string) – Kód jazyka

  • direction (string) – Smer textu

  • plural (object) – Object of language plural information

  • aliases (array) – Array of aliases for language

Response JSON Object:
  • population (int) – Počet hovoriacich

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.

Parametre:
  • language (string) – Language’s code

Response JSON Object:
  • name (string) – Názov jazyka

  • direction (string) – Smer textu

  • population (int) – Počet hovoriacich

  • plural (object) – Language plural details

PATCH /api/languages/(string: language)/

Changes the language parameters.

Parametre:
  • language (string) – Language’s code

Response JSON Object:
  • name (string) – Názov jazyka

  • direction (string) – Smer textu

  • population (int) – Počet hovoriacich

  • plural (object) – Language plural details

DELETE /api/languages/(string: language)/

Deletes the language.

Parametre:
  • language (string) – Language’s code

GET /api/languages/(string: language)/statistics/

Returns statistics for a language.

Parametre:
  • language (string) – Kód jazyka

Viď aj

Returned attributes are described in Štatistiky.

Projekty

GET /api/projects/

Returns a list of all projects.

Viď aj

Project object attributes are documented at GET /api/projects/(string:project)/.

POST /api/projects/

Creates a new project.

Parametre:

Omit access_control to 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.

Parametre:
  • project (string) – Project URL slug

Request JSON Object:

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 Vlastný zdrojový jazyk

  • translation_review (boolean) – Enable translation review

  • enable_suggestions (boolean) – Povoliť návrhy

  • 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. Set source_language to 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 project value is the project slug. To avoid using a wrong identifier, use the project url returned by GET /api/projects/ or GET /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_control or public_sharing requires permission to manage project access. Making a project publicly accessible can require licenses on its components when LICENSE_REQUIRED is enabled. On Hosted Weblate, Custom access control is unavailable and each translation-memory contribution setting is forced to match its corresponding usage setting.

Changing workspace moves 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 Vytváranie a presuny projektov.

Parametre:
PUT /api/projects/(string: project)/

Added in version 4.3.

Edit a project by a PUT request.

Changing workspace follows the same permission checks as PATCH /api/projects/(string:project)/.

Parametre:
DELETE /api/projects/(string: project)/

Deletes a project.

Parametre:
  • 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.

Parametre:
  • project (string) – Project URL slug

Request JSON Object:
GET /api/projects/(string: project)/file/

Added in version 5.5.

Downloads all available translations associated with the project as an archive file using the requested format and language. An unfiltered archive requires project-wide download permission. When language_code is specified, download permission is evaluated for that language.

Parametre:
  • project (string) – Project URL slug

Query Parameters:
  • format (string) – The archive format to use; If not specified, defaults to zip; Supported formats: zip and zip:CONVERSION where CONVERSION is one of converters listed at Sťahovanie prekladov.

  • 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.

Parametre:
  • 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.

Parametre:
  • project (string) – Project URL slug

Response JSON Object:
  • operation (string) – Operation to perform: one of push, pull, commit, reset, cleanup, file-sync, file-scan

  • background (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 background set to true, the endpoint returns 202 Accepted. Repeating an identical queued operation returns the existing task URL. A conflicting operation returns 423 Locked and the active task URL when available. Eligible project repositories are processed sequentially in one task.

Príklad CURL:

curl \
    -d operation=pull \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/repository/

Príklad JSON požiadavky:

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.

Parametre:
  • project (string) – Project URL slug

Request JSON Object:
POST /api/projects/(string: project)/components/

Zmenené vo verzii 4.3: The zipfile and docfile parameters are now accepted for VCS-less components, see Lokálne súbory.

Zmenené vo verzii 4.6: The cloned repositories are now automatically shared within a project using Interné URL Weblate. Use disable_autoshare to turn off this.

Creates translation components in the given project.

Rada

Use Interné URL Weblate when creating multiple components from a single VCS repository.

Poznámka

Most of the component creation happens in the background. Check the task_url attribute of created component and follow the progress there.

Parametre:
  • 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, and push_branch can not be combined with this option.

  • boolean disable_autoshare – Disables automatic repository sharing via Interné URL Weblate.

Response JSON Object:
Request JSON Object:

JSON can not be used when uploading the files using the zipfile and docfile parameters. 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": "file:///home/nijel/work/weblate-hello",
    "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.

Parametre:
  • 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.

Parametre:
  • project (string) – Project URL slug

Viď aj

Returned attributes are described in Štatistiky.

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_info and weblate_* gauges compatible with the project translation statistics. Strings containing suggestions use weblate_strings_with_suggestions to distinguish them from the server-wide weblate_suggestions object count. The CSV representation contains one row for each component, language, and numeric metric.

Parametre:
  • project (string) – Project URL slug

Query Parameters:
  • format (string) – Response format; use openmetrics or csv for 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:

reťazec

GET /api/projects/(string: project)/labels/

Added in version 5.3: Returns labels for a project.

param project:

Project URL slug

type project:

reťazec

>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:

reťazec

<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:

reťazec

param label_id:

ID of the label to delete

type label_id:

celé číslo

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)/machinery_settings/

Added in version 5.9.

Returns automatic suggestion settings for a project, consisting of the configurations defined for each translation service installed.

Parametre:
  • project (string) – Project URL slug

Request JSON Object:
  • suggestion_settings (object) – Configuration for all installed services.

POST /api/projects/(string: project)/machinery_settings/

Added in version 5.9.

Create or update the service configuration for a project.

Parametre:
  • project (string) – Project URL slug

Form Parameters:
  • string service – Service name

  • string configuration – Service configuration in JSON

GET /api/projects/(string: project)/languages/(string: language_code)/file/

Zmenené vo verzii 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 all translation files for a specified language_code across all components for a given project rather than downloading individual translated files and manually zipping them, with the archive named {project-slug}-{language-code}.zip and organized by component paths (e.g., component-slug/po/lang.po). Download permission is evaluated for the requested language.

Parametre:
  • project (string) – Project URL slug

  • language_code (string) – Kód jazyka

Query Parameters:
  • filter (string) – Optional case-insensitive substring to filter components by slug (e.g., ?filter=core will 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: zip and zip:CONVERSION where CONVERSION is one of converters listed at Sťahovanie prekladov.

Poznámka

Possible responses:

  • 200 OK with the ZIP file of translations for the specified language across all components in the project. If no components have translations for the specified language, an empty ZIP file will be returned.

  • 403 Forbidden if the user does not have download permission for the requested language.

  • 404 Not Found if 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_code in a project.

param project:

Project URL slug

type project:

reťazec

param language_code:

Kód jazyka

type language_code:

reťazec

>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_code in a project.

param project:

Project URL slug

type project:

reťazec

param language_code:

Kód jazyka

type language_code:

reťazec

<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_code in a project.

param project:

Project URL slug

type project:

reťazec

param language_code:

Kód jazyka

type language_code:

reťazec

param announcement_id:

ID of the announcement to delete

type announcement_id:

celé číslo

GET /api/projects/(string: project)/announcements/

Added in version 5.17: Returns announcements for a project.

param project:

Project URL slug

type project:

reťazec

>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:

reťazec

<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:

reťazec

param announcement_id:

ID of the announcement to delete

type announcement_id:

celé číslo

GET /api/projects/(string: project)/backups/

Added in version 2026.7: Returns a list of Zálohy na úrovni projektu archives. Project backups contain all project components, including restricted components, and require Edit project settings.

param project:

Project URL slug

type project:

reťazec

>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 Zálohy na úrovni projektu archive. Once ready, the backup appears in GET /api/projects/(string:project)/backups/.

param project:

Project URL slug

type project:

reťazec

>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 Zálohy na úrovni projektu archive containing all project components, including restricted components. This requires Edit project settings.

param project:

Project URL slug

type project:

reťazec

param backup:

Backup file name, e.g. 1718803200.zip

type backup:

reťazec

Komponenty

Rada

Použite POST /api/projects/(string:project)/components/ na vytvorenie nových komponentov.

GET /api/components/

Returns a list of translation components.

Viď aj

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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Request JSON Object:

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": "file:///home/nijel/work/weblate-hello",
    "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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • source_language (string) – Project source language code (optional)

Response JSON Object:

Linking to another Weblate component using an internal URL requires permission to edit the referenced component. Changing Obmedzený prístup follows the same direct component-access restrictions as the web interface.

Príklad CURL:

curl \
    --data-binary '{"name": "new name"}' \
    -H "Content-Type: application/json" \
    -H "Authorization: Token TOKEN" \
    PATCH http://example.com/api/projects/hello/components/

Príklad JSON požiadavky:

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": "file:///home/nijel/work/weblate-hello",
    "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.

Parametre:
  • 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) – Parametre správy verzií

  • hide_glossary_matches (boolean) – Nezobrazovať zhody slovníka

  • contribute_project_tm (boolean) – Prispieť do prekladovej pamäte projektu

DELETE /api/components/(string: project)/(string: component)/

Deletes a component.

Parametre:
  • 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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Request JSON Object:
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.

Parametre:
  • 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: zip and zip:CONVERSION where CONVERSION is one of converters listed at Sťahovanie prekladov.

GET /api/components/(string: project)/(string: component)/screenshots/

Returns a list of component screenshots.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Request JSON Object:
GET /api/components/(string: project)/(string: component)/lock/

Returns component lock status.

Parametre:
  • 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/.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Response JSON Object:
  • lock – Boolean whether to lock or not.

Príklad CURL:

curl \
    -d lock=true \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

Príklad JSON požiadavky:

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.

Parametre:
  • 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.

Parametre:
  • 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

Príklad CURL:

curl \
    -d operation=pull \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/components/hello/weblate/repository/

Príklad JSON požiadavky:

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.

Parametre:
  • 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.

Parametre:
  • 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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Request JSON Object:
POST /api/components/(string: project)/(string: component)/translations/

Creates new translation in the given component.

Parametre:
  • 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

Príklad CURL:

curl \
    -d language_code=cs \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/projects/hello/components/

Príklad JSON požiadavky:

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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Viď aj

Returned attributes are described in Štatistiky.

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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Request JSON Object:
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.

Zmenené vo verzii 5.17.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

Form Parameters:
  • string project_slug – Slug projektu

  • int category_id – Category ID in the target project (optional). The category must belong to the specified project.

Remove association of a project with a component.

Added in version 4.5.

Parametre:
  • 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:

reťazec

param component:

Component URL slug

type component:

reťazec

>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:

reťazec

param component:

Component URL slug

type component:

reťazec

<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:

reťazec

param component:

Component URL slug

type component:

reťazec

param announcement_id:

ID of the announcement to delete

type announcement_id:

celé číslo

Preklady

GET /api/translations/

Returns a list of translations.

Viď aj

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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • language (string) – Kód jazyka prekladu

Request JSON Object:

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": "file:///home/nijel/work/weblate-hello",
        "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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • language (string) – Kód jazyka prekladu

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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • language (string) – Kód jazyka prekladu

Request JSON Object:
GET /api/translations/(string: project)/(string: component)/(string: language)/units/

Returns a list of translation units.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • language (string) – Kód jazyka prekladu

  • q (string) – Search query string Vyhľadávanie (optional)

Request JSON Object:
POST /api/translations/(string: project)/(string: component)/(string: language)/units/

Add new unit.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • language (string) – Kód jazyka prekladu

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:

Creating a unit in the approved state requires permission to review strings.

POST /api/translations/(string: project)/(string: component)/(string: language)/autotranslate/

Zmenené vo verzii 5.13: The filter_type parameter is no longer supported and filtering is done by the q parameter.

Zmenené vo verzii 2026.10: Added the background parameter.

Trigger automatic translation.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • language (string) – Kód jazyka prekladu

Response JSON Object:
  • mode (string) – Automatic translation mode; one of suggest, translate, fuzzy, approved

  • q (string) – Automatic translation search string, see Vyhľadávanie reťazcov.

  • auto_source (string) – Automatic translation source - mt or others

  • component (string) – Component ID (always accepted); when the project has 30 or more eligible source components, a component slug or project/component path is also accepted; leave blank to use all components in the project

  • engines (array) – Machine translation engines to use when auto_source is mt

  • threshold (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

  • task_url (string) – URL for tracking a background task; see GET /api/tasks/(str:uuid)/

With background set to true, the endpoint returns 202 Accepted once the task is scheduled. Validation and permission errors are still reported immediately.

GET /api/translations/(string: project)/(string: component)/(string: language)/file/

Download current translation file as it is stored in the VCS (without the format parameter) or converted to another format (see Sťahovanie prekladov).

Poznámka

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 format parameter differs and without such parameter you get translation file as stored in VCS.

Response Headers:
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 Sťahovanie prekladov for supported formats

  • q (string) – Filter downloaded strings, see Stránka hľadania, only applicable when conversion is in place (format is specified).

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • language (string) – Kód jazyka prekladu

POST /api/translations/(string: project)/(string: component)/(string: language)/file/

Upload new file with translations.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • language (string) – Kód jazyka prekladu

Form Parameters:
  • boolean ignore_language – Ignore a mismatch between the declared file language and the translation language (defaults to false), see Kontrola jazyka

  • string conflicts – How to deal with conflicts (ignore, replace-translated or replace-approved), see Riešenie konfliktov

  • file 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 Metódy importu

  • string fuzzy – Fuzzy (marked for edit) strings processing (empty, process, approve)

Príklad CURL:

curl -X POST \
    -F file=@strings.xml \
    -H "Authorization: Token TOKEN" \
    http://example.com/api/translations/hello/android/cs/file/

The file field 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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • language (string) – Kód jazyka prekladu

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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • language (string) – Kód jazyka prekladu

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.

Parametre:
  • project (string) – Project URL slug

  • component (string) – Component URL slug

  • language (string) – Kód jazyka prekladu

Viď aj

Returned attributes are described in Štatistiky.

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:

reťazec

param component:

Component URL slug

type component:

reťazec

param language:

Kód jazyka prekladu

type language:

reťazec

>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:

reťazec

param component:

Component URL slug

type component:

reťazec

param language:

Kód jazyka prekladu

type language:

reťazec

<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:

reťazec

param component:

Component URL slug

type component:

reťazec

param language:

Kód jazyka prekladu

type language:

reťazec

param announcement_id:

ID of the announcement to delete

type announcement_id:

celé číslo

Pamäť

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 Zdieľaná prekladová pamäť.

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 null when no match was found

DELETE /api/memory/(int: memory_object_id)/

Deletes a memory object

Parametre:
  • memory_object_id – Memory Object ID

Jednotky

Jednotka je jeden kus prekladu, ktorý spája zdrojový reťazec s zodpovedajúcim preloženým reťazcom a tiež obsahuje niektoré súvisiace metadáta. Termín je odvodený z translate.storage.base.TranslationUnit v Translate Toolkit a XLIFF.

GET /api/units/

Returns a list of translation units.

Parametre:

Viď aj

Unit object attributes are documented at GET /api/units/(int:id)/.

GET /api/units/(int: id)/

Zmenené vo verzii 4.3: The target and source are now arrays to properly handle plural strings.

Zmenené vo verzii 5.6: The last_updated attribute is now exposed.

Zmenené vo verzii 2026.10: The screenshots_url attribute is now exposed.

Returns information about the translation unit.

Parametre:
  • 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 Dodatočné informácie o zdrojových reťazcoch

  • extra_flags (string) – Additional flags for this unit; source flags apply to all languages and translation flags apply only to that language, see Príznaky prekladu

  • 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 Vlastný zdrojový jazyk

  • effective_source (array) – Read-only source text used for translation, including plural forms. The existing source field 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_source field 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.

Parametre:
  • 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 Špecializovaní recenzenti)

  • target (array) – target string

  • explanation (string) – String explanation, available on source units, see Dodatočné informácie o zdrojových reťazcoch

  • extra_flags (string) – Additional flags for this unit; source flags apply to all languages and translation flags apply only to that language, see Príznaky prekladu

  • labels (array) – labels, available on source units

PUT /api/units/(int: id)/

Added in version 4.3.

Performs full update on translation unit.

Parametre:
  • 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 Špecializovaní recenzenti)

  • target (array) – target string

  • explanation (string) – String explanation, available on source units, see Dodatočné informácie o zdrojových reťazcoch

  • extra_flags (string) – Additional flags for this unit; source flags apply to all languages and translation flags apply only to that language, see Príznaky prekladu

  • 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 Spravovať reťazce. See Úprava zdrojových reťazcov a kľúčov for format support and restrictions.

Parametre:
  • 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:
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.

Parametre:
  • 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.

Parametre:
  • id (int) – Unit ID

Viď aj

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.

Parametre:
  • id (int) – Unit ID

Form Parameters:
  • string screenshot_id – Screenshot ID; the screenshot must belong to the same component and language as the unit

Viď aj

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.

Parametre:
  • 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.

Parametre:
  • 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 Špecializovaní recenzenti)

  • 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

Parametre:
  • 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.

Parametre:
  • 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.

Parametre:
  • id (int) – Unit ID

Request JSON Object:

Návrhy

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).

Viď aj

Suggestion object attributes are documented at GET /api/suggestions/(int:id)/.

Request JSON Object:
GET /api/suggestions/(int: id)/

Added in version 2026.8.

Returns information about a suggestion.

Parametre:
  • 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 null for anonymous suggestions

  • timestamp (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.

Parametre:
  • 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_spam is true, 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.

Parametre:
  • 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 Špecializovaní recenzenti)

Request JSON Object:
  • result (string) – accepted when 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 Hlasovanie o návrhoch).

Parametre:
  • id (int) – Suggestion ID

Response JSON Object:
  • value (int) – 1 to vote for the suggestion or -1 to vote against it

Request JSON Object:
  • result (string) – voted when the suggestion remains open; accepted when auto-accept applied it

  • suggestion (object) – updated suggestion object when result is voted; null when result is accepted

Zmeny

GET /api/changes/

Zmenené vo verzii 4.1: Filtering of changes was introduced in the 4.1 release.

Returns a list of translation changes.

Viď aj

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 Vybrané udalosti zmien 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.

Parametre:
  • 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

Snímky obrazovky

GET /api/screenshots/

Returns a list of screenshots.

Viď aj

Screenshot object attributes are documented at GET /api/screenshots/(int:id)/.

GET /api/screenshots/(int: id)/

Returns information about the screenshot.

Parametre:
  • 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.

Parametre:
  • id (int) – Screenshot ID

POST /api/screenshots/(int: id)/file/

Replace screenshot image.

Parametre:
  • id (int) – Screenshot ID

Form Parameters:
  • file image – Uploaded file

Príklad CURL:

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.

Parametre:
  • id (int) – Screenshot ID

Form Parameters:
  • string unit_id – Unit ID

Request JSON Object:
DELETE /api/screenshots/(int: id)/units/(int: unit_id)

Remove source string association with screenshot.

Parametre:
  • 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 – Slug projektu

  • string component_slug – Slug komponentu

  • string language_code – Kód jazyka

  • 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.

Parametre:
  • 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.

Parametre:
  • 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.

Parametre:
  • id (int) – Screenshot ID

Zostavy Kotlin SDK

Varovanie

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.

Zmluva API je tiež zdokumentovaná v schéme OpenAPI na /api/schema/. Registračné metadáta majú JSON Schema. Pozrite Kotlin SDK CDN pre inštaláciu doplnku, nastavenia životného cyklu a kontrakt manifestu CDN.

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 and component.edit permission. 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 0x7f and 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, and manifest_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 and component.edit permission. Status is pending, published, failed, or retired. A failed replacement may still have a previous successful manifest. Missing installations or registrations return 404.

Doplnky

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.

Viď aj

Add-on object attributes are documented at GET /api/addons/(int:id)/.

GET /api/addons/(int: id)/

Returns information about add-on information.

Parametre:
  • id (int) – ID doplnku

Request JSON Object:
  • name (string) – name of an add-on

  • component (string) – URL of a related component object

  • configuration (object) – Optional add-on configuration

Viď aj

Doplnky

POST /api/components/(string: project)/(string: component)/addons/

Creates a new add-on.

The xgettext and Meson extraction add-ons accept data_dirs in configuration as an ordered list of repository-relative ITS data directories, for example {"data_dirs": ["po"]}. Each directory must contain an its/ subdirectory. See Aktualizovať súbor POT (xgettext) for supported formats and validation.

Parametre:
  • project_slug (string) – Slug projektu

  • component_slug (string) – Slug komponentu

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.

Parametre:
  • id (int) – ID doplnku

Request JSON Object:
  • configuration (object) – Optional add-on configuration

PUT /api/addons/(int: id)/

Edit full information about add-on.

Parametre:
  • id (int) – ID doplnku

Request JSON Object:
  • configuration (object) – Optional add-on configuration

DELETE /api/addons/(int: id)/

Delete add-on.

Parametre:
  • id (int) – ID doplnku

POST /api/addons/(int: id)/trigger/

Trigger a manual run of an add-on that supports manual triggering.

Added in version 5.17.1.

Parametre:
  • id (int) – ID doplnku

POST /api/addons/(int: id)/preview/

Preview an Definícia pracovného postupu definition without executing actions. Requires the same management permission as configuring the add-on. Other add-on types reject this operation.

Parametre:
  • id – Add-on ID.

JSON Parameters:
  • workflow (object) – Workflow definition, using the same structure as configuration.

  • component (int) – Component ID within the installed add-on’s scope.

  • change (int) – Optional change ID belonging to that component.

Returns workflow, execution context, a trace of evaluated conditions and planned or conditional actions, and preview: true. Configuration and scope errors return HTTP 400. Preview does not save configuration or create an activity log.

Zoznamy komponentov

Added in version 4.0.

GET /api/component-lists/

Returns a list of component lists.

Viď aj

Component list object attributes are documented at GET /api/component-lists/(str:slug)/.

GET /api/component-lists/(str: slug)/

Returns information about component list.

Parametre:
  • 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.

Parametre:
  • 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.

Parametre:
  • 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.

Parametre:
  • 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:

reťazec

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.

Parametre:
  • 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.

Parametre:
  • slug (string) – Component list slug

  • component_slug (string) – Slug komponentu

Slovník

Zmenené vo verzii 4.5: Slovníky sú teraz ukladané ako bežné komponenty, preklady a reťazce, prosím, použite príslušné API namiesto toho.

Správy

GET /api/reports/

Lists stored reports accessible to the authenticated user. The optional kind, workspace, project, category, and component query 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 Accepted with a task_url. The task result links to the created report. The kind is one of credits, contributor_stats, cost_estimate, or translator_work. Specify at most one of workspace, project, category, or component; omitting all of them creates a global report. Contribution reports require start and end ISO 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.

Úlohy

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.

Parametre:
  • 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

DELETE /api/tasks/(str: uuid)/

Cancels a running task when its cancellable property is true. Repository operation tasks cannot be cancelled because interruption can leave a repository operation incomplete.

Štatistiky

GET /api/(str: object)/statistics/

There are several statistics endpoints for objects and all of them contain same structure.

Parametre:
  • 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)

Metrika

GET /api/metrics/

Returns server metrics.

Zmenené vo verzii 5.6.1: Metrics can now be exposed in OpenMetrics compatible format with ?format=openmetrics.

Zmenené vo verzii 2026.8: OpenMetrics responses now include HELP and TYPE metadata 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 Úlohy na pozadí pomocou Celery

  • name (string) – Configured server name

  • version (string) – Running Weblate version, included when VERSION_DISPLAY is show or soft

In OpenMetrics format, the version is exposed as weblate_info{version="..."} 1 when VERSION_DISPLAY is show or soft. All metrics are exposed as gauges.

Metriky projektu poskytujú štatistiky prekladu pre každý viditeľný komponent a jazyk na GET /api/projects/(string:project)/metrics/. Zahŕňajú počty preložených, celkových, nepresných, nevyhovujúcich a schválených reťazcov, slov a znakov; návrhy; komentáre; a percentá preložených a schválených položiek.

Kategórie

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.

Parametre:
  • 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.

Parametre:
  • id (int) – Category ID

Viď aj

Returned attributes are described in Štatistiky.

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:

celé číslo

Háky notifikácií

Notifikačné háky umožňujú externým aplikáciám upozorniť Weblate na aktualizáciu repozitára VCS. Weblate priraďuje doručenie ku komponentom podľa URL repozitára; pozrite si Zhodné ciele webhookov.

Všeobecné koncové body hookov vracajú diagnostiku určenú na pomoc pri konfigurácii upozornení repozitára. Objekt match_status obsahuje:

repository_matches

Počet komponentov, ktorých URL repozitára zodpovedá obsahu.

branch_matches

Počet zhôd repozitára, ktorých nakonfigurovaná vetva zodpovedá obsahu. Pre udalosti bez vetvy sa každá zhoda repozitára počíta ako zhoda vetvy.

enabled_hook_matches

Počet zhôd vetiev, ktorých projekt má povolené hooky.

Úspešná odpoveď na aktualizáciu uvádza slugy aktualizovaného projektu/komponentu v message a vracia ich absolútne URL API v updated_components. Tieto diagnostiky zahŕňajú súkromné projekty a obmedzené komponenty, pretože porovnávanie neuplatňuje riadenie prístupu používateľa. Komponenty spravované prostredníctvom autentifikovanej integrácie sú vylúčené zo všeobecného porovnávania a diagnostiky; v súčasnosti sa to týka backendu VCS GitHub (cez aplikáciu Weblate GitHub). Keď udalosť aktualizácie dokončí cieľové porovnávanie, ale nenaplánuje žiadnu aktualizáciu, odpoveď používa stavový kód HTTP 202 a ponecháva match_status, aby bolo možné diagnostikovať nastavenia repozitára, vetvy a hookov projektu. Udialosti Ping a ignorované udalosti vracajú stavový kód HTTP 201 bez diagnostiky porovnávania. Tieto odpovede môžu potvrdiť, že dodaná URL repozitára je registrovaná, ale neudeľujú prístup k prepojeným objektom API ani neodhaľujú obsah repozitára, preklady alebo poverenia. Bezpečnostné a kompatibilné dôsledky nájdete v Zhodné ciele webhookov.

Môžete použiť koncové body repozitára pre projekty, komponenty a preklady na aktualizáciu jednotlivých repozitárov; dokumentáciu nájdete na POST /api/projects/(string:project)/repository/.

GET /hooks/update/(string: project)/(string: component)/

Zastarané od verzie 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)/

Zastarané od verzie 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.

Poznámka

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.

Viď aj

Oznámenia GitHub

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_HOOKS

For enabling hooks for whole Weblate

POST /hooks/gitlab/

Special hook for handling GitLab notifications and automatically updating matching components.

Viď aj

Oznámenia GitLab

For instruction on setting up GitLab integration

https://docs.gitlab.com/user/project/integrations/webhooks/

Generic information about GitLab Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/bitbucket/

Special hook for handling Bitbucket notifications and automatically updating matching components.

Viď aj

Oznámenia Bitbucket

For instruction on setting up Bitbucket integration

https://support.atlassian.com/bitbucket-cloud/docs/manage-webhooks/

Generic information about Bitbucket Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/pagure/

Special hook for handling Pagure notifications and automatically updating matching components.

Viď aj

Oznámenia Pagure

For instruction on setting up Pagure integration

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/azure/

Special hook for handling Azure DevOps notifications and automatically updating matching components.

Poznámka

Please ensure that Resource details to send is set to All, otherwise Weblate will not be able to match your Azure repository.

Viď aj

Oznámenia Azure Repos

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_HOOKS

For enabling hooks for whole Weblate

POST /hooks/gitea/

Special hook for handling Gitea Webhook notifications and automatically updating matching components.

Viď aj

Oznámenia Gitea

For instruction on setting up Gitea integration

https://docs.gitea.com/usage/repository/webhooks

Generic information about Gitea Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/forgejo/

Special hook for handling Forgejo Webhook notifications and automatically updating matching components.

Viď aj

Oznámenia Forgejo

For instruction on setting up Forgejo integration

https://forgejo.org/docs/latest/user/webhooks/

Generic information about Forgejo Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

POST /hooks/gitee/

Special hook for handling Gitee Webhook notifications and automatically updating matching components.

Viď aj

Oznámenia Gitee

For instruction on setting up Gitee integration

https://help.gitee.com/webhook

Generic information about Gitee Webhooks

ENABLE_HOOKS

For enabling hooks for whole Weblate

RSS kanály

Zmeny v prekladoch sú exportované v RSS kanáloch.

Kanály obsahujú iba zmeny v projektoch a komponentoch, ku ktorým má požadujúci používateľ prístup.

Filtrované RSS kanály sú dostupné z prehliadača zmien. Tieto akceptujú rovnaké filtre ako stránka zmien, napríklad action, user, exclude_user, a 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.