openapi: 3.1.1 info: title: Weblate's REST addons components API version: '' x-logo: url: /static/weblate.svg description: "\nThe API is accessible on the ``/api/`` URL and it is based on [Django REST framework](https://www.django-rest-framework.org/).\n\nThe OpenAPI specification is available as feature preview, feedback welcome!\n\n## Authorization\n\n\n\n\n " license: name: GNU General Public License v3 or later url: https://docs.weblate.org/en/latest/contributing/license.html servers: - url: 'http:' description: Weblate tags: - name: components paths: /api/components/: get: operationId: api_components_list description: Return a list of translation components. parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedComponentList' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' /api/components/{project__slug}/{slug}/: get: operationId: api_components_retrieve description: Return information about translation component. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/Component' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' put: operationId: api_components_update description: Edit a component by a PUT or PATCH request. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components requestBody: content: application/json: schema: $ref: '#/components/schemas/Component' required: true security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '415': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse415' examples: UnsupportedMediaType: value: type: client_error errors: - code: unsupported_media_type detail: Unsupported media type "application/json" in request. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/Component' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' patch: operationId: api_components_partial_update description: Edit a component by a PATCH request. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components requestBody: content: application/json: schema: $ref: '#/components/schemas/PatchedComponent' security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '415': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse415' examples: UnsupportedMediaType: value: type: client_error errors: - code: unsupported_media_type detail: Unsupported media type "application/json" in request. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/Component' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' delete: operationId: api_components_destroy description: Delete a component. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '204': description: No response body /api/components/{project__slug}/{slug}/addons/: post: operationId: api_components_addons_create description: Translation components API. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components requestBody: content: application/json: schema: $ref: '#/components/schemas/Component' required: true security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '415': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse415' examples: UnsupportedMediaType: value: type: client_error errors: - code: unsupported_media_type detail: Unsupported media type "application/json" in request. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/Component' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' /api/components/{project__slug}/{slug}/announcements/: get: operationId: api_components_announcements_list description: Return announcements. parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedAnnouncementList' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' post: operationId: api_components_announcements_create description: Create an announcement. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components requestBody: content: application/json: schema: $ref: '#/components/schemas/Announcement' required: true security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '415': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse415' examples: UnsupportedMediaType: value: type: client_error errors: - code: unsupported_media_type detail: Unsupported media type "application/json" in request. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '201': content: application/json: schema: $ref: '#/components/schemas/Announcement' description: '' /api/components/{project__slug}/{slug}/announcements/{announcement_id}/: delete: operationId: api_components_announcements_destroy description: Delete an announcement. parameters: - in: path name: announcement_id schema: type: integer required: true - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '204': description: No response body /api/components/{project__slug}/{slug}/changes/: get: operationId: api_components_changes_list description: Return a list of component changes. parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedChangeList' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' /api/components/{project__slug}/{slug}/credits/: get: operationId: api_components_credits_retrieve description: Translation components API. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/Component' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' /api/components/{project__slug}/{slug}/file/: get: operationId: api_components_file_retrieve description: Download all translation files in the component. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/octet-stream: schema: type: string format: binary description: Component translation download. headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' /api/components/{project__slug}/{slug}/links/: get: operationId: api_components_links_list description: Return projects linked with a component. parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedProjectList' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' post: operationId: api_components_links_create description: Associate project with a component. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components requestBody: content: application/json: schema: $ref: '#/components/schemas/ComponentLinkRequest' required: true security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '415': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse415' examples: UnsupportedMediaType: value: type: client_error errors: - code: unsupported_media_type detail: Unsupported media type "application/json" in request. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '201': content: application/json: schema: $ref: '#/components/schemas/ComponentLinkResponse' description: '' /api/components/{project__slug}/{slug}/links/{project_slug}/: delete: operationId: api_components_links_destroy description: Remove association of a project with a component. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: project_slug schema: type: string required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '204': description: No response body /api/components/{project__slug}/{slug}/lock/: get: operationId: api_components_lock_retrieve description: Return component lock status. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/Lock' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' post: operationId: api_components_lock_create description: Sets component lock status. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components requestBody: content: application/json: schema: $ref: '#/components/schemas/LockRequest' required: true security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '415': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse415' examples: UnsupportedMediaType: value: type: client_error errors: - code: unsupported_media_type detail: Unsupported media type "application/json" in request. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/Lock' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' /api/components/{project__slug}/{slug}/monolingual_base/: get: operationId: api_components_monolingual_base_retrieve description: Download base file for monolingual translations. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/octet-stream: schema: type: string format: binary description: Monolingual base file download. headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' /api/components/{project__slug}/{slug}/new_template/: get: operationId: api_components_new_template_retrieve description: Download template file for new translations. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/octet-stream: schema: type: string format: binary description: Template download for new translations. headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' /api/components/{project__slug}/{slug}/repository/: get: operationId: api_components_repository_retrieve description: Return information about VCS repository status. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/Repository' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' post: operationId: api_components_repository_create description: Perform given operation on the VCS repository. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components requestBody: content: application/json: schema: $ref: '#/components/schemas/RepoRequest' required: true security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '415': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse415' examples: UnsupportedMediaType: value: type: client_error errors: - code: unsupported_media_type detail: Unsupported media type "application/json" in request. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/RepositoryOperation' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' /api/components/{project__slug}/{slug}/screenshots/: get: operationId: api_components_screenshots_list description: Return a list of component screenshots. parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedScreenshotList' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' /api/components/{project__slug}/{slug}/statistics/: get: operationId: api_components_statistics_list description: Return paginated statistics for all translations within component. parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedStatisticsList' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' /api/components/{project__slug}/{slug}/translations/: get: operationId: api_components_translations_list description: Return a list of translation objects in the given component. parameters: - name: page required: false in: query description: A page number within the paginated result set. schema: type: integer - name: page_size required: false in: query description: Number of results to return per page. schema: type: integer - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] - {} responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '200': content: application/json: schema: $ref: '#/components/schemas/PaginatedComponentTranslationList' description: '' headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' post: operationId: api_components_translations_create description: Create a new translation in the given component. parameters: - in: path name: project__slug schema: type: string pattern: ^[^/]+$ required: true - in: path name: slug schema: type: string pattern: ^[^/]+$ required: true tags: - components requestBody: content: application/json: schema: $ref: '#/components/schemas/TranslationCreate' required: true security: - tokenAuth: [] - bearerAuth: [] - cookieAuth: [] responses: '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse400' description: '' '401': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse401' examples: AuthenticationFailed: value: type: client_error errors: - code: authentication_failed detail: Incorrect authentication credentials. attr: null NotAuthenticated: value: type: client_error errors: - code: not_authenticated detail: Authentication credentials were not provided. attr: null description: '' '403': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse403' examples: PermissionDenied: value: type: client_error errors: - code: permission_denied detail: You do not have permission to perform this action. attr: null description: '' '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse404' examples: NotFound: value: type: client_error errors: - code: not_found detail: Not found. attr: null description: '' '405': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse405' examples: MethodNotAllowed: value: type: client_error errors: - code: method_not_allowed detail: Method "get" not allowed. attr: null description: '' '406': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse406' examples: NotAcceptable: value: type: client_error errors: - code: not_acceptable detail: Could not satisfy the request Accept header. attr: null description: '' '415': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse415' examples: UnsupportedMediaType: value: type: client_error errors: - code: unsupported_media_type detail: Unsupported media type "application/json" in request. attr: null description: '' '423': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse423' description: '' '429': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse429' examples: Throttled: value: type: client_error errors: - code: throttled detail: Request was throttled. attr: null description: '' '500': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse500' examples: APIException: value: type: server_error errors: - code: error detail: A server error occurred. attr: null description: '' '201': content: application/json: schema: $ref: '#/components/schemas/ComponentTranslationResponse' description: '' components: schemas: ColorEnum: enum: - navy - blue - aqua - teal - olive - green - lime - yellow - orange - red - maroon - fuchsia - purple - black - gray - silver type: string description: '* `navy` - Navy * `blue` - Blue * `aqua` - Aqua * `teal` - Teal * `olive` - Olive * `green` - Green * `lime` - Lime * `yellow` - Yellow * `orange` - Orange * `red` - Red * `maroon` - Maroon * `fuchsia` - Fuchsia * `purple` - Purple * `black` - Black * `gray` - Gray * `silver` - Silver' PaginatedStatisticsList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string format: uri example: http://api.example.org/accounts/?page=4 previous: type: string format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Statistics' ErrorResponse404: type: object properties: type: $ref: '#/components/schemas/ClientErrorEnum' errors: type: array items: $ref: '#/components/schemas/Error404' required: - errors - type ErrorResponse415: type: object properties: type: $ref: '#/components/schemas/ClientErrorEnum' errors: type: array items: $ref: '#/components/schemas/Error415' required: - errors - type PaginatedAnnouncementList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string format: uri example: http://api.example.org/accounts/?page=4 previous: type: string format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Announcement' Error401: type: object properties: code: $ref: '#/components/schemas/ErrorCode401Enum' detail: type: string attr: type: - string - 'null' required: - attr - code - detail FileFormatEnum: enum: - apple-xliff - appstore - arb - aresource - asciidoc - ass - catkeys - cmp-resource - csv - csv-multi - csv-simple - dokuwiki - dtd - flatxml - fluent - formatjs - go-i18n-json - go-i18n-json-v2 - go-i18n-toml - gotext - gwt - html - i18next - i18nextv4 - idml - ini - islu - joomla - json - json-nested - laravel - markdown - mdx - mediawiki - mi18n-lang - moko-resource - nextcloud-json - odf - php - plainxliff - po - po-mono - poxliff - properties - rc - resjson - resourcedictionary - resx - ruby-yaml - srt - ssa - strings - stringsdict - sub - tbx - toml - ts - txt - webextension - wxl - xliff - xliff2 - xliff2-placeables - xlsx - xwiki-fullpage - xwiki-java-properties - xwiki-page-properties - yaml type: string description: '* `apple-xliff` - XLIFF 1.2 with Apple extensions * `appstore` - App store metadata files * `arb` - ARB file * `aresource` - Android String Resource * `asciidoc` - AsciiDoc file * `ass` - Advanced SubStation Alpha subtitle file * `catkeys` - Haiku catkeys * `cmp-resource` - Compose Multiplatform Resource * `csv` - CSV file * `csv-multi` - Multivalue CSV file * `csv-simple` - Simple CSV file * `dokuwiki` - DokuWiki text file * `dtd` - DTD file * `flatxml` - Flat XML file * `fluent` - Fluent file * `formatjs` - Format.JS JSON file * `go-i18n-json` - go-i18n v1 JSON file * `go-i18n-json-v2` - go-i18n v2 JSON file * `go-i18n-toml` - go-i18n TOML file * `gotext` - gotext JSON file * `gwt` - GWT properties * `html` - HTML file * `i18next` - i18next JSON file v3 * `i18nextv4` - i18next JSON file v4 * `idml` - IDML file * `ini` - INI file * `islu` - Inno Setup INI file * `joomla` - Joomla language file * `json` - JSON file * `json-nested` - JSON nested structure file * `laravel` - Laravel PHP strings * `markdown` - Markdown file * `mdx` - MDX file * `mediawiki` - MediaWiki text file * `mi18n-lang` - @draggable/i18n lang file * `moko-resource` - Mobile Kotlin Resource * `nextcloud-json` - Nextcloud JSON file * `odf` - OpenDocument file * `php` - PHP strings * `plainxliff` - XLIFF 1.2 translation file * `po` - gettext PO file * `po-mono` - gettext PO file (monolingual) * `poxliff` - XLIFF 1.2 with gettext extensions * `properties` - Java Properties * `rc` - RC file * `resjson` - RESJSON file * `resourcedictionary` - ResourceDictionary file * `resx` - .NET resource file * `ruby-yaml` - Ruby YAML file * `srt` - SubRip subtitle file * `ssa` - SubStation Alpha subtitle file * `strings` - iOS strings * `stringsdict` - Stringsdict file * `sub` - MicroDVD subtitle file * `tbx` - TermBase eXchange file * `toml` - TOML file * `ts` - Qt Linguist translation file * `txt` - Plain text file * `webextension` - WebExtension JSON file * `wxl` - WixLocalization file * `xliff` - XLIFF 1.2 with placeables support * `xliff2` - XLIFF 2.0 translation file * `xliff2-placeables` - XLIFF 2.0 translation file with placeables support * `xlsx` - Excel Open XML * `xwiki-fullpage` - XWiki Full Page * `xwiki-java-properties` - XWiki Java Properties * `xwiki-page-properties` - XWiki Page Properties * `yaml` - YAML file' ErrorResponse400TypeEnum: enum: - validation_error - client_error type: string description: '* `validation_error` - Validation Error * `client_error` - Client Error' Change: type: object properties: unit: type: string format: uri readOnly: true component: type: string format: uri readOnly: true translation: type: string format: uri readOnly: true user: type: string format: uri readOnly: true author: type: string format: uri readOnly: true timestamp: type: string format: date-time readOnly: true action: allOf: - $ref: '#/components/schemas/ActionEnum' minimum: -2147483648 maximum: 2147483647 target: type: string old: type: string details: {} id: type: integer readOnly: true action_name: type: string readOnly: true url: type: string format: uri readOnly: true required: - action_name - author - component - id - timestamp - translation - unit - url - user PriorityEnum: enum: - 60 - 80 - 100 - 120 - 140 type: integer description: '* `60` - Very high * `80` - High * `100` - Medium * `120` - Low * `140` - Very low' ErrorCode500Enum: enum: - error type: string description: '* `error` - Error' CommitInfo: type: object description: Detailed information about a Git commit. properties: revision: type: - string - 'null' description: Full commit hash. shortrevision: type: - string - 'null' description: Abbreviated commit hash. author: type: - string - 'null' description: Commit author with email (e.g., 'Name '). author_name: type: - string - 'null' description: Author name. author_email: type: - string - 'null' description: Author email address. authordate: type: - string - 'null' format: date-time description: Date when the commit was authored. commit: type: - string - 'null' description: Committer with email (e.g., 'Name '). commit_name: type: - string - 'null' description: Committer name. commit_email: type: - string - 'null' description: Committer email address. commitdate: type: - string - 'null' format: date-time description: Date when the commit was committed. message: type: - string - 'null' description: Full commit message. summary: type: - string - 'null' description: First line of the commit message. ErrorCode404Enum: enum: - not_found type: string description: '* `not_found` - Not Found' Screenshot: type: object properties: id: type: integer readOnly: true name: type: string title: Screenshot name maxLength: 200 repository_filename: type: string title: Repository path to screenshot description: Scan for screenshot file change on repository update. maxLength: 200 translation: type: string format: uri readOnly: true file_url: type: string format: uri readOnly: true units: type: array items: type: string format: uri readOnly: true url: type: string format: uri readOnly: true required: - file_url - id - name - translation - units - url Error403: type: object properties: code: $ref: '#/components/schemas/ErrorCode403Enum' detail: type: string attr: type: - string - 'null' required: - attr - code - detail ComponentTranslationResponse: type: object properties: data: $ref: '#/components/schemas/ComponentTranslation' required: - data ErrorResponse429: type: object properties: type: $ref: '#/components/schemas/ClientErrorEnum' errors: type: array items: $ref: '#/components/schemas/Error429' required: - errors - type SeverityEnum: enum: - info - warning - danger - success type: string description: '* `info` - Info (light blue) * `warning` - Warning (yellow) * `danger` - Danger (red) * `success` - Success (green)' ErrorResponse400: type: object properties: type: $ref: '#/components/schemas/ErrorResponse400TypeEnum' errors: type: array items: $ref: '#/components/schemas/Error400' required: - errors - type PendingUnits: type: object description: Detailed breakdown of pending translation units. properties: total: type: integer description: Total number of translation units with pending changes. errors_skipped: type: integer description: Number of units skipped due to commit errors (blocked by retry policy). commit_policy_skipped: type: integer description: Number of units skipped by the commit policy (e.g., needs editing, not approved). eligible_for_commit: type: integer description: Number of units eligible to be committed based on the current policy. required: - commit_policy_skipped - eligible_for_commit - errors_skipped - total MergeStyleEnum: enum: - merge - rebase - merge_noff type: string description: '* `merge` - Merge * `rebase` - Rebase * `merge_noff` - Merge without fast-forward' ComponentLinkResponse: type: object properties: data: $ref: '#/components/schemas/Component' required: - data ErrorCode406Enum: enum: - not_acceptable type: string description: '* `not_acceptable` - Not Acceptable' PaginatedComponentTranslationList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string format: uri example: http://api.example.org/accounts/?page=4 previous: type: string format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/ComponentTranslation' Error415: type: object properties: code: $ref: '#/components/schemas/ErrorCode415Enum' detail: type: string attr: type: - string - 'null' required: - attr - code - detail PatchedComponent: type: object properties: name: type: string title: Component name description: Display name maxLength: 100 slug: type: string title: URL slug description: Name used in URLs and filenames. maxLength: 100 pattern: ^[-a-zA-Z0-9_]+$ id: type: integer readOnly: true source_language: $ref: '#/components/schemas/Language' project: allOf: - $ref: '#/components/schemas/Project' readOnly: true vcs: allOf: - $ref: '#/components/schemas/VcsEnum' title: Version control system description: 'Version control system to use to access your repository containing translations. You can also choose additional integration with third party providers to submit pull/merge requests. * `gerrit` - Gerrit * `git` - Git * `git-force-push` - Git with force push * `local` - No remote repository * `mercurial` - Mercurial * `subversion` - Subversion' repo: type: string maxLength: 300 git_export: type: string title: Exported repository URL description: URL of repository where users can fetch changes from Weblate maxLength: 220 branch: type: string maxLength: 200 push_branch: type: string maxLength: 200 filemask: type: string title: File mask description: 'Path of files to translate relative to repository root, use * instead of language code, for example: po/*.po or locale/*/LC_MESSAGES/django.po.' maxLength: 400 screenshot_filemask: type: string title: Screenshot file mask description: 'Path of screenshots relative to repository root, for example: docs/screenshots/*.png.' maxLength: 400 template: type: string title: Monolingual base language file description: Filename of translation base file, containing all strings and their source for monolingual translations. maxLength: 400 edit_template: type: boolean title: Edit base file description: Whether users will be able to edit the base file for monolingual translations. intermediate: type: string title: Intermediate language file description: Filename of intermediate translation file. In most cases this is a translation file provided by developers and is used when creating actual source strings. maxLength: 400 new_base: type: string title: Template for new translations description: Filename of file used for creating new translations. For gettext choose .pot file. maxLength: 400 file_format: $ref: '#/components/schemas/FileFormatEnum' file_format_params: title: File format parameters license: title: Translation license type: string maxLength: 150 examples: - MIT - GPL-3.0-or-later - Apache-2.0 - BSD-3-Clause - proprietary inherit_license: type: boolean title: Inherit translation license description: Use the translation license configured in the category or project. effective_license: type: string readOnly: true license_url: type: string readOnly: true announcements_url: type: string format: uri readOnly: true agreement: type: string title: Contributor license agreement description: Contributor license agreement which needs to be approved before a user can translate this component. inherit_agreement: type: boolean title: Inherit contributor license agreement description: Use the contributor license agreement configured in the category or project. effective_agreement: type: string readOnly: true web_url: type: string readOnly: true url: type: string format: uri readOnly: true repository_url: type: string format: uri readOnly: true translations_url: type: string format: uri readOnly: true statistics_url: type: string format: uri readOnly: true lock_url: type: string format: uri readOnly: true links_url: type: string format: uri readOnly: true changes_list_url: type: string format: uri readOnly: true task_url: type: - string - 'null' format: uri readOnly: true credits_url: type: string format: uri readOnly: true new_lang: allOf: - $ref: '#/components/schemas/NewLangEnum' title: Adding new translation description: 'How to handle requests for creating new translations. * `contact` - Contact maintainers * `url` - Point to translation instructions URL * `add` - Create new language file * `none` - Disable adding new translations' inherit_new_lang: type: boolean title: Inherit adding new translations description: Use the adding new translations setting configured in the category or project. effective_new_lang: type: string readOnly: true language_code_style: description: 'Customize language code used to generate the filename for translations created by Weblate. * `` - Default based on the file format * `posix` - POSIX style using underscore as a separator * `posix_lowercase` - POSIX style using underscore as a separator, lower cased * `bcp` - BCP style using hyphen as a separator * `posix_long` - POSIX style using underscore as a separator, including country code * `posix_long_lowercase` - POSIX style using underscore as a separator, including country code, lower cased * `bcp_long` - BCP style using hyphen as a separator, including country code * `bcp_legacy` - BCP style using hyphen as a separator, legacy language codes * `bcp_lower` - BCP style using hyphen as a separator, lower cased * `android` - Android style * `appstore` - Apple App Store metadata style * `googleplay` - Google Play metadata style * `linux` - Linux style * `linux_lowercase` - Linux style, lower cased' oneOf: - $ref: '#/components/schemas/LanguageCodeStyleEnum' - $ref: '#/components/schemas/BlankEnum' inherit_language_code_style: type: boolean description: Use the language code style configured in the category or project. effective_language_code_style: type: string readOnly: true push: type: string maxLength: 300 check_flags: type: string title: Translation flags description: Additional comma-separated flags to influence Weblate behavior. effective_check_flags: type: string readOnly: true priority: allOf: - $ref: '#/components/schemas/PriorityEnum' description: 'Components with higher priority are offered first to translators. * `60` - Very high * `80` - High * `100` - Medium * `120` - Low * `140` - Very low' minimum: -2147483648 maximum: 2147483647 enforced_checks: {} restricted: type: boolean title: Restricted component description: Restrict access to the component to only those explicitly given permission. repoweb: type: string title: Repository browser description: Link to repository browser, use {{branch}} for branch, {{filename}} and {{line}} as filename and line placeholders. You might want to strip leading directory by using {{filename|parentdir}}. maxLength: 200 report_source_bugs: type: string title: Source string bug reporting address description: E-mail address for reports on errors in source strings. Leave empty for no e-mails. format: email maxLength: 190 merge_style: allOf: - $ref: '#/components/schemas/MergeStyleEnum' description: 'Define whether Weblate should merge the upstream repository or rebase changes onto it. * `merge` - Merge * `rebase` - Rebase * `merge_noff` - Merge without fast-forward' commit_message: type: string title: Commit message when translating description: You can use template language for various info, please consult the documentation for more details. inherit_commit_message: type: boolean title: Inherit commit message when translating description: Use the commit message when translating configured in the category or project. effective_commit_message: type: string readOnly: true add_message: type: string title: Commit message when adding translation description: You can use template language for various info, please consult the documentation for more details. inherit_add_message: type: boolean title: Inherit commit message when adding translation description: Use the commit message when adding translation configured in the category or project. effective_add_message: type: string readOnly: true delete_message: type: string title: Commit message when removing translation description: You can use template language for various info, please consult the documentation for more details. inherit_delete_message: type: boolean title: Inherit commit message when removing translation description: Use the commit message when removing translation configured in the category or project. effective_delete_message: type: string readOnly: true merge_message: type: string title: Commit message when merging translation description: You can use template language for various info, please consult the documentation for more details. inherit_merge_message: type: boolean title: Inherit commit message when merging translation description: Use the commit message when merging translation configured in the category or project. effective_merge_message: type: string readOnly: true addon_message: type: string title: Commit message when add-on makes a change description: You can use template language for various info, please consult the documentation for more details. inherit_addon_message: type: boolean title: Inherit commit message when add-on makes a change description: Use the commit message when add-on makes a change configured in the category or project. effective_addon_message: type: string readOnly: true pull_message: type: string title: Merge request message description: You can use template language for various info, please consult the documentation for more details. inherit_pull_message: type: boolean title: Inherit merge request message description: Use the merge request message configured in the category or project. effective_pull_message: type: string readOnly: true allow_translation_propagation: type: boolean description: Whether translation updates in other components will cause automatic translation in this one manage_units: type: boolean title: Manage strings description: Enables adding and removing strings straight from Weblate. If your strings are extracted from the source code or managed externally you probably want to keep it disabled. enable_suggestions: type: boolean title: Turn on suggestions description: Whether to allow translation suggestions at all. suggestion_voting: type: boolean description: Users can only vote for suggestions and can’t make direct translations. suggestion_autoaccept: type: integer maximum: 32767 minimum: 0 title: Automatically accept suggestions description: Automatically accept suggestions with this number of votes, use 0 to turn it off. push_on_commit: type: boolean description: Whether the repository should be pushed upstream on every commit. commit_pending_age: type: integer maximum: 2160 minimum: -32768 title: Age of changes to commit description: Time in hours after which any pending changes will be committed to the VCS. auto_lock_error: type: boolean title: Lock on error description: Whether the component should be locked on repository errors. language_regex: type: string title: Language filter description: Regular expression used to filter translation files when scanning for file mask. maxLength: 500 key_filter: type: string description: Regular expression used to filter keys. This is only available for monolingual formats. maxLength: 500 secondary_language: type: - integer - 'null' description: Additional language to show together with the source language while translating. This setting is inherited from the project if left empty. inherit_secondary_language: type: boolean description: Use the secondary language configured in the category or project. effective_secondary_language: type: - integer - 'null' readOnly: true variant_regex: type: string title: Variants regular expression description: Regular expression used to determine variants of a string. maxLength: 190 zipfile: type: string format: uri docfile: type: string format: uri from_component: oneOf: - type: integer - type: string writeOnly: true addons: type: array items: type: string format: uri readOnly: true is_glossary: type: boolean title: Use as a glossary description: Glossaries are different from regular translations but help keep track of and share consistent terminology. glossary_color: $ref: '#/components/schemas/ColorEnum' disable_autoshare: type: boolean category: type: - string - 'null' format: uri linked_component: type: string format: uri readOnly: true locked: type: boolean readOnly: true Error423: type: object properties: code: $ref: '#/components/schemas/ErrorCode423Enum' detail: type: string attr: type: - string - 'null' required: - attr - code - detail PaginatedChangeList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string format: uri example: http://api.example.org/accounts/?page=4 previous: type: string format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Change' SourceEnum: enum: - 0 - 1 - 3 - 4 - 5 - 6 - 2 type: integer description: '* `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 formula' LanguagePlural: type: object properties: id: type: integer readOnly: true source: allOf: - $ref: '#/components/schemas/SourceEnum' title: Plural definition source minimum: -32768 maximum: 32767 number: type: integer maximum: 10 minimum: 1 title: Number of plurals formula: type: string title: Plural formula type: type: integer readOnly: true title: Plural type required: - id - type Statistics: type: object properties: total: type: integer total_words: type: integer total_chars: type: integer last_change: type: - string - 'null' format: date-time recent_changes: type: integer translated: type: integer translated_words: type: integer translated_percent: type: number format: double translated_words_percent: type: number format: double translated_chars: type: integer translated_chars_percent: type: number format: double fuzzy: type: integer fuzzy_percent: type: number format: double fuzzy_words: type: integer fuzzy_words_percent: type: number format: double fuzzy_chars: type: integer fuzzy_chars_percent: type: number format: double failing: type: integer failing_percent: type: number format: double approved: type: integer approved_percent: type: number format: double approved_words: type: integer approved_words_percent: type: number format: double approved_chars: type: integer approved_chars_percent: type: number format: double readonly: type: integer readonly_percent: type: number format: double readonly_words: type: integer readonly_words_percent: type: number format: double readonly_chars: type: integer readonly_chars_percent: type: number format: double suggestions: type: integer comments: type: integer code: type: string name: type: string url: type: string format: uri translate_url: type: string format: uri required: - approved - approved_chars - approved_chars_percent - approved_percent - approved_words - approved_words_percent - comments - failing - failing_percent - fuzzy - fuzzy_chars - fuzzy_chars_percent - fuzzy_percent - fuzzy_words - fuzzy_words_percent - last_change - readonly - readonly_chars - readonly_chars_percent - readonly_percent - readonly_words - readonly_words_percent - recent_changes - suggestions - total - total_chars - total_words - translated - translated_chars - translated_chars_percent - translated_percent - translated_words - translated_words_percent Error429: type: object properties: code: $ref: '#/components/schemas/ErrorCode429Enum' detail: type: string attr: type: - string - 'null' required: - attr - code - detail PaginatedComponentList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string format: uri example: http://api.example.org/accounts/?page=4 previous: type: string format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Component' Error400: type: object properties: code: type: string description: Error code. The examples list common validation and parse error codes. examples: - blank - date - datetime - does_not_exist - empty - incorrect_match - incorrect_type - invalid - invalid_choice - invalid_image - invalid_list - make_aware - max_length - max_string_length - max_value - min_value - no_match - no_name - not_a_list - 'null' - null_characters_not_allowed - overflow - parse_error - required - surrogate_characters_not_allowed - unique detail: type: string attr: type: - string - 'null' required: - attr - code - detail Lock: type: object properties: locked: type: boolean description: Locked component will not get any translation updates. ComponentLinkRequest: type: object properties: project_slug: type: string pattern: ^[-a-zA-Z0-9_]+$ category_id: type: - integer - 'null' required: - project_slug ErrorResponse423: type: object properties: type: $ref: '#/components/schemas/ServerErrorEnum' errors: type: array items: $ref: '#/components/schemas/Error423' required: - errors - type ActionEnum: enum: - 0 - 1 - 2 - 3 - 4 - 5 - 6 - 7 - 8 - 9 - 13 - 14 - 15 - 17 - 18 - 19 - 20 - 21 - 22 - 23 - 24 - 25 - 26 - 27 - 28 - 29 - 30 - 31 - 32 - 33 - 34 - 35 - 36 - 37 - 38 - 39 - 41 - 42 - 43 - 45 - 46 - 47 - 48 - 49 - 50 - 51 - 52 - 53 - 54 - 55 - 56 - 57 - 58 - 59 - 60 - 61 - 62 - 63 - 64 - 65 - 66 - 67 - 68 - 69 - 70 - 71 - 72 - 73 - 74 - 75 - 76 - 77 - 78 - 79 - 80 - 81 - 82 - 83 - 84 - 85 - 86 - 87 - 88 - 89 - 90 - 91 - 92 - 93 - 94 - 95 - 96 - 97 - 98 - 99 - 100 type: integer description: '* `0` - Resource updated * `1` - Translation completed * `2` - Translation changed * `3` - Comment added * `4` - Suggestion added * `5` - Translation added * `6` - Automatically translated * `7` - Suggestion accepted * `8` - Translation reverted * `9` - Translation uploaded * `13` - Source string added * `14` - Component locked * `15` - Component unlocked * `17` - Changes committed * `18` - Changes pushed * `19` - Repository reset * `20` - Repository merged * `21` - Repository rebased * `22` - Repository merge failed * `23` - Repository rebase failed * `24` - Parsing failed * `25` - Translation removed * `26` - Suggestion removed * `27` - Translation replaced * `28` - Repository push failed * `29` - Suggestion removed during cleanup * `30` - Source string changed * `31` - String added * `32` - Bulk status changed * `33` - Visibility changed * `34` - User added * `35` - User removed * `36` - Translation approved * `37` - Marked for edit * `38` - Component removed * `39` - Project removed * `41` - Project renamed * `42` - Component renamed * `43` - Moved component * `45` - Contributor joined * `46` - Announcement posted * `47` - Alert triggered * `48` - Language added * `49` - Language requested * `50` - Project created * `51` - Component created * `52` - User invited * `53` - Repository notification received * `54` - Translation replaced file by upload * `55` - License changed * `56` - Contributor license agreement changed * `57` - Screenshot added * `58` - Screenshot uploaded * `59` - String updated in the repository * `60` - Add-on installed * `61` - Add-on configuration changed * `62` - Add-on uninstalled * `63` - String removed * `64` - Comment removed * `65` - Comment resolved * `66` - Explanation updated * `67` - Category removed * `68` - Category renamed * `69` - Category moved * `70` - Saving string failed * `71` - String added in the repository * `72` - String updated in the upload * `73` - String added in the upload * `74` - Translation updated by source upload * `75` - Component translation completed * `76` - Applied enforced check * `77` - Propagated change * `78` - File uploaded * `79` - Extra flags updated * `80` - Font uploaded * `81` - Font changed * `82` - Font removed * `83` - Forced synchronization of translations * `84` - Forced rescan of translations * `85` - Screenshot removed * `86` - Label added * `87` - Label removed * `88` - Repository cleanup * `89` - Source string added in the upload * `90` - Source string added in the repository * `91` - Project backed up * `92` - Project restored * `93` - Component restored * `94` - User edit reverted * `95` - Project setting changed * `96` - Component setting changed * `97` - User access changed * `98` - Workspace created * `99` - Workspace setting changed * `100` - Project moved' ErrorResponse401: type: object properties: type: $ref: '#/components/schemas/ClientErrorEnum' errors: type: array items: $ref: '#/components/schemas/Error401' required: - errors - type RepoRequest: type: object properties: operation: $ref: '#/components/schemas/OperationEnum' required: - operation BlankEnum: enum: - '' ErrorResponse406: type: object properties: type: $ref: '#/components/schemas/ClientErrorEnum' errors: type: array items: $ref: '#/components/schemas/Error406' required: - errors - type Announcement: type: object properties: id: type: integer readOnly: true message: type: string description: You can use Markdown and mention users by @username. severity: allOf: - $ref: '#/components/schemas/SeverityEnum' description: 'Severity defines color used for the message. * `info` - Info (light blue) * `warning` - Warning (yellow) * `danger` - Danger (red) * `success` - Success (green)' expiry: type: - string - 'null' format: date title: Expiry date description: The message will be not shown after this date. Use it to announce string freeze and translation deadline for next release. notify: type: boolean title: Notify users description: Send notification to subscribed users. required: - id - message ComponentTranslation: type: object properties: language: allOf: - $ref: '#/components/schemas/Language' readOnly: true language_code: type: string maxLength: 50 id: type: integer readOnly: true filename: type: string maxLength: 400 revision: type: string maxLength: 200 web_url: type: string readOnly: true share_url: type: string readOnly: true translate_url: type: string readOnly: true url: type: string format: uri readOnly: true is_template: type: boolean readOnly: true is_source: type: boolean readOnly: true total: type: integer readOnly: true total_words: type: integer readOnly: true translated: type: integer readOnly: true translated_words: type: integer readOnly: true translated_percent: type: number format: double readOnly: true fuzzy: type: integer readOnly: true fuzzy_words: type: integer readOnly: true fuzzy_percent: type: number format: double readOnly: true failing_checks: type: integer readOnly: true failing_checks_words: type: integer readOnly: true failing_checks_percent: type: number format: double readOnly: true have_suggestion: type: integer readOnly: true have_comment: type: integer readOnly: true last_change: type: string format: date-time readOnly: true last_author: type: string readOnly: true repository_url: type: string format: uri readOnly: true file_url: type: string format: uri readOnly: true statistics_url: type: string format: uri readOnly: true changes_list_url: type: string format: uri readOnly: true units_list_url: type: string format: uri readOnly: true announcements_url: type: string format: uri readOnly: true required: - announcements_url - changes_list_url - failing_checks - failing_checks_percent - failing_checks_words - file_url - filename - fuzzy - fuzzy_percent - fuzzy_words - have_comment - have_suggestion - id - is_source - is_template - language - last_author - last_change - repository_url - share_url - statistics_url - total - total_words - translate_url - translated - translated_percent - translated_words - units_list_url - url - web_url ErrorResponse403: type: object properties: type: $ref: '#/components/schemas/ClientErrorEnum' errors: type: array items: $ref: '#/components/schemas/Error403' required: - errors - type ErrorCode401Enum: enum: - authentication_failed - not_authenticated type: string description: '* `authentication_failed` - Authentication Failed * `not_authenticated` - Not Authenticated' ErrorCode403Enum: enum: - permission_denied type: string description: '* `permission_denied` - Permission Denied' DirectionEnum: enum: - ltr - rtl type: string description: '* `` - Automatically detect text direction * `ltr` - Left to right * `rtl` - Right to left' LockRequest: type: object properties: lock: type: boolean required: - lock LanguageCodeStyleEnum: enum: - posix - posix_lowercase - bcp - posix_long - posix_long_lowercase - bcp_long - bcp_legacy - bcp_lower - android - appstore - googleplay - linux - linux_lowercase type: string description: '* `` - Default based on the file format * `posix` - POSIX style using underscore as a separator * `posix_lowercase` - POSIX style using underscore as a separator, lower cased * `bcp` - BCP style using hyphen as a separator * `posix_long` - POSIX style using underscore as a separator, including country code * `posix_long_lowercase` - POSIX style using underscore as a separator, including country code, lower cased * `bcp_long` - BCP style using hyphen as a separator, including country code * `bcp_legacy` - BCP style using hyphen as a separator, legacy language codes * `bcp_lower` - BCP style using hyphen as a separator, lower cased * `android` - Android style * `appstore` - Apple App Store metadata style * `googleplay` - Google Play metadata style * `linux` - Linux style * `linux_lowercase` - Linux style, lower cased' TranslationCreate: type: object properties: language_code: type: string from_component: type: array items: oneOf: - type: integer - type: string required: - language_code PaginatedScreenshotList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string format: uri example: http://api.example.org/accounts/?page=4 previous: type: string format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Screenshot' ServerErrorEnum: enum: - server_error type: string description: '* `server_error` - Server Error' ErrorCode415Enum: enum: - unsupported_media_type type: string description: '* `unsupported_media_type` - Unsupported Media Type' PaginatedProjectList: type: object required: - count - results properties: count: type: integer example: 123 next: type: string format: uri example: http://api.example.org/accounts/?page=4 previous: type: string format: uri example: http://api.example.org/accounts/?page=2 results: type: array items: $ref: '#/components/schemas/Project' VcsEnum: enum: - gerrit - git - git-force-push - local - mercurial - subversion type: string description: '* `gerrit` - Gerrit * `git` - Git * `git-force-push` - Git with force push * `local` - No remote repository * `mercurial` - Mercurial * `subversion` - Subversion' ErrorResponse405: type: object properties: type: $ref: '#/components/schemas/ClientErrorEnum' errors: type: array items: $ref: '#/components/schemas/Error405' required: - errors - type OperationEnum: enum: - commit - pull - pull-rebase - pull-merge - pull-merge-noff - push - reset - reset-keep - cleanup - file-sync - file-scan type: string description: '* `commit` - Commit * `pull` - Update * `pull-rebase` - Update with rebase * `pull-merge` - Update with merge * `pull-merge-noff` - Update with merge without fast-forward * `push` - Push * `reset` - Reset all changes in the Weblate repository * `reset-keep` - Reset the Weblate repository and reapply translations * `cleanup` - Cleanup all untracked files in the Weblate repository * `file-sync` - Force writing all translations to the Weblate repository * `file-scan` - Rescan all translation files in the Weblate repository' ErrorCode429Enum: enum: - throttled type: string description: '* `throttled` - Throttled' Language: type: object properties: id: type: integer readOnly: true code: type: string title: Language code pattern: ^[A-Za-z0-9]+(?:[-_@][A-Za-z0-9]+)*$ maxLength: 50 name: type: string maxLength: 100 plural: $ref: '#/components/schemas/LanguagePlural' aliases: type: array items: {} readOnly: true direction: title: Text direction oneOf: - $ref: '#/components/schemas/DirectionEnum' - $ref: '#/components/schemas/BlankEnum' population: type: integer maximum: 9223372036854775807 minimum: -9223372036854775808 format: int64 title: Number of speakers description: Number of people speaking this language. web_url: type: string readOnly: true url: type: string format: uri readOnly: true statistics_url: type: string format: uri readOnly: true required: - aliases - code - id - statistics_url - url - web_url NewLangEnum: enum: - contact - url - add - none type: string description: '* `contact` - Contact maintainers * `url` - Point to translation instructions URL * `add` - Create new language file * `none` - Disable adding new translations' Repository: type: object description: Serializer for repository status information. properties: needs_commit: type: boolean description: Whether the repository has pending changes that need to be committed. needs_merge: type: boolean description: Whether the repository needs to pull changes from upstream. needs_push: type: boolean description: Whether the repository has commits that need to be pushed. url: type: string description: URL to the repository API endpoint. remote_commit: oneOf: - $ref: '#/components/schemas/CommitInfo' - type: 'null' description: Detailed information about the last commit in the remote repository (component/translation only). weblate_commit: oneOf: - $ref: '#/components/schemas/CommitInfo' - type: 'null' description: Detailed information about the last commit in the Weblate repository (component/translation only). status: type: - string - 'null' description: Full repository status text (component/translation only). merge_failure: type: - string - 'null' description: Details about merge failure if any (component/translation only). pending_units: oneOf: - $ref: '#/components/schemas/PendingUnits' - type: 'null' description: Detailed breakdown of translation units with pending changes. outgoing_commits: type: - integer - 'null' description: Number of commits ready to be pushed to the remote repository (component/translation only). missing_commits: type: - integer - 'null' description: Number of commits in the remote repository that need to be pulled (component/translation only). required: - needs_commit - needs_merge - needs_push - url Error406: type: object properties: code: $ref: '#/components/schemas/ErrorCode406Enum' detail: type: string attr: type: - string - 'null' required: - attr - code - detail Error405: type: object properties: code: $ref: '#/components/schemas/ErrorCode405Enum' detail: type: string attr: type: - string - 'null' required: - attr - code - detail Error500: type: object properties: code: $ref: '#/components/schemas/ErrorCode500Enum' detail: type: string attr: type: - string - 'null' required: - attr - code - detail Component: type: object properties: name: type: string title: Component name description: Display name maxLength: 100 slug: type: string title: URL slug description: Name used in URLs and filenames. maxLength: 100 pattern: ^[-a-zA-Z0-9_]+$ id: type: integer readOnly: true source_language: $ref: '#/components/schemas/Language' project: allOf: - $ref: '#/components/schemas/Project' readOnly: true vcs: allOf: - $ref: '#/components/schemas/VcsEnum' title: Version control system description: 'Version control system to use to access your repository containing translations. You can also choose additional integration with third party providers to submit pull/merge requests. * `gerrit` - Gerrit * `git` - Git * `git-force-push` - Git with force push * `local` - No remote repository * `mercurial` - Mercurial * `subversion` - Subversion' repo: type: string maxLength: 300 git_export: type: string title: Exported repository URL description: URL of repository where users can fetch changes from Weblate maxLength: 220 branch: type: string maxLength: 200 push_branch: type: string maxLength: 200 filemask: type: string title: File mask description: 'Path of files to translate relative to repository root, use * instead of language code, for example: po/*.po or locale/*/LC_MESSAGES/django.po.' maxLength: 400 screenshot_filemask: type: string title: Screenshot file mask description: 'Path of screenshots relative to repository root, for example: docs/screenshots/*.png.' maxLength: 400 template: type: string title: Monolingual base language file description: Filename of translation base file, containing all strings and their source for monolingual translations. maxLength: 400 edit_template: type: boolean title: Edit base file description: Whether users will be able to edit the base file for monolingual translations. intermediate: type: string title: Intermediate language file description: Filename of intermediate translation file. In most cases this is a translation file provided by developers and is used when creating actual source strings. maxLength: 400 new_base: type: string title: Template for new translations description: Filename of file used for creating new translations. For gettext choose .pot file. maxLength: 400 file_format: $ref: '#/components/schemas/FileFormatEnum' file_format_params: title: File format parameters license: title: Translation license type: string maxLength: 150 examples: - MIT - GPL-3.0-or-later - Apache-2.0 - BSD-3-Clause - proprietary inherit_license: type: boolean title: Inherit translation license description: Use the translation license configured in the category or project. effective_license: type: string readOnly: true license_url: type: string readOnly: true announcements_url: type: string format: uri readOnly: true agreement: type: string title: Contributor license agreement description: Contributor license agreement which needs to be approved before a user can translate this component. inherit_agreement: type: boolean title: Inherit contributor license agreement description: Use the contributor license agreement configured in the category or project. effective_agreement: type: string readOnly: true web_url: type: string readOnly: true url: type: string format: uri readOnly: true repository_url: type: string format: uri readOnly: true translations_url: type: string format: uri readOnly: true statistics_url: type: string format: uri readOnly: true lock_url: type: string format: uri readOnly: true links_url: type: string format: uri readOnly: true changes_list_url: type: string format: uri readOnly: true task_url: type: - string - 'null' format: uri readOnly: true credits_url: type: string format: uri readOnly: true new_lang: allOf: - $ref: '#/components/schemas/NewLangEnum' title: Adding new translation description: 'How to handle requests for creating new translations. * `contact` - Contact maintainers * `url` - Point to translation instructions URL * `add` - Create new language file * `none` - Disable adding new translations' inherit_new_lang: type: boolean title: Inherit adding new translations description: Use the adding new translations setting configured in the category or project. effective_new_lang: type: string readOnly: true language_code_style: description: 'Customize language code used to generate the filename for translations created by Weblate. * `` - Default based on the file format * `posix` - POSIX style using underscore as a separator * `posix_lowercase` - POSIX style using underscore as a separator, lower cased * `bcp` - BCP style using hyphen as a separator * `posix_long` - POSIX style using underscore as a separator, including country code * `posix_long_lowercase` - POSIX style using underscore as a separator, including country code, lower cased * `bcp_long` - BCP style using hyphen as a separator, including country code * `bcp_legacy` - BCP style using hyphen as a separator, legacy language codes * `bcp_lower` - BCP style using hyphen as a separator, lower cased * `android` - Android style * `appstore` - Apple App Store metadata style * `googleplay` - Google Play metadata style * `linux` - Linux style * `linux_lowercase` - Linux style, lower cased' oneOf: - $ref: '#/components/schemas/LanguageCodeStyleEnum' - $ref: '#/components/schemas/BlankEnum' inherit_language_code_style: type: boolean description: Use the language code style configured in the category or project. effective_language_code_style: type: string readOnly: true push: type: string maxLength: 300 check_flags: type: string title: Translation flags description: Additional comma-separated flags to influence Weblate behavior. effective_check_flags: type: string readOnly: true priority: allOf: - $ref: '#/components/schemas/PriorityEnum' description: 'Components with higher priority are offered first to translators. * `60` - Very high * `80` - High * `100` - Medium * `120` - Low * `140` - Very low' minimum: -2147483648 maximum: 2147483647 enforced_checks: {} restricted: type: boolean title: Restricted component description: Restrict access to the component to only those explicitly given permission. repoweb: type: string title: Repository browser description: Link to repository browser, use {{branch}} for branch, {{filename}} and {{line}} as filename and line placeholders. You might want to strip leading directory by using {{filename|parentdir}}. maxLength: 200 report_source_bugs: type: string title: Source string bug reporting address description: E-mail address for reports on errors in source strings. Leave empty for no e-mails. format: email maxLength: 190 merge_style: allOf: - $ref: '#/components/schemas/MergeStyleEnum' description: 'Define whether Weblate should merge the upstream repository or rebase changes onto it. * `merge` - Merge * `rebase` - Rebase * `merge_noff` - Merge without fast-forward' commit_message: type: string title: Commit message when translating description: You can use template language for various info, please consult the documentation for more details. inherit_commit_message: type: boolean title: Inherit commit message when translating description: Use the commit message when translating configured in the category or project. effective_commit_message: type: string readOnly: true add_message: type: string title: Commit message when adding translation description: You can use template language for various info, please consult the documentation for more details. inherit_add_message: type: boolean title: Inherit commit message when adding translation description: Use the commit message when adding translation configured in the category or project. effective_add_message: type: string readOnly: true delete_message: type: string title: Commit message when removing translation description: You can use template language for various info, please consult the documentation for more details. inherit_delete_message: type: boolean title: Inherit commit message when removing translation description: Use the commit message when removing translation configured in the category or project. effective_delete_message: type: string readOnly: true merge_message: type: string title: Commit message when merging translation description: You can use template language for various info, please consult the documentation for more details. inherit_merge_message: type: boolean title: Inherit commit message when merging translation description: Use the commit message when merging translation configured in the category or project. effective_merge_message: type: string readOnly: true addon_message: type: string title: Commit message when add-on makes a change description: You can use template language for various info, please consult the documentation for more details. inherit_addon_message: type: boolean title: Inherit commit message when add-on makes a change description: Use the commit message when add-on makes a change configured in the category or project. effective_addon_message: type: string readOnly: true pull_message: type: string title: Merge request message description: You can use template language for various info, please consult the documentation for more details. inherit_pull_message: type: boolean title: Inherit merge request message description: Use the merge request message configured in the category or project. effective_pull_message: type: string readOnly: true allow_translation_propagation: type: boolean description: Whether translation updates in other components will cause automatic translation in this one manage_units: type: boolean title: Manage strings description: Enables adding and removing strings straight from Weblate. If your strings are extracted from the source code or managed externally you probably want to keep it disabled. enable_suggestions: type: boolean title: Turn on suggestions description: Whether to allow translation suggestions at all. suggestion_voting: type: boolean description: Users can only vote for suggestions and can’t make direct translations. suggestion_autoaccept: type: integer maximum: 32767 minimum: 0 title: Automatically accept suggestions description: Automatically accept suggestions with this number of votes, use 0 to turn it off. push_on_commit: type: boolean description: Whether the repository should be pushed upstream on every commit. commit_pending_age: type: integer maximum: 2160 minimum: -32768 title: Age of changes to commit description: Time in hours after which any pending changes will be committed to the VCS. auto_lock_error: type: boolean title: Lock on error description: Whether the component should be locked on repository errors. language_regex: type: string title: Language filter description: Regular expression used to filter translation files when scanning for file mask. maxLength: 500 key_filter: type: string description: Regular expression used to filter keys. This is only available for monolingual formats. maxLength: 500 secondary_language: type: - integer - 'null' description: Additional language to show together with the source language while translating. This setting is inherited from the project if left empty. inherit_secondary_language: type: boolean description: Use the secondary language configured in the category or project. effective_secondary_language: type: - integer - 'null' readOnly: true variant_regex: type: string title: Variants regular expression description: Regular expression used to determine variants of a string. maxLength: 190 zipfile: type: string format: uri docfile: type: string format: uri from_component: oneOf: - type: integer - type: string writeOnly: true addons: type: array items: type: string format: uri readOnly: true is_glossary: type: boolean title: Use as a glossary description: Glossaries are different from regular translations but help keep track of and share consistent terminology. glossary_color: $ref: '#/components/schemas/ColorEnum' disable_autoshare: type: boolean category: type: - string - 'null' format: uri linked_component: type: string format: uri readOnly: true locked: type: boolean readOnly: true required: - addons - announcements_url - changes_list_url - credits_url - effective_add_message - effective_addon_message - effective_agreement - effective_check_flags - effective_commit_message - effective_delete_message - effective_language_code_style - effective_license - effective_merge_message - effective_new_lang - effective_pull_message - effective_secondary_language - file_format - filemask - id - license_url - linked_component - links_url - lock_url - locked - name - project - repo - repository_url - slug - statistics_url - task_url - translations_url - url - web_url CommitPolicyEnum: enum: - 0 - 20 - 30 type: integer description: '* `0` - Commit all translations regardless of quality * `20` - Skip translations marked as needing editing * `30` - Only include approved translations' RepositoryOperation: type: object properties: result: type: boolean detail: type: string required: - result Error404: type: object properties: code: $ref: '#/components/schemas/ErrorCode404Enum' detail: type: string attr: type: - string - 'null' required: - attr - code - detail Project: type: object properties: name: type: string title: Project name description: Display name maxLength: 60 slug: type: string title: URL slug description: Name used in URLs and filenames. maxLength: 60 pattern: ^[-a-zA-Z0-9_]+$ id: type: integer readOnly: true web: type: string format: uri title: Project website description: Main website of translated project. maxLength: 200 web_url: type: string readOnly: true url: type: string format: uri readOnly: true check_flags: type: string title: Translation flags description: Additional comma-separated flags to influence Weblate behavior. effective_check_flags: type: string readOnly: true components_list_url: type: string format: uri readOnly: true repository_url: type: string format: uri readOnly: true statistics_url: type: string format: uri readOnly: true categories_url: type: string format: uri readOnly: true changes_list_url: type: string format: uri readOnly: true languages_url: type: string format: uri readOnly: true labels_url: type: string format: uri readOnly: true credits_url: type: string format: uri readOnly: true lock_url: type: string format: uri readOnly: true translation_review: type: boolean title: Enable reviews description: Requires dedicated reviewers to approve translations. source_review: type: boolean title: Enable source reviews description: Requires dedicated reviewers to approve source strings. commit_policy: allOf: - $ref: '#/components/schemas/CommitPolicyEnum' title: Translation quality filter description: 'Select which translations should be included when committing changes. More restrictive options will skip translations with potential quality issues. * `0` - Commit all translations regardless of quality * `20` - Skip translations marked as needing editing * `30` - Only include approved translations' minimum: -2147483648 maximum: 2147483647 workspace: type: - string - 'null' format: uuid instructions: type: string title: Translation instructions description: You can use Markdown and mention users by @username. enable_hooks: type: boolean description: Whether to allow updating this repository by remote hooks. language_aliases: type: string description: 'Comma-separated list of language code mappings, for example: en_GB:en,en_US:en' license: title: Translation license type: string maxLength: 150 examples: - MIT - GPL-3.0-or-later - Apache-2.0 - BSD-3-Clause - proprietary inherit_license: type: boolean title: Inherit translation license description: Use the translation license configured in the workspace. effective_license: type: string readOnly: true agreement: type: string title: Contributor license agreement description: Contributor license agreement which needs to be approved before a user can translate components in this project. inherit_agreement: type: boolean title: Inherit contributor license agreement description: Use the contributor license agreement configured in the workspace. effective_agreement: type: string readOnly: true new_lang: allOf: - $ref: '#/components/schemas/NewLangEnum' title: Adding new translation description: 'How to handle requests for creating new translations. * `contact` - Contact maintainers * `url` - Point to translation instructions URL * `add` - Create new language file * `none` - Disable adding new translations' inherit_new_lang: type: boolean title: Inherit adding new translations description: Use the adding new translations setting configured in the workspace. effective_new_lang: type: string readOnly: true language_code_style: description: 'Customize language code used to generate the filename for translations created by Weblate. * `` - Default based on the file format * `posix` - POSIX style using underscore as a separator * `posix_lowercase` - POSIX style using underscore as a separator, lower cased * `bcp` - BCP style using hyphen as a separator * `posix_long` - POSIX style using underscore as a separator, including country code * `posix_long_lowercase` - POSIX style using underscore as a separator, including country code, lower cased * `bcp_long` - BCP style using hyphen as a separator, including country code * `bcp_legacy` - BCP style using hyphen as a separator, legacy language codes * `bcp_lower` - BCP style using hyphen as a separator, lower cased * `android` - Android style * `appstore` - Apple App Store metadata style * `googleplay` - Google Play metadata style * `linux` - Linux style * `linux_lowercase` - Linux style, lower cased' oneOf: - $ref: '#/components/schemas/LanguageCodeStyleEnum' - $ref: '#/components/schemas/BlankEnum' inherit_language_code_style: type: boolean description: Use the language code style configured in the workspace. effective_language_code_style: type: string readOnly: true secondary_language: type: - integer - 'null' description: Additional language to show together with the source language while translating. inherit_secondary_language: type: boolean description: Use the secondary language configured in the workspace. effective_secondary_language: type: - integer - 'null' readOnly: true commit_message: type: string title: Commit message when translating description: You can use template language for various info, please consult the documentation for more details. inherit_commit_message: type: boolean title: Inherit commit message when translating description: Use the commit message when translating configured in the workspace. effective_commit_message: type: string readOnly: true add_message: type: string title: Commit message when adding translation description: You can use template language for various info, please consult the documentation for more details. inherit_add_message: type: boolean title: Inherit commit message when adding translation description: Use the commit message when adding translation configured in the workspace. effective_add_message: type: string readOnly: true delete_message: type: string title: Commit message when removing translation description: You can use template language for various info, please consult the documentation for more details. inherit_delete_message: type: boolean title: Inherit commit message when removing translation description: Use the commit message when removing translation configured in the workspace. effective_delete_message: type: string readOnly: true merge_message: type: string title: Commit message when merging translation description: You can use template language for various info, please consult the documentation for more details. inherit_merge_message: type: boolean title: Inherit commit message when merging translation description: Use the commit message when merging translation configured in the workspace. effective_merge_message: type: string readOnly: true addon_message: type: string title: Commit message when add-on makes a change description: You can use template language for various info, please consult the documentation for more details. inherit_addon_message: type: boolean title: Inherit commit message when add-on makes a change description: Use the commit message when add-on makes a change configured in the workspace. effective_addon_message: type: string readOnly: true pull_message: type: string title: Merge request message description: You can use template language for various info, please consult the documentation for more details. inherit_pull_message: type: boolean title: Inherit merge request message description: Use the merge request message configured in the workspace. effective_pull_message: type: string readOnly: true enforced_2fa: type: boolean title: Enforced two-factor authentication description: Requires contributors to have two-factor authentication configured before being able to contribute. machinery_settings: type: string format: uri readOnly: true locked: type: boolean readOnly: true announcements_url: type: string format: uri readOnly: true required: - announcements_url - categories_url - changes_list_url - components_list_url - credits_url - effective_add_message - effective_addon_message - effective_agreement - effective_check_flags - effective_commit_message - effective_delete_message - effective_language_code_style - effective_license - effective_merge_message - effective_new_lang - effective_pull_message - effective_secondary_language - id - labels_url - languages_url - lock_url - locked - machinery_settings - name - repository_url - slug - statistics_url - url - web - web_url ErrorResponse500: type: object properties: type: $ref: '#/components/schemas/ServerErrorEnum' errors: type: array items: $ref: '#/components/schemas/Error500' required: - errors - type ErrorCode423Enum: enum: - repository-locked - component-locked - unknown-locked type: string description: '* `repository-locked` - Repository Locked * `component-locked` - Component Locked * `unknown-locked` - Unknown Locked' ErrorCode405Enum: enum: - method_not_allowed type: string description: '* `method_not_allowed` - Method Not Allowed' ClientErrorEnum: enum: - client_error type: string description: '* `client_error` - Client Error' headers: X-RateLimit-Reset: schema: type: integer description: Number of seconds until the rate-limit window resets required: true X-RateLimit-Remaining: schema: type: integer description: Remaining number of requests to perform required: true X-RateLimit-Limit: schema: type: integer description: Allowed number of requests to perform required: true securitySchemes: bearerAuth: type: apiKey in: header name: Bearer description: "Token-based authentication with required prefix `Bearer`.\n\n- Each user has a personal access token which they can get from their respective user profile. These tokens have the `wlu_` prefix.\n- It is possible to create project tokens whose access to the API is limited to operations to their associated project. These tokens have the `wlp_` prefix.\n " cookieAuth: type: apiKey in: cookie name: sessionid description: Session-based authentication used when user is signed in. tokenAuth: type: apiKey in: header name: Token description: "Token-based authentication with required prefix `Token`.\n\n- Each user has a personal access token which they can get from their respective user profile. These tokens have the `wlu_` prefix.\n- It is possible to create project tokens whose access to the API is limited to operations to their associated project. These tokens have the `wlp_` prefix.\n " externalDocs: url: https://docs.weblate.org/en/latest/index.html description: Official Weblate documentation