Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Weblate projects API

The projects API from Weblate — 20 operation(s) for projects.

Weblate projects API is one of 21 APIs that Weblate publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include projects. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 33 operations across 20 paths, and defines 74 schemas. It is described by OpenAPI 3.1.1.

Requests are made against a single base URL, http:.

33 operations 20 paths 74 schemas 4 DELETE16 GET2 PATCH9 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.1
Base URL
https://hosted.weblate.org/api/
Authentication
API Key, API Key, API Key
Resource Areas
1

Authentication & Security 3

Weblate projects API declares 3 security schemes for authenticating requests. An API key is passed in the header as Bearer (bearerAuth). An API key is passed in the cookie as sessionid (cookieAuth). An API key is passed in the header as Token (tokenAuth).

  • bearerAuth — Token-based authentication with required prefix Bearer. - Each user has a personal access token which they can get from their respective user profile. These to…
  • cookieAuth — Session-based authentication used when user is signed in.
  • tokenAuth — Token-based authentication with required prefix Token. - Each user has a personal access token which they can get from their respective user profile. These tok…

Paths & Operations 33

Across 20 paths, the API surfaces 33 operations — 4 DELETE, 16 GET, 2 PATCH, 9 POST, 2 PUT. Each is listed below with its method, path, parameters, and response codes.

projects 33
GET
/api/projects/
Return a list of all projects.
api_projects_list 2 params → 400401403404405406423429
POST
/api/projects/
Create a new project.
api_projects_create body → 400401403404405406415423
GET
/api/projects/{slug}/
Return information about a project.
api_projects_retrieve 1 param → 400401403404405406423429
PUT
/api/projects/{slug}/
Edit a project by a PUT request.
api_projects_update 1 param body → 400401403404405406415423
PATCH
/api/projects/{slug}/
Edit a project by a PATCH request.
api_projects_partial_update 1 param body → 400401403404405406415423
DELETE
/api/projects/{slug}/
Delete a project.
api_projects_destroy 1 param → 400401403404405406423429
POST
/api/projects/{slug}/addons/
Translation projects API.
api_projects_addons_create 1 param body → 400401403404405406415423
GET
/api/projects/{slug}/announcements/
Return announcements.
api_projects_announcements_list 3 params → 400401403404405406423429
POST
/api/projects/{slug}/announcements/
Create an announcement.
api_projects_announcements_create 1 param body → 400401403404405406415423
DELETE
/api/projects/{slug}/announcements/{announcement_id}/
Delete an announcement.
api_projects_announcements_destroy 2 params → 400401403404405406423429
GET
/api/projects/{slug}/categories/
Return categories for a project.
api_projects_categories_list 3 params → 400401403404405406423429
GET
/api/projects/{slug}/changes/
Return a list of project changes.
api_projects_changes_list 3 params → 400401403404405406423429
GET
/api/projects/{slug}/components/
Return a list of translation components in the given project.
api_projects_components_list 3 params → 400401403404405406423429
POST
/api/projects/{slug}/components/
Create translation components in the given project.
api_projects_components_create 1 param body → 400401403404405406423429
GET
/api/projects/{slug}/credits/
Return contributor credits for a project.
api_projects_credits_retrieve 1 param → 400401403404405406423429
GET
/api/projects/{slug}/file/
Download all translation files in the project.
api_projects_file_retrieve 1 param → 400401403404405406423429
GET
/api/projects/{slug}/labels/
Return labels for a project.
api_projects_labels_list 3 params → 400401403404405406423429
POST
/api/projects/{slug}/labels/
Create a label for a project.
api_projects_labels_create 1 param body → 400401403404405406415423
DELETE
/api/projects/{slug}/labels/{label_id}/
Delete a label from a project.
api_projects_labels_destroy 2 params → 400401403404405406423429
GET
/api/projects/{slug}/languages/
Return statistics for all languages within a project.
api_projects_languages_list 1 param → 400401403404405406423429
GET
/api/projects/{slug}/languages/{language_code}/announcements/
Return project language announcements.
api_projects_languages_announcements_list 4 params → 400401403404405406423429
POST
/api/projects/{slug}/languages/{language_code}/announcements/
Create a project language announcement.
api_projects_languages_announcements_create 2 params body → 400401403404405406415423
DELETE
/api/projects/{slug}/languages/{language_code}/announcements/{announcement_id}/
Delete a project language announcement.
api_projects_languages_announcements_destroy 3 params → 400401403404405406423429
GET
/api/projects/{slug}/languages/{language_code}/file/
Download all component translation files in the project for a specific language.
api_projects_languages_file_retrieve 2 params → 400401403404405406423429
GET
/api/projects/{slug}/lock/
Return project lock status.
api_projects_lock_retrieve 1 param → 400401403404405406423429
POST
/api/projects/{slug}/lock/
Sets project lock status.
api_projects_lock_create 1 param body → 400401403404405406415423
GET
/api/projects/{slug}/machinery_settings/
List machinery settings for a project.
api_projects_machinery_settings_retrieve 1 param → 400401403404405406423429
POST
/api/projects/{slug}/machinery_settings/
Install a new machinery service.
api_projects_machinery_settings_create 1 param body → 401403404405406415423429
PUT
/api/projects/{slug}/machinery_settings/
Replace configuration for all services.
api_projects_machinery_settings_update 1 param body → 401403404405406415423429
PATCH
/api/projects/{slug}/machinery_settings/
Partially update a single service. Leave configuration blank to remove the service.
api_projects_machinery_settings_partial_update 1 param body → 401403404405406415423429
GET
/api/projects/{slug}/repository/
Return information about VCS repository status.
api_projects_repository_retrieve 1 param → 400401403404405406423429
POST
/api/projects/{slug}/repository/
Perform given operation on the VCS repository.
api_projects_repository_create 1 param body → 400401403404405406415423
GET
/api/projects/{slug}/statistics/
Return statistics for a project.
api_projects_statistics_retrieve 1 param → 400401403404405406423429

Schemas 74

The contract defines 74 schemas that model the data the API accepts and returns. The most detailed are Component (93 properties), ProjectComponent (92 properties), Project (61 properties), PatchedProject (61 properties). Each schema is shown below with its type and property counts.

ColorEnum
string
navy - Navy blue - Blue aqua - Aqua teal - Teal olive - Olive green - Green lime - Lime yellow - Yellow orange - Orange red - Red maroon - Maroon fuchsia - Fuc…
ErrorResponse404
object
2 properties 2 required
ErrorResponse415
object
2 properties 2 required
PaginatedAnnouncementList
object
4 properties 2 required
Error401
object
3 properties 3 required
FileFormatEnum
string
apple-xliff - XLIFF 1.2 with Apple extensions appstore - App store metadata files arb - ARB file aresource - Android String Resource asciidoc - AsciiDoc file a…
ErrorResponse400TypeEnum
string
validationerror - Validation Error clienterror - Client Error
Change
object
13 properties 9 required
PriorityEnum
integer
60 - Very high 80 - High 100 - Medium 120 - Low 140 - Very low
ErrorCode500Enum
string
error - Error
CommitInfo
object
Detailed information about a Git commit.
12 properties
ErrorCode404Enum
string
notfound - Not Found
Error403
object
3 properties 3 required
SeverityEnum
string
info - Info (light blue) warning - Warning (yellow) danger - Danger (red) success - Success (green)
ErrorResponse429
object
2 properties 2 required
ErrorResponse400
object
2 properties 2 required
MessageResponse
object
1 property 1 required
PendingUnits
object
Detailed breakdown of pending translation units.
4 properties 4 required
MergeStyleEnum
string
merge - Merge rebase - Rebase mergenoff - Merge without fast-forward
ErrorCode406Enum
string
notacceptable - Not Acceptable
Error415
object
3 properties 3 required
Label
object
4 properties 2 required
Error423
object
3 properties 3 required
PaginatedChangeList
object
4 properties 2 required
SourceEnum
integer
0 - Default plural 1 - gettext plural formula 3 - CLDR plural with zero 4 - CLDR v38+ plural 5 - Android plural 6 - Qt Linguist plural 2 - Manually entered for…
LanguagePlural
object
5 properties 2 required
Statistics
object
37 properties 33 required
Error429
object
3 properties 3 required
Error400
object
3 properties 3 required
ErrorResponse423
object
2 properties 2 required
ActionEnum
integer
0 - Resource updated 1 - Translation completed 2 - Translation changed 3 - Comment added 4 - Suggestion added 5 - Translation added 6 - Automatically translate…
ErrorResponse401
object
2 properties 2 required
RepoRequest
object
1 property 1 required
ProjectComponent
object
92 properties 33 required
ErrorResponse406
object
2 properties 2 required
BlankEnum
SingleServiceConfig
object
2 properties 2 required
Announcement
object
5 properties 2 required
ErrorResponse403
object
2 properties 2 required
ProjectMachinerySettings
object
1 property
ErrorCode401Enum
string
authenticationfailed - Authentication Failed notauthenticated - Not Authenticated
ErrorCode403Enum
string
permissiondenied - Permission Denied
DirectionEnum
string
- Automatically detect text direction ltr - Left to right rtl - Right to left
LockRequest
object
1 property 1 required
LanguageCodeStyleEnum
string
- Default based on the file format posix - POSIX style using underscore as a separator posixlowercase - POSIX style using underscore as a separator, lower case…
PaginatedCategoryList
object
4 properties 2 required
ServerErrorEnum
string
servererror - Server Error
ErrorCode415Enum
string
unsupportedmediatype - Unsupported Media Type
PatchedProject
object
61 properties
PaginatedLabelList
object
4 properties 2 required
PaginatedProjectList
object
4 properties 2 required
VcsEnum
string
gerrit - Gerrit git - Git git-force-push - Git with force push local - No remote repository mercurial - Mercurial subversion - Subversion
ErrorResponse405
object
2 properties 2 required
OperationEnum
string
commit - Commit pull - Update pull-rebase - Update with rebase pull-merge - Update with merge pull-merge-noff - Update with merge without fast-forward push - P…
PaginatedProjectComponentList
object
4 properties 2 required
ErrorCode429Enum
string
throttled - Throttled
Language
object
10 properties 6 required
NewLangEnum
string
contact - Contact maintainers url - Point to translation instructions URL add - Create new language file none - Disable adding new translations
Repository
object
Serializer for repository status information.
11 properties 4 required
Error406
object
3 properties 3 required
Error405
object
3 properties 3 required
Error500
object
3 properties 3 required
Component
object
93 properties 34 required
CommitPolicyEnum
integer
0 - Commit all translations regardless of quality 20 - Skip translations marked as needing editing 30 - Only include approved translations
RepositoryOperation
object
2 properties 1 required
Error404
object
3 properties 3 required
Project
object
61 properties 30 required
ProjectLock
object
1 property 1 required
ErrorResponse500
object
2 properties 2 required
ErrorCode423Enum
string
repository-locked - Repository Locked component-locked - Component Locked unknown-locked - Unknown Locked
Category
object
43 properties 19 required
PatchedSingleServiceConfig
object
2 properties
ErrorCode405Enum
string
methodnotallowed - Method Not Allowed
ClientErrorEnum
string
clienterror - Client Error

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

weblate-projects-api-openapi.yml Raw ↑

Other APIs Weblate publishes across the network.

Weblate addons API
Weblate categories API
Weblate changes API
Weblate component-lists API
Weblate components API
Weblate contributions API
Weblate groups API
Weblate hooks API
Weblate languages API
Weblate memory API
Weblate metrics API
Weblate roles API