Schemathesis v4.29.4
━━━━━━━━━━━━━━━━━━━━
✅ Loaded specification from http://0.0.0.0:35909/api/schema/?format=json (in
0.76s)
Base URL: http://0.0.0.0:35909
Specification: Open API 3.1.1
Operations: 145 selected / 160 total
Configuration: /home/stranger6667/data/programming/workbench/target
s/weblate/schemathesis.toml
Dictionaries: 7 dictionaries / 15 entries
✅ API capabilities:
Supports NULL byte in headers: ✘
Accepts backslash and control characters in URL paths: ✓
❌ Examples (in 0.36s)
❌ 2 failed ⏭ 143 skipped
❌ Coverage (in 149.65s)
✅ 77 passed ❌ 68 failed
❌ Fuzzing (in 649.78s)
✅ 30 passed ❌ 115 failed
❌ Stateful (in 2800.16s)
Scenarios: 50685
API Links: 245 covered / 1501 selected / 1501 total
✅ 50258 passed ❌ 427 failed
=================================== FAILURES ===================================
_________ DELETE /api/groups/{id}/componentlists/{component_list_id}/ __________
1. Test Case ID: cL869u
- Undocumented Content-Type
Received: text/html; charset=utf-8
Documented: application/json, text/csv
[404] Not Found:
`
Page Not Found @ Weblate
Page Not Found @ Weblate
Page Not Found @ Weblate
Page Not Found @ Weblate
Page Not Found @ Weblate
Page Not Found @ Weblate
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/addons/?format=csv'
_____________________________ GET /api/categories/ _____________________________
1. Test Case ID: KZzBis
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedCategoryList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedCategoryList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/categories/?page_size=null&page_size=null'
2. Test Case ID: iIDyKh
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/categories/?format=csv'
______________________________ GET /api/changes/ _______________________________
1. Test Case ID: vTnn6V
- Response violates schema (7 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Change/properties/author:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Change/properties/component:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Change/properties/translation:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Change/properties/unit:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Change/properties/user:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedChangeList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedChangeList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
[200] OK:
`{"count":18,"next":null,"previous":null,"results":[{"unit":null,"component":"http://localhost:35909/api/components/workbench/glossary/","translation":"http://localhost:35909/api/translations/workbench/glossary/de/","user":null,"author":null,"timestamp":"2026-10-07T06:14:59.023260Z","action":0,"target":"","old":"","details":{"reason":"new file","filename":"de.tbx"},"id":18,"action_name":"Resource updated","url":"http://localhost:35909/api/changes/18/"},{"unit":null,"component":"http://localhost:35909/api/com // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/changes/?user='
2. Test Case ID: PMvDj0
- Server error
[500] Internal Server Error:
`errors.0.attr,errors.0.code,errors.0.detail,type
,error,Server Error (500),server_error`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/changes/?page_size=3572639366&action=5&action=52&action=42&action=81&action=23&action=3&action=26&action=49&action=71&action=27&action=4&action=74&action=73&page=102&format=csv×tamp_before=2438-11-23T03%3A14%3A50.13231-23%3A13×tamp_after=4511-11-08T08%3A13%3A02Z&user=%C2%A2%C3%9B%C3%86'
3. Test Case ID: 5kiZKb
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - violates `type` at /properties/page_size (was integer, became null)
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/changes/?page_size=null×tamp_after=1735-04-25T00%3A26%3A44.3Z&user=×tamp_before=0620-02-08T03%3A43%3A27Z'
____________________________ GET /api/changes/{id}/ ____________________________
1. Test Case ID: DeheWb
- Response violates schema (3 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Change/properties/component:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Change/properties/translation:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Change/properties/unit:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
[200] OK:
`{"unit":null,"component":null,"translation":null,"user":"http://localhost:35909/api/users/admin/","author":"http://localhost:35909/api/users/admin/","timestamp":"2026-10-07T06:14:57.556966Z","action":50,"target":"","old":"","details":{},"id":1,"action_name":"Project created","url":"http://localhost:35909/api/changes/1/"}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/changes/1/
2. Test Case ID: zDxswu
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Change/properties/author:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Change/properties/user:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
[200] OK:
`{"unit":null,"component":"http://localhost:35909/api/components/workbench/strings/?format=json","translation":null,"user":null,"author":null,"timestamp":"2026-10-07T06:14:58.618576Z","action":21,"target":"","old":"","details":{"new_head":"a87a0389353c9c39e82d722e59c4cd37998b73c0","previous_head":"a87a0389353c9c39e82d722e59c4cd37998b73c0"},"id":3,"action_name":"Repository rebased","url":"http://localhost:35909/api/changes/3/?format=json"}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/changes/3/?format=json'
3. Test Case ID: ZmTDSm
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"unit":null,"component":"http://localhost:35909/api/components/workbench/strings/?format=","translation":null,"user":"http://localhost:35909/api/users/admin/?format=","author":"http://localhost:35909/api/users/admin/?format=","timestamp":"2026-10-07T06:14:58.589913Z","action":51,"target":"","old":"","details":{"origin":"api"},"id":2,"action_name":"Component created","url":"http://localhost:35909/api/changes/2/?format="}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/changes/2/?format='
__________________________ GET /api/component-lists/ ___________________________
1. Test Case ID: BZc32C
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedComponentListList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedComponentListList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/component-lists/?page_size=null&page_size=null'
2. Test Case ID: DaBURY
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/component-lists/?format=csv'
_________________ GET /api/component-lists/{slug}/components/ __________________
1. Test Case ID: ohU7je
- Response violates schema
"auto_assign" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/ComponentList:
{
"required": [
"auto_assign",
"components",
"id",
"name",
"slug",
"url"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"title": "Component list name",
"description": "Display name",
"maxLength": 100
},
"slug": {
"type": "string",
// Output truncated...
}
Value:
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/component-lists/0/components/?format=json'
2. Test Case ID: tWkeh4
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/component-lists/0/components/?format=csv'
3. Test Case ID: MRS84B
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/component-lists/_S/components/?format='
_____________________________ GET /api/components/ _____________________________
1. Test Case ID: oCKi2X
- Response violates schema (5 violations)
"" is not a "email"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/report_source_bugs:
{
"format": "email",
"type": "string",
"title": "Source string bug reporting address",
"description": "E-mail address for reports on errors in source strings. L...
"maxLength": 190
}
Value:
""
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/license_url:
{
"type": "string",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/linked_component:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedComponentList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedComponentList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":2,"next":null,"previous":null,"results":[{"name":"Strings","slug":"strings","id":1,"source_language":{"id":179,"code":"en","name":"English","plural":{"id":179,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["base","en_en","en_us","eng","enp","source"],"direction":"ltr","population":1728003224,"web_url":"http://localhost:35909/languages/en/","url":"http://localhost:35909/api/languages/en/","statistics_url":"http://localhost:35909/api/languages/en/statistics/"},"project":{"name":"Workbe // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/?page_size=null&page_size=null'
_________________ GET /api/components/{project__slug}/{slug}/ __________________
1. Test Case ID: P9HT7O
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/license_url:
{
"type": "string",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/linked_component:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
[200] OK:
`{"name":"Strings","slug":"strings","id":1,"source_language":{"id":179,"code":"en","name":"English","plural":{"id":179,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["base","en_en","en_us","eng","enp","source"],"direction":"ltr","population":1728003224,"web_url":"http://localhost:35909/languages/en/","url":"http://localhost:35909/api/languages/en/","statistics_url":"http://localhost:35909/api/languages/en/statistics/"},"project":{"name":"Workbench","slug":"workbench","id":1,"web":"https://0.co // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/components/workbench/strings/
2. Test Case ID: NB2ibk
- Response violates schema
"" is not a "email"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/report_source_bugs:
{
"format": "email",
"type": "string",
"title": "Source string bug reporting address",
"description": "E-mail address for reports on errors in source strings. L...
"maxLength": 190
}
Value:
""
[200] OK:
`{"name":"Workbench","slug":"glossary","id":2,"source_language":{"id":179,"code":"en","name":"English","plural":{"id":179,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["base","en_en","en_us","eng","enp","source"],"direction":"ltr","population":1728003224,"web_url":"http://localhost:35909/languages/en/","url":"http://localhost:35909/api/languages/en/","statistics_url":"http://localhost:35909/api/languages/en/statistics/"},"project":{"name":"Workbench","slug":"workbench","id":1,"web":"https://0 // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/components/workbench/glossary/
_____________ GET /api/components/{project__slug}/{slug}/changes/ ______________
1. Test Case ID: BxpwY7
- Response violates schema
"addons" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Component:
{
"required": [
"addons",
"changes_list_url",
"credits_url",
"file_format",
"filemask",
"id",
"license_url",
"linked_component",
"links_url",
"lock_url",
"locked",
"name",
"project",
"repo",
"repository_url",
"slug",
"statistics_url",
// Output truncated...
}
Value:
{
"count": 170,
"next": "http://localhost:35909/api/components/workbench/strings/changes/...
"previous": null,
"results": [
{
"action": 3,
"action_name": "Comment added",
"author": "http://localhost:35909/api/users/admin/",
"component": "http://localhost:35909/api/components/workbench/str...
"details": {
"comment": "0"
},
"id": 290,
"old": "",
"target": "",
"timestamp": "2026-10-07T06:18:42.695636Z",
"translation": "http://localhost:35909/api/translations/workbench...
"unit": "http://localhost:35909/api/units/1/",
// Output truncated...
}
[200] OK:
`{"count":170,"next":"http://localhost:35909/api/components/workbench/strings/changes/?page=2","previous":null,"results":[{"unit":"http://localhost:35909/api/units/1/","component":"http://localhost:35909/api/components/workbench/strings/","translation":"http://localhost:35909/api/translations/workbench/strings/en/","user":"http://localhost:35909/api/users/admin/","author":"http://localhost:35909/api/users/admin/","timestamp":"2026-10-07T06:18:42.695636Z","action":3,"target":"","old":"","details":{"comment":" // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/components/workbench/strings/changes/
2. Test Case ID: RnB9mV
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"count":430,"next":"http://localhost:35909/api/components/workbench/strings/changes/?format=&page=2","previous":null,"results":[{"unit":"http://localhost:35909/api/units/1/?format=","component":"http://localhost:35909/api/components/workbench/strings/?format=","translation":"http://localhost:35909/api/translations/workbench/strings/en/?format=","user":"http://localhost:35909/api/users/admin/?format=","author":"http://localhost:35909/api/users/admin/?format=","timestamp":"2026-10-07T07:09:30.367190Z","actio // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/strings/changes/?format='
_____________ GET /api/components/{project__slug}/{slug}/credits/ ______________
1. Test Case ID: nSgGvJ
- Response violates schema
{"errors":[{"attr":"start","code":"invalid","detail":"Invalid format for `start`"}],"type":"validation_error"} is not valid under any of the schemas listed in the 'oneOf' keyword
Validated against the response schema for status code 400.
Schema at /components/schemas/ApiComponentsCreditsRetrieveErrorResponse400:
{
"oneOf": [
{
"$ref": "#/components/schemas/ParseErrorResponse"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"client_error": "#/components/schemas/ParseErrorResponse"
}
}
}
Value:
{
"errors": [
{
"attr": "start",
"code": "invalid",
"detail": "Invalid format for `start`"
}
],
"type": "validation_error"
}
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"Invalid format for `start`","attr":"start"}]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/components/workbench/glossary/credits/
_______________ GET /api/components/{project__slug}/{slug}/file/ _______________
1. Test Case ID: TfX8uw
- Undocumented Content-Type
Received: application/zip
Documented: application/json, text/csv
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/strings/file/?format=json'
2. Test Case ID: Tcaxq9
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/glossary/file/?format=%F3%81%B0%99B%C3%B8'
______________ GET /api/components/{project__slug}/{slug}/links/ _______________
1. Test Case ID: JzH1fF
- Response violates schema
"addons" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Component:
{
"required": [
"addons",
"changes_list_url",
"credits_url",
"file_format",
"filemask",
"id",
"license_url",
"linked_component",
"links_url",
"lock_url",
"locked",
"name",
"project",
"repo",
"repository_url",
"slug",
"statistics_url",
// Output truncated...
}
Value:
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/components/workbench/glossary/links/
2. Test Case ID: 0i15AZ
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/strings/links/?format=csv'
3. Test Case ID: j4pSph
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/glossary/links/?format='
_______________ GET /api/components/{project__slug}/{slug}/lock/ _______________
1. Test Case ID: vQwW0G
- Response violates schema
"lock" is a required property
Validated against the response schema for status code 200.
Schema:
{
"required": [
"lock"
],
"type": "object",
"properties": {
"lock": {
"type": "boolean"
}
}
}
Value:
{
"locked": false
}
[200] OK:
`{"locked":false}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/components/workbench/strings/lock/
2. Test Case ID: yXbBxv
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"locked":false}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/glossary/lock/?format='
___________ GET /api/components/{project__slug}/{slug}/new_template/ ___________
1. Test Case ID: FxVDJD
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
msgid "Hello"
msgstr ""
msgid "World"
msgstr ""`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/strings/new_template/?format='
____________ GET /api/components/{project__slug}/{slug}/repository/ ____________
1. Test Case ID: 0SL6l1
- Response violates schema
"operation" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/RepoRequest:
{
"required": [
"operation"
],
"type": "object",
"properties": {
"operation": {
"$ref": "#/components/schemas/OperationEnum"
}
}
}
Value:
{
"merge_failure": null,
"needs_commit": false,
"needs_merge": false,
"needs_push": false,
"remote_commit": null,
"status": "On branch main\nnothing to commit, working tree clean\n",
"url": "http://localhost:35909/api/components/workbench/glossary/reposito...
"weblate_commit": null
}
[200] OK:
`{"needs_commit":false,"needs_merge":false,"needs_push":false,"url":"http://localhost:35909/api/components/workbench/glossary/repository/","remote_commit":null,"weblate_commit":null,"status":"On branch main\nnothing to commit, working tree clean\n","merge_failure":null}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/components/workbench/glossary/repository/
2. Test Case ID: olwCIz
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"needs_commit":false,"needs_merge":false,"needs_push":false,"url":"http://localhost:35909/api/components/workbench/strings/repository/?format=","remote_commit":null,"weblate_commit":null,"status":"On branch main\nnothing to commit, working tree clean\n","merge_failure":null}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/strings/repository/?format='
___________ GET /api/components/{project__slug}/{slug}/screenshots/ ____________
1. Test Case ID: 4MM5gm
- Response violates schema
"addons" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Component:
{
"required": [
"addons",
"changes_list_url",
"credits_url",
"file_format",
"filemask",
"id",
"license_url",
"linked_component",
"links_url",
"lock_url",
"locked",
"name",
"project",
"repo",
"repository_url",
"slug",
"statistics_url",
// Output truncated...
}
Value:
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/strings/screenshots/?format=json'
2. Test Case ID: S0puny
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/strings/screenshots/?format=csv'
3. Test Case ID: qcB2ug
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/glossary/screenshots/?format='
____________ GET /api/components/{project__slug}/{slug}/statistics/ ____________
1. Test Case ID: YVUPEO
- Response violates schema
"addons" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Component:
{
"required": [
"addons",
"changes_list_url",
"credits_url",
"file_format",
"filemask",
"id",
"license_url",
"linked_component",
"links_url",
"lock_url",
"locked",
"name",
"project",
"repo",
"repository_url",
"slug",
"statistics_url",
// Output truncated...
}
Value:
{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"approved": 0,
"approved_chars": 0,
"approved_chars_percent": 0.0,
"approved_percent": 0.0,
"approved_words": 0,
"approved_words_percent": 0.0,
"code": "en",
"comments": 2,
"failing": 0,
"failing_percent": 0.0,
"fuzzy": 0,
"fuzzy_chars": 0,
"fuzzy_chars_percent": 0.0,
// Output truncated...
}
[200] OK:
`{"count":3,"next":null,"previous":null,"results":[{"total":2,"total_words":2,"total_chars":10,"last_change":"2026-10-07T06:18:42.695636Z","recent_changes":0,"translated":2,"translated_words":2,"translated_percent":100.0,"translated_words_percent":100.0,"translated_chars":10,"translated_chars_percent":100.0,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":0.0,"approved_words":0," // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/components/workbench/strings/statistics/
2. Test Case ID: klm8E4
- Response violates schema
[{"approved":0,"approved_chars":0,"approved_chars_percent":0.0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"code":"en","comments":0,"failing":0,"failing_percent":0.0,"fuzzy":0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"last_change":null,"name":"English","readonly":0,"readonly_chars":0,"readonly_chars_percent":0.0,"readonly_percent":0.0,"readonly_words":0,"readonly_words_percent":0.0,"recent_changes":0,"suggestions":0,"total":0,"total_chars":0,"total_words":0,"translate_url":"http://localhost:35909/translate/workbench/glossary/en/","translated":0,"translated_chars":0,"translated_chars_percent":100.0,"translated_percent":100.0,"translated_words":0,"translated_words_percent":100.0,"url":"http://localhost:35909/projects/workbench/glossary/en/"},{"approved":0,"approved_chars":0,"approved_chars_percent":0.0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"code":"cs","comments":0,"failing":0,"failing_percent":0.0,"fuzzy":0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"last_change":"2026-10-07T06:18:26.345808Z","name":"Czech","readonly":0,"readonly_chars":0,"readonly_chars_percent":0.0,"readonly_percent":0.0,"readonly_words":0,"readonly_words_percent":0.0,"recent_changes":0,"suggestions":0,"total":0,"total_chars":0,"total_words":0,"translate_url":"http://localhost:35909/translate/workbench/glossary/cs/","translated":0,"translated_chars":0,"translated_chars_percent":100.0,"translated_percent":100.0,"translated_words":0,"translated_words_percent":100.0,"url":"http://localhost:35909/projects/workbench/glossary/cs/"},{"approved":0,"approved_chars":0,"approved_chars_percent":0.0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"code":"de","comments":0,"failing":0,"failing_percent":0.0,"fuzzy":0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"last_change":"2026-10-07T06:18:26.351479Z","name":"Auth","readonly":0,"readonly_chars":0,"readonly_chars_percent":0.0,"readonly_percent":0.0,"readonly_words":0,"readonly_words_percent":0.0,"recent_changes":0,"suggestions":0,"total":0,"total_chars":0,"total_words":0,"translate_url":"http://localhost:35909/translate/workbench/glossary/de/","translated":0,"translated_chars":0,"translated_chars_percent":100.0,"translated_percent":100.0,"translated_words":0,"translated_words_percent":100.0,"url":"http://localhost:35909/projects/workbench/glossary/de/"}] is not of type "object"
Validated against the response schema for status code 200.
Schema at /components/schemas/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
// Output truncated...
}
Value:
[
{
"approved": 0,
"approved_chars": 0,
"approved_chars_percent": 0.0,
"approved_percent": 0.0,
"approved_words": 0,
"approved_words_percent": 0.0,
"code": "en",
"comments": 0,
"failing": 0,
"failing_percent": 0.0,
"fuzzy": 0,
"fuzzy_chars": 0,
"fuzzy_chars_percent": 0.0,
"fuzzy_percent": 0.0,
"fuzzy_words": 0,
"fuzzy_words_percent": 0.0,
"last_change": null,
// Output truncated...
]
[200] OK:
`[{"total":0,"total_words":0,"total_chars":0,"last_change":null,"recent_changes":0,"translated":0,"translated_words":0,"translated_percent":100.0,"translated_words_percent":100.0,"translated_chars":0,"translated_chars_percent":100.0,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"approved_chars":0,"approved_chars_percent":0.0, // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/glossary/statistics/?format=json-flat'
___________ GET /api/components/{project__slug}/{slug}/translations/ ___________
1. Test Case ID: A9UphN
- Response violates schema
"addons" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Component:
{
"required": [
"addons",
"changes_list_url",
"credits_url",
"file_format",
"filemask",
"id",
"license_url",
"linked_component",
"links_url",
"lock_url",
"locked",
"name",
"project",
"repo",
"repository_url",
"slug",
"statistics_url",
// Output truncated...
}
Value:
{
"count": 3,
"next": null,
"previous": null,
"results": [
{
"changes_list_url": "http://localhost:35909/api/translations/work...
"failing_checks": 0,
"failing_checks_percent": 0.0,
"failing_checks_words": 0,
"file_url": "http://localhost:35909/api/translations/workbench/st...
"filename": "po/messages.pot",
"fuzzy": 0,
"fuzzy_percent": 0.0,
"fuzzy_words": 0,
"have_comment": 2,
"have_suggestion": 0,
"id": 1,
"is_source": true,
// Output truncated...
}
[200] OK:
`{"count":3,"next":null,"previous":null,"results":[{"language":{"id":179,"code":"en","name":"English","plural":{"id":179,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["base","en_en","en_us","eng","enp","source"],"direction":"ltr","population":1728003224,"web_url":"http://localhost:35909/languages/en/","url":"http://localhost:35909/api/languages/en/","statistics_url":"http://localhost:35909/api/languages/en/statistics/"},"language_code":"en","id":1,"filename":"po/messages.pot","revision":"0da7 // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/components/workbench/strings/translations/
_______________________________ GET /api/groups/ _______________________________
1. Test Case ID: KqNDcU
- Response violates schema (3 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Group/properties/defining_project:
{
"type": "string",
"format": "uri"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedGroupList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedGroupList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":7,"next":null,"previous":null,"results":[{"id":1,"name":"Guests","defining_project":null,"project_selection":3,"language_selection":1,"url":"http://localhost:35909/api/groups/1/","roles":["http://localhost:35909/api/roles/3/","http://localhost:35909/api/roles/4/"],"languages":[],"projects":[],"componentlists":[],"components":[],"enforced_2fa":false},{"id":2,"name":"Viewers","defining_project":null,"project_selection":4,"language_selection":1,"url":"http://localhost:35909/api/groups/2/","roles":[]," // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/groups/?page_size=null&page_size=null'
____________________________ GET /api/groups/{id}/ _____________________________
1. Test Case ID: iaQ4m3
- Response violates schema
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Group/properties/defining_project:
{
"type": "string",
"format": "uri"
}
Value:
null
[200] OK:
`{"id":1,"name":"Guests","defining_project":null,"project_selection":3,"language_selection":1,"url":"http://localhost:35909/api/groups/1/","roles":["http://localhost:35909/api/roles/3/","http://localhost:35909/api/roles/4/"],"languages":[],"projects":[],"componentlists":[],"components":[],"enforced_2fa":false}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/groups/1/
2. Test Case ID: 9MzDID
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"id":1,"name":"Guests","defining_project":null,"project_selection":3,"language_selection":1,"url":"http://localhost:35909/api/groups/1/?format=","roles":["http://localhost:35909/api/roles/3/?format=","http://localhost:35909/api/roles/4/?format="],"languages":[],"projects":[],"componentlists":[],"components":[],"enforced_2fa":false}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/groups/1/?format='
_____________________________ GET /api/languages/ ______________________________
1. Test Case ID: xTbVX3
- Response violates schema
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedLanguageList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":779,"next":"http://localhost:35909/api/languages/?page=2&page_size=null&page_size=null","previous":null,"results":[{"id":1,"code":"aa","name":"Afar","plural":{"id":1,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["aar"],"direction":"ltr","population":2305971,"web_url":"http://localhost:35909/languages/aa/","url":"http://localhost:35909/api/languages/aa/","statistics_url":"http://localhost:35909/api/languages/aa/statistics/"},{"id":2,"code":"ab","name":"Abkhazian","plural":{"id":2,"so // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/languages/?page_size=null&page_size=null'
2. Test Case ID: yXWzHN
- Response violates schema (2 violations)
"ca@valencia" does not match "^[-a-zA-Z0-9_]+$"
Validated against the response schema for status code 200.
Schema at /components/schemas/Language/properties/code:
{
"pattern": "^[-a-zA-Z0-9_]+$",
"type": "string",
"title": "Language code",
"maxLength": 50
}
Value:
"ca@valencia"
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedLanguageList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
[200] OK:
`{"count":778,"next":null,"previous":null,"results":[{"id":1,"code":"aa","name":"0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","plural":{"id":1,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["aar"],"direction":"ltr","population":0,"web_url":"http://localhost:35909/languages/aa/","url":"http://localhost:35909/api/languages/aa/?format=json","statistics_url":"http://localhost:35909/api/languages/aa/statistics/?format=json"},{"id":2,"code":"a // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/languages/?page_size=14191&format=json'
__________________________ GET /api/languages/{code}/ __________________________
1. Test Case ID: AbXBjt
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"id":179,"code":"en","name":"English","plural":{"id":179,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["base","en_en","en_us","eng","enp","source"],"direction":"ltr","population":1728003224,"web_url":"http://localhost:35909/languages/en/","url":"http://localhost:35909/api/languages/en/?format=","statistics_url":"http://localhost:35909/api/languages/en/statistics/?format="}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/languages/en/?format='
____________________ GET /api/languages/{code}/statistics/ _____________________
1. Test Case ID: KaIkPn
- Response violates schema
"aliases" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Language:
{
"required": [
"aliases",
"code",
"id",
"statistics_url",
"url",
"web_url"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"code": {
"type": "string",
"title": "Language code",
"maxLength": 50,
// Output truncated...
}
Value:
{
"approved": 0,
"approved_chars": 0,
"approved_chars_percent": 100.0,
"approved_percent": 100.0,
"approved_words": 0,
"approved_words_percent": 100.0,
"comments": 0,
"failing": 0,
"failing_percent": 0.0,
"fuzzy": 0,
"fuzzy_chars": 0,
"fuzzy_chars_percent": 0.0,
"fuzzy_percent": 0.0,
"fuzzy_words": 0,
"fuzzy_words_percent": 0.0,
"last_change": null,
"name": "Abron",
"readonly": 0,
// Output truncated...
}
[200] OK:
`{"total":0,"total_words":0,"total_chars":0,"last_change":null,"recent_changes":0,"translated":0,"translated_words":0,"translated_percent":0.0,"translated_words_percent":0.0,"translated_chars":0,"translated_chars_percent":0.0,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":100.0,"approved_words":0,"approved_words_percent":100.0,"approved_chars":0,"approved_chars_percent":100.0," // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/languages/abr/statistics/?format=json-flat'
2. Test Case ID: Y6pUcO
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"total":2,"total_words":2,"total_chars":10,"last_change":"2026-10-07T06:18:38.080764Z","recent_changes":0,"translated":0,"translated_words":0,"translated_percent":0.0,"translated_words_percent":0.0,"translated_chars":0,"translated_chars_percent":0.0,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"approved_chars":0,"approved_ // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/languages/de/statistics/?format='
_______________________________ GET /api/memory/ _______________________________
1. Test Case ID: yy1Y05
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedMemoryList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedMemoryList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/memory/?page_size=null&page_size=null'
2. Test Case ID: 85lFAw
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/memory/?format=csv'
______________________________ GET /api/metrics/ _______________________________
1. Test Case ID: am21qm
- Undocumented HTTP status code
Received: 404
Documented: 400, 401, 405, 406, 415, 423, 429, 500, 200
[404] Not Found:
`{"type":"client_error","errors":[{"code":"not_found","detail":"Not found.","attr":null}]}`
Reproduce with:
curl -X GET -H 'Token: [Filtered]' -H 'Bearer;' -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:35909/api/metrics/?format=AAA'
2. Test Case ID: ePZ8FM
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"units":6,"units_translated":2,"users":5,"changes":0,"projects":1,"components":2,"translations":6,"languages":778,"checks":0,"configuration_errors":3,"suggestions":0,"celery_queues":{"memory":0,"translate":0,"notify":0,"backup":0,"celery":0},"name":"Weblate"}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/metrics/?format='
______________________________ GET /api/projects/ ______________________________
1. Test Case ID: ECmRC1
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedProjectList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedProjectList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":1,"next":null,"previous":null,"results":[{"name":"Workbench","slug":"workbench","id":1,"web":"https://example.com","web_url":"http://localhost:35909/projects/workbench/","url":"http://localhost:35909/api/projects/workbench/","check_flags":"","components_list_url":"http://localhost:35909/api/projects/workbench/components/","repository_url":"http://localhost:35909/api/projects/workbench/repository/","statistics_url":"http://localhost:35909/api/projects/workbench/statistics/","categories_url":"http:// // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/?page_size=null&page_size=null'
_____________________ GET /api/projects/{slug}/categories/ _____________________
1. Test Case ID: Mo8dr8
- Response violates schema
"categories_url" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Project:
{
"required": [
"categories_url",
"changes_list_url",
"components_list_url",
"credits_url",
"id",
"labels_url",
"languages_url",
"lock_url",
"locked",
"machinery_settings",
"name",
"repository_url",
"slug",
"statistics_url",
"url",
"web",
"web_url"
// Output truncated...
}
Value:
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/categories/?format=json'
2. Test Case ID: ueb3lR
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/categories/?format=csv'
3. Test Case ID: 3SAAXM
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/categories/?format='
______________________ GET /api/projects/{slug}/changes/ _______________________
1. Test Case ID: dd01ye
- Response violates schema
"categories_url" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Project:
{
"required": [
"categories_url",
"changes_list_url",
"components_list_url",
"credits_url",
"id",
"labels_url",
"languages_url",
"lock_url",
"locked",
"machinery_settings",
"name",
"repository_url",
"slug",
"statistics_url",
"url",
"web",
"web_url"
// Output truncated...
}
Value:
{
"count": 109,
"next": "http://localhost:35909/api/projects/workbench/changes/?format=js...
"previous": null,
"results": [
{
"action": 0,
"action_name": "Resource updated",
"author": null,
"component": "http://localhost:35909/api/components/workbench/glo...
"details": {
"filename": "de.tbx",
"reason": "check forced"
},
"id": 109,
"old": "",
"target": "",
"timestamp": "2026-10-07T06:16:03.444570Z",
"translation": "http://localhost:35909/api/translations/workbench...
// Output truncated...
}
[200] OK:
`{"count":109,"next":"http://localhost:35909/api/projects/workbench/changes/?format=json&page=2","previous":null,"results":[{"unit":null,"component":"http://localhost:35909/api/components/workbench/glossary/?format=json","translation":"http://localhost:35909/api/translations/workbench/glossary/de/?format=json","user":null,"author":null,"timestamp":"2026-10-07T06:16:03.444570Z","action":0,"target":"","old":"","details":{"reason":"check forced","filename":"de.tbx"},"id":109,"action_name":"Resource updated","ur // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/changes/?format=json'
2. Test Case ID: PzH7a1
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"count":287,"next":"http://localhost:35909/api/projects/workbench/changes/?format=&page=2","previous":null,"results":[{"unit":"http://localhost:35909/api/units/1/?format=","component":"http://localhost:35909/api/components/workbench/strings/?format=","translation":"http://localhost:35909/api/translations/workbench/strings/en/?format=","user":"http://localhost:35909/api/users/admin/?format=","author":"http://localhost:35909/api/users/admin/?format=","timestamp":"2026-10-07T06:18:42.695636Z","action":3,"targ // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/changes/?format='
_____________________ GET /api/projects/{slug}/components/ _____________________
1. Test Case ID: ASAwo5
- Response violates schema
"addons" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Component:
{
"required": [
"addons",
"changes_list_url",
"credits_url",
"file_format",
"filemask",
"id",
"license_url",
"linked_component",
"links_url",
"lock_url",
"locked",
"name",
"project",
"repo",
"repository_url",
"slug",
"statistics_url",
// Output truncated...
}
Value:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"add_message": "Added translation using Weblate ({{ language_name...
"addon_message": "Update translation files\n\nUpdated by \"{{ add...
"addons": [],
"agreement": "",
"allow_translation_propagation": false,
"auto_lock_error": false,
"branch": "main",
"category": null,
"changes_list_url": "http://localhost:35909/api/components/workbe...
"check_flags": "",
"commit_message": "Translated using Weblate ({{ language_name }})...
"commit_pending_age": 24,
"credits_url": "http://localhost:35909/api/components/workbench/s...
// Output truncated...
}
[200] OK:
`{"count":2,"next":null,"previous":null,"results":[{"name":"Strings","slug":"strings","id":1,"source_language":{"id":179,"code":"en","name":"English","plural":{"id":179,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["base","en_en","en_us","eng","enp","source"],"direction":"ltr","population":1728003224,"web_url":"http://localhost:35909/languages/en/","url":"http://localhost:35909/api/languages/en/?format=json","statistics_url":"http://localhost:35909/api/languages/en/statistics/?format=json"}," // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/components/?format=json'
2. Test Case ID: zpnXbG
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/00/components/?format=csv'
3. Test Case ID: NiqIW5
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/00/components/?format='
______________________ GET /api/projects/{slug}/credits/ _______________________
1. Test Case ID: J6xnZt
- Response violates schema
{"errors":[{"attr":"start","code":"invalid","detail":"Invalid format for `start`"}],"type":"validation_error"} is not valid under any of the schemas listed in the 'oneOf' keyword
Validated against the response schema for status code 400.
Schema at /components/schemas/ApiProjectsCreditsRetrieveErrorResponse400:
{
"oneOf": [
{
"$ref": "#/components/schemas/ParseErrorResponse"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"client_error": "#/components/schemas/ParseErrorResponse"
}
}
}
Value:
{
"errors": [
{
"attr": "start",
"code": "invalid",
"detail": "Invalid format for `start`"
}
],
"type": "validation_error"
}
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"Invalid format for `start`","attr":"start"}]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/credits/?format=json'
________________________ GET /api/projects/{slug}/file/ ________________________
1. Test Case ID: nMiNMy
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - invalid enum value
- Undocumented Content-Type
Received: application/zip
Documented: application/json, text/csv
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/file/?format=AAA'
_______________________ GET /api/projects/{slug}/labels/ _______________________
1. Test Case ID: 0vptAf
- Response violates schema
"categories_url" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Project:
{
"required": [
"categories_url",
"changes_list_url",
"components_list_url",
"credits_url",
"id",
"labels_url",
"languages_url",
"lock_url",
"locked",
"machinery_settings",
"name",
"repository_url",
"slug",
"statistics_url",
"url",
"web",
"web_url"
// Output truncated...
}
Value:
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/labels/?format=json'
2. Test Case ID: ai4Cr3
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/labels/?format=csv'
3. Test Case ID: HH3DZJ
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/labels/?format='
_____________________ GET /api/projects/{slug}/languages/ ______________________
1. Test Case ID: c9JzR1
- Response violates schema
[{"approved":0,"approved_chars":0,"approved_chars_percent":0.0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"code":"cs","comments":0,"failing":0,"failing_percent":0.0,"fuzzy":0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"last_change":"2026-10-07T06:16:03.439166Z","name":"Czech","readonly":0,"readonly_chars":0,"readonly_chars_percent":0.0,"readonly_percent":0.0,"readonly_words":0,"readonly_words_percent":0.0,"recent_changes":0,"suggestions":0,"total":2,"total_chars":10,"total_words":2,"translate_url":"http://localhost:35909/translate/workbench/-/cs/","translated":0,"translated_chars":0,"translated_chars_percent":0.0,"translated_percent":0.0,"translated_words":0,"translated_words_percent":0.0,"url":"http://localhost:35909/projects/workbench/-/cs/"},{"approved":0,"approved_chars":0,"approved_chars_percent":0.0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"code":"en","comments":0,"failing":0,"failing_percent":0.0,"fuzzy":0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"last_change":"2026-10-07T06:16:03.394569Z","name":"English","readonly":2,"readonly_chars":10,"readonly_chars_percent":100.0,"readonly_percent":100.0,"readonly_words":2,"readonly_words_percent":100.0,"recent_changes":0,"suggestions":0,"total":2,"total_chars":10,"total_words":2,"translate_url":"http://localhost:35909/translate/workbench/-/en/","translated":2,"translated_chars":10,"translated_chars_percent":100.0,"translated_percent":100.0,"translated_words":2,"translated_words_percent":100.0,"url":"http://localhost:35909/projects/workbench/-/en/"},{"approved":0,"approved_chars":0,"approved_chars_percent":0.0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"code":"de","comments":0,"failing":0,"failing_percent":0.0,"fuzzy":0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"last_change":"2026-10-07T06:16:03.444570Z","name":"German","readonly":0,"readonly_chars":0,"readonly_chars_percent":0.0,"readonly_percent":0.0,"readonly_words":0,"readonly_words_percent":0.0,"recent_changes":0,"suggestions":0,"total":2,"total_chars":10,"total_words":2,"translate_url":"http://localhost:35909/translate/workbench/-/de/","translated":0,"translated_chars":0,"translated_chars_percent":0.0,"translated_percent":0.0,"translated_words":0,"translated_words_percent":0.0,"url":"http://localhost:35909/projects/workbench/-/de/"}] is not of type "object"
Validated against the response schema for status code 200.
Schema at /components/schemas/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
// Output truncated...
}
Value:
[
{
"approved": 0,
"approved_chars": 0,
"approved_chars_percent": 0.0,
"approved_percent": 0.0,
"approved_words": 0,
"approved_words_percent": 0.0,
"code": "cs",
"comments": 0,
"failing": 0,
"failing_percent": 0.0,
"fuzzy": 0,
"fuzzy_chars": 0,
"fuzzy_chars_percent": 0.0,
"fuzzy_percent": 0.0,
"fuzzy_words": 0,
"fuzzy_words_percent": 0.0,
"last_change": "2026-10-07T06:16:03.439166Z",
// Output truncated...
]
[200] OK:
`[{"total":2,"total_words":2,"total_chars":10,"last_change":"2026-10-07T06:16:03.439166Z","recent_changes":0,"translated":0,"translated_words":0,"translated_percent":0.0,"translated_words_percent":0.0,"translated_chars":0,"translated_chars_percent":0.0,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"approved_chars":0,"approved // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/languages/?format=json-flat'
2. Test Case ID: FoQ6gX
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`[{"total":2,"total_words":2,"total_chars":10,"last_change":"2026-10-07T06:18:38.080764Z","recent_changes":0,"translated":0,"translated_words":0,"translated_percent":0.0,"translated_words_percent":0.0,"translated_chars":0,"translated_chars_percent":0.0,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"approved_chars":0,"approved // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/languages/?format='
________________________ GET /api/projects/{slug}/lock/ ________________________
1. Test Case ID: NQBRPb
- Response violates schema
"lock" is a required property
Validated against the response schema for status code 200.
Schema:
{
"required": [
"lock"
],
"type": "object",
"properties": {
"lock": {
"type": "boolean"
}
}
}
Value:
{
"locked": false
}
[200] OK:
`{"locked":false}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/lock/?format=json'
2. Test Case ID: HKql6e
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"locked":false}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/lock/?format='
_________________ GET /api/projects/{slug}/machinery_settings/ _________________
1. Test Case ID: Xtih1C
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/00/machinery_settings/?format='
_____________________ GET /api/projects/{slug}/repository/ _____________________
1. Test Case ID: ndLlYn
- Response violates schema
"operation" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/RepoRequest:
{
"required": [
"operation"
],
"type": "object",
"properties": {
"operation": {
"$ref": "#/components/schemas/OperationEnum"
}
}
}
Value:
{
"needs_commit": false,
"needs_merge": false,
"needs_push": false,
"url": "http://localhost:35909/api/projects/workbench/repository/?format=...
}
[200] OK:
`{"needs_commit":false,"needs_merge":false,"needs_push":false,"url":"http://localhost:35909/api/projects/workbench/repository/?format=json"}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/repository/?format=json'
2. Test Case ID: 4BLPte
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"needs_commit":false,"needs_merge":false,"needs_push":false,"url":"http://localhost:35909/api/projects/workbench/repository/?format="}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/repository/?format='
_____________________ GET /api/projects/{slug}/statistics/ _____________________
1. Test Case ID: d4tIAG
- Response violates schema
"categories_url" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Project:
{
"required": [
"categories_url",
"changes_list_url",
"components_list_url",
"credits_url",
"id",
"labels_url",
"languages_url",
"lock_url",
"locked",
"machinery_settings",
"name",
"repository_url",
"slug",
"statistics_url",
"url",
"web",
"web_url"
// Output truncated...
}
Value:
{
"approved": 0,
"approved_chars": 0,
"approved_chars_percent": 0.0,
"approved_percent": 0.0,
"approved_words": 0,
"approved_words_percent": 0.0,
"comments": 0,
"failing": 0,
"failing_percent": 0.0,
"fuzzy": 0,
"fuzzy_chars": 0,
"fuzzy_chars_percent": 0.0,
"fuzzy_percent": 0.0,
"fuzzy_words": 0,
"fuzzy_words_percent": 0.0,
"last_change": "2026-10-07T06:16:03.444570Z",
"name": "Workbench",
"readonly": 2,
// Output truncated...
}
[200] OK:
`{"total":6,"total_words":6,"total_chars":30,"last_change":"2026-10-07T06:16:03.444570Z","recent_changes":0,"translated":2,"translated_words":2,"translated_percent":33.3,"translated_words_percent":33.3,"translated_chars":10,"translated_chars_percent":33.3,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"approved_chars":0,"appro // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/statistics/?format=json-flat'
2. Test Case ID: SVwvVR
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"total":6,"total_words":6,"total_chars":30,"last_change":"2026-10-07T06:18:42.695636Z","recent_changes":0,"translated":2,"translated_words":2,"translated_percent":33.3,"translated_words_percent":33.3,"translated_chars":10,"translated_chars_percent":33.3,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"approved_chars":0,"appro // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/workbench/statistics/?format='
_______________________________ GET /api/roles/ ________________________________
1. Test Case ID: cXwGNQ
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedRoleList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedRoleList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":17,"next":null,"previous":null,"results":[{"id":1,"name":"Administration","permissions":["billing.view","change.download","comment.add","comment.delete","comment.resolve","component.edit","component.lock","glossary.add","glossary.terminology","glossary.edit","glossary.delete","glossary.upload","machinery.view","memory.edit","memory.delete","project.edit","project.permissions","reports.view","screenshot.add","screenshot.edit","screenshot.delete","source.edit","unit.add","unit.delete","unit.check","u // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/roles/?page_size=null&page_size=null'
____________________________ GET /api/screenshots/ _____________________________
1. Test Case ID: WmKh2L
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedScreenshotList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedScreenshotList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/screenshots/?page_size=null&page_size=null'
2. Test Case ID: yatbia
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/screenshots/?format=csv'
_______________________________ GET /api/search/ _______________________________
1. Test Case ID: ycymwi
- Undocumented HTTP status code
Received: 404
Documented: 400, 401, 403, 405, 406, 415, 423, 429, 500, 200
[404] Not Found:
`{"type":"client_error","errors":[{"code":"not_found","detail":"Not found.","attr":null}]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/search/?format=AAA'
2. Test Case ID: Y8SaEX
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`[]`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/search/?format='
_____________________________ GET /api/tasks/{id}/ _____________________________
1. Test Case ID: zNc1nU
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"completed":false,"progress":0,"result":null,"log":""}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/tasks/3/?format='
____________________________ GET /api/translations/ ____________________________
1. Test Case ID: yEd1BX
- Response violates schema (7 violations)
"" is not a "email"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/report_source_bugs:
{
"format": "email",
"type": "string",
"title": "Source string bug reporting address",
"description": "E-mail address for reports on errors in source strings. L...
"maxLength": 190
}
Value:
""
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/license_url:
{
"type": "string",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/linked_component:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedTranslationList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedTranslationList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Translation/properties/last_author:
{
"type": "string",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Translation/properties/last_change:
{
"type": "string",
"format": "date-time",
"readOnly": true
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":6,"next":null,"previous":null,"results":[{"language":{"id":179,"code":"en","name":"English","plural":{"id":179,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["base","en_en","en_us","eng","enp","source"],"direction":"ltr","population":1728003224,"web_url":"http://localhost:35909/languages/en/","url":"http://localhost:35909/api/languages/en/","statistics_url":"http://localhost:35909/api/languages/en/statistics/"},"component":{"name":"Strings","slug":"strings","id":1,"source_language":{ // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/translations/?page_size=null&page_size=null'
GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/
1. Test Case ID: ZpBW86
- Response violates schema (3 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/license_url:
{
"type": "string",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/linked_component:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Translation/properties/last_author:
{
"type": "string",
"readOnly": true
}
Value:
null
[200] OK:
`{"language":{"id":139,"code":"cs","name":"Czech","plural":{"id":139,"source":0,"number":3,"formula":"(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2","type":22},"aliases":["ces","cs_cs","cs_cz","csy","cz","cze"],"direction":"ltr","population":13236057,"web_url":"http://localhost:35909/languages/cs/","url":"http://localhost:35909/api/languages/cs/","statistics_url":"http://localhost:35909/api/languages/cs/statistics/"},"component":{"name":"Strings","slug":"strings","id":1,"source_language":{"id":179,"code":"en","name":" // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/translations/workbench/strings/cs/
2. Test Case ID: aSxEr0
- Response violates schema (2 violations)
"" is not a "email"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/report_source_bugs:
{
"format": "email",
"type": "string",
"title": "Source string bug reporting address",
"description": "E-mail address for reports on errors in source strings. L...
"maxLength": 190
}
Value:
""
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Translation/properties/last_change:
{
"type": "string",
"format": "date-time",
"readOnly": true
}
Value:
null
[200] OK:
`{"language":{"id":179,"code":"en","name":"English","plural":{"id":179,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["base","en_en","en_us","eng","enp","source"],"direction":"ltr","population":1728003224,"web_url":"http://localhost:35909/languages/en/","url":"http://localhost:35909/api/languages/en/","statistics_url":"http://localhost:35909/api/languages/en/statistics/"},"component":{"name":"Workbench","slug":"glossary","id":2,"source_language":{"id":179,"code":"en","name":"English","plural": // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/translations/workbench/glossary/en/
3. Test Case ID: hLfUKz
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"language":{"id":149,"code":"de","name":"Auth","plural":{"id":149,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["de_de","deu","deu_de","ger"],"direction":"ltr","population":-34629,"web_url":"http://localhost:35909/languages/de/","url":"http://localhost:35909/api/languages/de/?format=","statistics_url":"http://localhost:35909/api/languages/de/statistics/?format="},"component":{"name":"Workbench","slug":"glossary","id":2,"source_language":{"id":179,"code":"en","name":"English","plural":{"id": // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/translations/workbench/glossary/de/?format='
GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/changes/
1. Test Case ID: K5bHKt
- Response violates schema
"changes_list_url" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Translation:
{
"required": [
"changes_list_url",
"component",
"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",
// Output truncated...
}
Value:
{
"count": 25,
"next": null,
"previous": null,
"results": [
{
"action": 0,
"action_name": "Resource updated",
"author": null,
"component": "http://localhost:35909/api/components/workbench/str...
"details": {
"filename": "po/cs.po",
"reason": "check forced"
},
"id": 257,
"old": "",
"target": "",
"timestamp": "2026-10-07T06:18:38.070781Z",
"translation": "http://localhost:35909/api/translations/workbench...
// Output truncated...
}
[200] OK:
`{"count":25,"next":null,"previous":null,"results":[{"unit":null,"component":"http://localhost:35909/api/components/workbench/strings/","translation":"http://localhost:35909/api/translations/workbench/strings/cs/","user":"http://localhost:35909/api/users/admin/","author":null,"timestamp":"2026-10-07T06:18:38.070781Z","action":0,"target":"","old":"","details":{"reason":"check forced","filename":"po/cs.po"},"id":257,"action_name":"Resource updated","url":"http://localhost:35909/api/changes/257/"},{"unit":null, // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/translations/workbench/strings/cs/changes/
2. Test Case ID: kir98F
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/translations/workbench/glossary/en/changes/?format=csv'
3. Test Case ID: 59bJwG
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"count":25,"next":null,"previous":null,"results":[{"unit":null,"component":"http://localhost:35909/api/components/workbench/glossary/?format=","translation":"http://localhost:35909/api/translations/workbench/glossary/cs/?format=","user":null,"author":null,"timestamp":"2026-10-07T06:18:26.345808Z","action":0,"target":"","old":"","details":{"reason":"check forced","filename":"cs.tbx"},"id":243,"action_name":"Resource updated","url":"http://localhost:35909/api/changes/243/?format="},{"unit":null,"component":" // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/translations/workbench/glossary/cs/changes/?format='
GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/file/
1. Test Case ID: ck8LhJ
- Undocumented Content-Type
Received: text/x-gettext-catalog
Documented: application/json, text/csv
[200] OK:
`msgid ""
msgstr ""
"Report-Msgid-Bugs-To: 0@0.com\n"
"PO-Revision-Date: 2026-10-07 06:18+0000\n"
"Last-Translator: Anonymous \n"
"Language-Team: Czech "
"\n"
"Language: cs\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 5.14.3\n"
msgid "Hello"
msgstr ""
msgid "World"
msgstr ""`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/translations/workbench/strings/cs/file/
2. Test Case ID: i7D7Yt
- Response violates schema
{"errors":[{"attr":"format","code":"invalid","detail":"File format is not compatible with this translation"}],"type":"validation_error"} is not valid under any of the schemas listed in the 'oneOf' keyword
Validated against the response schema for status code 400.
Schema at /components/schemas/ApiTranslationsFileRetrieveErrorResponse400:
{
"oneOf": [
{
"$ref": "#/components/schemas/ParseErrorResponse"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"client_error": "#/components/schemas/ParseErrorResponse"
}
}
}
Value:
{
"errors": [
{
"attr": "format",
"code": "invalid",
"detail": "File format is not compatible with this translation"
}
],
"type": "validation_error"
}
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"File format is not compatible with this translation","attr":"format"}]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/translations/workbench/strings/cs/file/?format=json'
3. Test Case ID: EjsnXl
- Undocumented Content-Type
Received: application/x-tbx
Documented: application/json, text/csv
[200] OK:
`
Weblate Glossary
`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/translations/workbench/glossary/cs/file/
GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/repository/
1. Test Case ID: VkKg45
- Response violates schema
"operation" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/RepoRequest:
{
"required": [
"operation"
],
"type": "object",
"properties": {
"operation": {
"$ref": "#/components/schemas/OperationEnum"
}
}
}
Value:
{
"merge_failure": null,
"needs_commit": false,
"needs_merge": false,
"needs_push": false,
"remote_commit": null,
"status": "On branch main\nnothing to commit, working tree clean\n",
"url": "http://localhost:35909/api/translations/workbench/strings/cs/repo...
"weblate_commit": null
}
[200] OK:
`{"needs_commit":false,"needs_merge":false,"needs_push":false,"url":"http://localhost:35909/api/translations/workbench/strings/cs/repository/","remote_commit":null,"weblate_commit":null,"status":"On branch main\nnothing to commit, working tree clean\n","merge_failure":null}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/translations/workbench/strings/cs/repository/
2. Test Case ID: qEQlbW
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"needs_commit":false,"needs_merge":false,"needs_push":false,"url":"http://localhost:35909/api/translations/workbench/glossary/cs/repository/?format=","remote_commit":null,"weblate_commit":null,"status":"On branch main\nnothing to commit, working tree clean\n","merge_failure":null}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/translations/workbench/glossary/cs/repository/?format='
GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/statistics/
1. Test Case ID: DToiIW
- Response violates schema
"changes_list_url" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Translation:
{
"required": [
"changes_list_url",
"component",
"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",
// Output truncated...
}
Value:
{
"approved": 0,
"approved_chars": 0,
"approved_chars_percent": 0.0,
"approved_percent": 0.0,
"approved_words": 0,
"approved_words_percent": 0.0,
"code": "cs",
"comments": 0,
"failing": 0,
"failing_percent": 0.0,
"fuzzy": 0,
"fuzzy_chars": 0,
"fuzzy_chars_percent": 0.0,
"fuzzy_percent": 0.0,
"fuzzy_words": 0,
"fuzzy_words_percent": 0.0,
"last_change": "2026-10-07T06:18:38.070781Z",
"name": "Czech",
// Output truncated...
}
[200] OK:
`{"total":2,"total_words":2,"total_chars":10,"last_change":"2026-10-07T06:18:38.070781Z","recent_changes":0,"translated":0,"translated_words":0,"translated_percent":0.0,"translated_words_percent":0.0,"translated_chars":0,"translated_chars_percent":0.0,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"approved_chars":0,"approved_ // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/translations/workbench/strings/cs/statistics/
2. Test Case ID: uA9p8R
- Response violates schema
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Translation/properties/last_change:
{
"type": "string",
"format": "date-time",
"readOnly": true
}
Value:
null
[200] OK:
`{"total":0,"total_words":0,"total_chars":0,"last_change":null,"recent_changes":0,"translated":0,"translated_words":0,"translated_percent":100.0,"translated_words_percent":100.0,"translated_chars":0,"translated_chars_percent":100.0,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"approved_chars":0,"approved_chars_percent":0.0," // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/translations/workbench/glossary/en/statistics/?format=json-flat'
3. Test Case ID: 6IQmr6
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"total":0,"total_words":0,"total_chars":0,"last_change":"2026-10-07T06:18:26.345808Z","recent_changes":0,"translated":0,"translated_words":0,"translated_percent":100.0,"translated_words_percent":100.0,"translated_chars":0,"translated_chars_percent":100.0,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":0.0,"approved_words":0,"approved_words_percent":0.0,"approved_chars":0,"appr // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/translations/workbench/glossary/cs/statistics/?format='
GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/units/
1. Test Case ID: 7s3whE
- Response violates schema
"changes_list_url" is a required property
Validated against the response schema for status code 200.
Schema at /components/schemas/Translation:
{
"required": [
"changes_list_url",
"component",
"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",
// Output truncated...
}
Value:
{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"approved": false,
"content_hash": -2665940278720648281,
"context": "",
"explanation": "",
"extra_flags": "",
"flags": "",
"fuzzy": false,
"has_comment": false,
"has_failing_check": false,
"has_suggestion": false,
"id": 3,
"id_hash": -2665940278720648281,
"labels": [],
// Output truncated...
}
[200] OK:
`{"count":2,"next":null,"previous":null,"results":[{"translation":"http://localhost:35909/api/translations/workbench/strings/cs/","language_code":"cs","source":["Hello"],"previous_source":"","target":[""],"id_hash":-2665940278720648281,"content_hash":-2665940278720648281,"location":"","context":"","note":"","flags":"","labels":[],"state":0,"fuzzy":false,"translated":false,"approved":false,"position":1,"has_suggestion":false,"has_comment":false,"has_failing_check":false,"num_words":1,"source_unit":"http://loc // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/translations/workbench/strings/cs/units/
2. Test Case ID: PoNSx1
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/translations/workbench/glossary/cs/units/?format=csv'
3. Test Case ID: dhvuxu
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/translations/workbench/glossary/en/units/?format='
_______________________________ GET /api/units/ ________________________________
1. Test Case ID: gRLEow
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedUnitList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedUnitList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":6,"next":null,"previous":null,"results":[{"translation":"http://localhost:35909/api/translations/workbench/strings/en/","language_code":"en","source":["Hello"],"previous_source":"","target":["Hello"],"id_hash":-2665940278720648281,"content_hash":-2665940278720648281,"location":"","context":"","note":"","flags":"","labels":[],"state":100,"fuzzy":false,"translated":true,"approved":false,"position":1,"has_suggestion":false,"has_comment":false,"has_failing_check":false,"num_words":1,"source_unit":"http // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/units/?page_size=null&page_size=null'
_____________________________ GET /api/units/{id}/ _____________________________
1. Test Case ID: Bk3vik
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"translation":"http://localhost:35909/api/translations/workbench/strings/cs/?format=","language_code":"cs","source":["Hello"],"previous_source":"","target":[""],"id_hash":-2665940278720648281,"content_hash":-2665940278720648281,"location":"","context":"","note":"","flags":"","labels":[],"state":0,"fuzzy":false,"translated":false,"approved":false,"position":1,"has_suggestion":false,"has_comment":false,"has_failing_check":false,"num_words":1,"source_unit":"http://localhost:35909/api/units/1/?format=","priori // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/units/3/?format='
______________________ GET /api/units/{id}/translations/ _______________________
1. Test Case ID: eJCReB
- Response violates schema
[{"approved":false,"content_hash":-2665940278720648281,"context":"","explanation":"","extra_flags":"","flags":"","fuzzy":false,"has_comment":false,"has_failing_check":false,"has_suggestion":false,"id":5,"id_hash":-2665940278720648281,"labels":[],"language_code":"de","last_updated":"2026-10-07T06:18:37.456601Z","location":"","note":"","num_words":1,"pending":false,"position":1,"previous_source":"","priority":100,"source":["Hello"],"source_unit":"http://localhost:35909/api/units/1/","state":0,"target":[""],"timestamp":"2026-10-07T06:14:58.871595Z","translated":false,"translation":"http://localhost:35909/api/translations/workbench/strings/de/","url":"http://localhost:35909/api/units/5/","web_url":"http://localhost:35909/translate/workbench/strings/de/?checksum=5b00ad70f6732ba7"},{"approved":false,"content_hash":-2665940278720648281,"context":"","explanation":"","extra_flags":"","flags":"","fuzzy":false,"has_comment":false,"has_failing_check":false,"has_suggestion":false,"id":3,"id_hash":-2665940278720648281,"labels":[],"language_code":"cs","last_updated":"2026-10-07T06:18:37.479263Z","location":"","note":"","num_words":1,"pending":false,"position":1,"previous_source":"","priority":100,"source":["Hello"],"source_unit":"http://localhost:35909/api/units/1/","state":0,"target":[""],"timestamp":"2026-10-07T06:14:58.864486Z","translated":false,"translation":"http://localhost:35909/api/translations/workbench/strings/cs/","url":"http://localhost:35909/api/units/3/","web_url":"http://localhost:35909/translate/workbench/strings/cs/?checksum=5b00ad70f6732ba7"}] is not of type "object"
Validated against the response schema for status code 200.
Schema at /components/schemas/UnitWrite:
{
"type": "object",
"description": "Serializer for updating source unit.",
"properties": {
"target": {
"type": "array",
"items": {
"type": "string"
}
},
"state": {
"allOf": [
{
"$ref": "#/components/schemas/StateEnum"
}
],
"minimum": -2147483648,
"maximum": 2147483647
},
// Output truncated...
}
Value:
[
{
"approved": false,
"content_hash": -2665940278720648281,
"context": "",
"explanation": "",
"extra_flags": "",
"flags": "",
"fuzzy": false,
"has_comment": false,
"has_failing_check": false,
"has_suggestion": false,
"id": 5,
"id_hash": -2665940278720648281,
"labels": [],
"language_code": "de",
"last_updated": "2026-10-07T06:18:37.456601Z",
"location": "",
"note": "",
// Output truncated...
]
[200] OK:
`[{"translation":"http://localhost:35909/api/translations/workbench/strings/de/","language_code":"de","source":["Hello"],"previous_source":"","target":[""],"id_hash":-2665940278720648281,"content_hash":-2665940278720648281,"location":"","context":"","note":"","flags":"","labels":[],"state":0,"fuzzy":false,"translated":false,"approved":false,"position":1,"has_suggestion":false,"has_comment":false,"has_failing_check":false,"num_words":1,"source_unit":"http://localhost:35909/api/units/1/","priority":100,"id":5, // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/units/1/translations/
2. Test Case ID: arjHqE
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`errors.0.attr,errors.0.code,errors.0.detail,type
,not-a-source-unit,Specified unit id is not a translation source unit.,client_error`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/units/3/translations/?format=csv'
3. Test Case ID: gAVjbJ
- Response violates schema
{"errors":[{"attr":null,"code":"not-a-source-unit","detail":"Specified unit id is not a translation source unit."}],"type":"client_error"} is not valid under any of the schemas listed in the 'oneOf' keyword
Validated against the response schema for status code 400.
Schema at /components/schemas/ApiUnitsTranslationsRetrieveErrorResponse400:
{
"oneOf": [
{
"$ref": "#/components/schemas/ParseErrorResponse"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"client_error": "#/components/schemas/ParseErrorResponse"
}
}
}
Value:
{
"errors": [
{
"attr": null,
"code": "not-a-source-unit",
"detail": "Specified unit id is not a translation source unit."
}
],
"type": "client_error"
}
[400] Bad Request:
`{"type":"client_error","errors":[{"code":"not-a-source-unit","detail":"Specified unit id is not a translation source unit.","attr":null}]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/units/3/translations/?format=json'
4. Test Case ID: op6VAl
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`[{"translation":"http://localhost:35909/api/translations/workbench/strings/de/?format=","language_code":"de","source":["World"],"previous_source":"","target":[""],"id_hash":-215278447731063911,"content_hash":-215278447731063911,"location":"","context":"","note":"","flags":"","labels":[],"state":0,"fuzzy":false,"translated":false,"approved":false,"position":2,"has_suggestion":false,"has_comment":false,"has_failing_check":false,"num_words":1,"source_unit":"http://localhost:35909/api/units/2/?format=","priorit // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/units/2/translations/?format='
_______________________________ GET /api/users/ ________________________________
1. Test Case ID: oHIzsk
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/?format=csv&id=0'
2. Test Case ID: B8AyB3
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedFullUserList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedFullUserList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
[200] OK:
`{"count":3,"next":null,"previous":null,"results":[{"id":1,"email":"noreply@weblate.org","full_name":"Anonymous","username":"anonymous","groups":["http://localhost:35909/api/groups/1/","http://localhost:35909/api/groups/2/"],"languages":[],"notifications":"http://localhost:35909/api/users/anonymous/notifications/","is_superuser":false,"is_active":false,"is_bot":false,"date_joined":"2026-10-07T06:14:33.326831Z","date_expires":null,"last_login":null,"url":"http://localhost:35909/api/users/anonymous/","statisti // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/?username='
3. Test Case ID: PJDcnA
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":3,"next":null,"previous":null,"results":[{"id":1,"email":"noreply@weblate.org","full_name":"Anonymous","username":"anonymous","groups":["http://localhost:35909/api/groups/1/","http://localhost:35909/api/groups/2/"],"languages":[],"notifications":"http://localhost:35909/api/users/anonymous/notifications/","is_superuser":false,"is_active":false,"is_bot":false,"date_joined":"2026-10-07T06:14:33.326831Z","date_expires":null,"last_login":null,"url":"http://localhost:35909/api/users/anonymous/","statisti // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/?page_size=null&page_size=null'
__________________________ GET /api/users/{username}/ __________________________
1. Test Case ID: O0kx8b
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"id":2,"email":"admin@example.com","full_name":"admin","username":"admin","groups":["http://localhost:35909/api/groups/2/?format=","http://localhost:35909/api/groups/3/?format="],"languages":[],"notifications":"http://localhost:35909/api/users/admin/notifications/?format=","is_superuser":true,"is_active":true,"is_bot":false,"date_joined":"2026-10-07T06:14:36.767253Z","date_expires":null,"last_login":null,"url":"http://localhost:35909/api/users/admin/?format=","statistics_url":"http://localhost:35909/api/us // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/admin/?format='
___________________ GET /api/users/{username}/contributions/ ___________________
1. Test Case ID: dWngOM
- Response violates schema
[] is not of type "object"
Validated against the response schema for status code 200.
Schema:
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"email": {
"type": [
"string",
"null"
],
"title": "E-mail",
"format": "email",
"maxLength": 190
},
"full_name": {
"type": "string",
"maxLength": 150
// Output truncated...
}
Value:
[]
[200] OK:
`[]`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/admin/contributions/?format=json-flat'
2. Test Case ID: vtT6bV
- Response violates schema
"contributions_url" is a required property
Validated against the response schema for status code 200.
Schema:
{
"required": [
"contributions_url",
"date_joined",
"full_name",
"groups",
"id",
"languages",
"last_login",
"notifications",
"statistics_url",
"url",
"username"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
// Output truncated...
}
Value:
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/admin/contributions/?format=json'
3. Test Case ID: rKTpIr
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/admin/contributions/?format=csv'
4. Test Case ID: XjteG9
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/admin/contributions/?format='
___________________ GET /api/users/{username}/notifications/ ___________________
1. Test Case ID: lKUzJm
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedNotificationList/properties/next:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=4"
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/PaginatedNotificationList/properties/previous:
{
"type": "string",
"format": "uri",
"example": "http://api.example.org/accounts/?page=2"
}
Value:
null
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `page_size` in query - page_size: Incorrect type
[200] OK:
`{"count":0,"next":null,"previous":null,"results":[]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/weblate%3Acommit/notifications/?page_size=null&page_size=null'
2. Test Case ID: WsgMr2
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/weblate%3Acommit/notifications/?format=csv'
3. Test Case ID: G6u8Z0
- Response violates schema (2 violations)
null is not of type "object"
Validated against the response schema for status code 200.
Schema at /components/schemas/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
// Output truncated...
}
Value:
null
null is not of type "object"
Validated against the response schema for status code 200.
Schema at /components/schemas/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
// Output truncated...
}
Value:
null
[200] OK:
`{"count":15,"next":null,"previous":null,"results":[{"notification":"MentionCommentNotificaton","id":1,"scope":0,"frequency":1,"project":null,"component":null},{"notification":"LastAuthorCommentNotificaton","id":2,"scope":10,"frequency":1,"project":null,"component":null},{"notification":"MentionCommentNotificaton","id":3,"scope":10,"frequency":1,"project":null,"component":null},{"notification":"NewAnnouncementNotificaton","id":4,"scope":10,"frequency":1,"project":null,"component":null},{"notification":"NewSt // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/admin/notifications/?format=json'
__________ GET /api/users/{username}/notifications/{subscription_id}/ __________
1. Test Case ID: y68eIc
- Undocumented Content-Type
Received: text/html; charset=utf-8
Documented: application/json, text/csv
[404] Not Found:
`
Page Not Found @ Weblate
number: Value smaller than minimum
[200] OK:
`code,direction,id,name,plural.formula,plural.id,plural.number,plural.source,plural.type,population,statistics_url,url,web_url
ace,ltr,4,Acehnese,0,4,1,0,0,0,http://localhost:35909/api/languages/ace/statistics/?format=csv,http://localhost:35909/api/languages/ace/?format=csv,http://localhost:35909/languages/ace/`
Reproduce with:
curl -X PATCH -H 'Token: [Filtered]' -H 'Bearer;' -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=e14a78adcb72174a957dc7501e4bba8f' -d $'--e14a78adcb72174a957dc7501e4bba8f\r\nContent-Disposition: form-data; name="code"\r\n\r\nace\r\n--e14a78adcb72174a957dc7501e4bba8f\r\nContent-Disposition: form-data; name="name"\r\n\r\n\r\n--e14a78adcb72174a957dc7501e4bba8f\r\nContent-Disposition: form-data; name="plural"\r\n\r\n{"source": 0, "number": -32769, "formula": ""}\r\n--e14a78adcb72174a957dc7501e4bba8f\r\nContent-Disposition: form-data; name="direction"\r\n\r\nltr\r\n--e14a78adcb72174a957dc7501e4bba8f\r\nContent-Disposition: form-data; name="population"\r\n\r\n0\r\n--e14a78adcb72174a957dc7501e4bba8f--\r\n' 'http://0.0.0.0:35909/api/languages/ace/?format=csv'
_________________________ PATCH /api/projects/{slug}/ __________________________
1. Test Case ID: XoUXLM
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`errors.0.attr,errors.0.code,errors.0.detail,errors.1.attr,errors.1.code,errors.1.detail,type
name,blank,This field may not be blank.,secondary_language,does_not_exist,"Invalid pk ""0"" - object does not exist.",validation_error`
Reproduce with:
curl -X PATCH -H 'Token: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "slug": "workbench", "web": "https://0.com", "check_flags": "", "translation_review": false, "source_review": false, "commit_policy": 0, "set_language_team": false, "instructions": "", "enable_hooks": false, "language_aliases": "", "secondary_language": 0, "enforced_2fa": false}' 'http://0.0.0.0:35909/api/projects/workbench/?format=csv'
________________ PATCH /api/projects/{slug}/machinery_settings/ ________________
1. Test Case ID: MQQjyF
- Response violates schema
[{"attr":"configuration","code":"invalid","detail":"Service not found: service_name"}] is not of type "string"
Validated against the response schema for status code 400.
Schema at /properties/errors:
{
"type": "string"
}
Value:
[
{
"attr": "configuration",
"code": "invalid",
"detail": "Service not found: service_name"
}
]
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"Service not found: service_name","attr":"configuration"}]}`
Reproduce with:
curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"service": "service_name", "configuration": {"key": "xxxxx", "url": "https://api.service.com/"}}' http://0.0.0.0:35909/api/projects/workbench/machinery_settings/
2. Test Case ID: phjb2j
- Server error
[500] Internal Server Error:
`errors.0.attr,errors.0.code,errors.0.detail,type
,error,Server Error (500),server_error`
Reproduce with:
curl -X PATCH -H 'Token: [Filtered]' -H 'Bearer;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"service": {}, "configuration": {"key": "xxxxx", "url": "https://api.service.com/"}}' 'http://0.0.0.0:35909/api/projects/workbench/machinery_settings/?format=csv'
____________________________ PATCH /api/units/{id}/ ____________________________
1. Test Case ID: 0Lgm99
- Server error
[500] Internal Server Error:
`{"type":"server_error","errors":[{"code":"error","detail":"Server Error (500)","attr":null}]}`
Reproduce with:
curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"": {"j\u009cM_\u0083\udbd2\udf69": [true]}, "labels": [{"": {}, "\n\u00f0\u00f5\ud83e\udee0\u0004C\u00dan\u00b7": {"\u00e3\ud9b1\ude0a": {"\u009c\ud85f\udd26\u0019u": 0.0}, "\udaf4\ude9d5\u000b": null, "\u00c6\u00e0\u00ab\u00b7\uda53\udd75m": [22429254908158840]}, "description": ">\u000f", "name": "\uda64\udfa4"}], "target": ["\uda7c\ude93", "E\ud9c8\udff3"]}' 'http://0.0.0.0:35909/api/units/2/?format=json'
2. Test Case ID: hkHCSQ
- Response violates schema
{"errors":[{"attr":"target","code":"invalid","detail":"Number of plurals does not match"}],"type":"validation_error"} is not valid under any of the schemas listed in the 'oneOf' keyword
Validated against the response schema for status code 400.
Schema at /components/schemas/ApiUnitsPartialUpdateErrorResponse400:
{
"oneOf": [
{
"$ref": "#/components/schemas/ApiUnitsPartialUpdateValidationError"
},
{
"$ref": "#/components/schemas/ParseErrorResponse"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"validation_error": "#/components/schemas/ApiUnitsPartialUpdateVa...
"client_error": "#/components/schemas/ParseErrorResponse"
}
}
}
Value:
{
"errors": [
{
"attr": "target",
"code": "invalid",
"detail": "Number of plurals does not match"
}
],
"type": "validation_error"
}
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
Hint: The request body contains 5 additional properties not defined in the schema (`Cø𐑩¹ÙHêÓPK÷ÜC6`, `HÓé`, ` Ëu` 3:u8AÞê` and 2 more). The server likely rejects unexpected fields. Add `additionalProperties: false` to your schema to prevent this.
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"Number of plurals does not match","attr":"target"}]}`
Reproduce with:
curl -X PATCH -H 'Authorization: [Filtered]' -H 'Token: [Filtered]' -H 'Bearer: Zs' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"\u0097H\u00d3\u00e9": {"\u0006": -457, "\u0085\ud818\udf99k\ud9a6\udeff\u00ea\udb09\udf25": -1.4585394831218181e+106, "\ud81b\ude6fk\u00b4\u00df\u00c4x\u0095\u00d7\u00d5\u00e91u\u0013\u00cfO": false}, "\ud9d5\uddf2\u00a0\u00cbu`\u001c3:u8A\u0013\u00de\u00ea": [], "C\u00f8\ud801\udc69\u00b9\uda13\udcc2\u00d9H\u00ea\u00d3\ud9f0\udc8d\u0091PK\u00f7\u00dc\bC6": {"\u00ee\u00ce\u009c": [], "\udb66\udd33{": [-2.6252920521282508e+16, "\u00a7\u00d6\br"]}, "\uda43\udd04\u00a8": [], "\uda9e\udfd4>\u00c8\u00e1\u001a\u00b3\u0015": [], "target": []}' 'http://0.0.0.0:35909/api/units/2/?format=json'
3. Test Case ID: zpjL31
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"target":["Hello"],"state":100,"explanation":"","extra_flags":"","labels":[]}`
Reproduce with:
curl -X PATCH -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' 'http://0.0.0.0:35909/api/units/1/?format='
_________ PATCH /api/users/{username}/notifications/{subscription_id}/ _________
1. Test Case ID: iKfJQF
- Undocumented Content-Type
Received: text/html; charset=utf-8
Documented: application/json, text/csv
[404] Not Found:
`
Page Not Found @ Weblate
b$IVT=.=e*^' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=f45407ddb3c589f965c2d2416d050713' -d $'--f45407ddb3c589f965c2d2416d050713\r\nContent-Disposition: form-data; name="¡\xf4\x81\xbb\xad𱊄°\xc2\x8d`\xf3\xb4\xb3\xa8"\r\n\r\n-610\r\n--f45407ddb3c589f965c2d2416d050713\r\nContent-Disposition: form-data; name="¡\xf4\x81\xbb\xad𱊄°\xc2\x8d`\xf3\xb4\xb3\xa8"\r\n\r\n-1416991673\r\n--f45407ddb3c589f965c2d2416d050713\r\nContent-Disposition: form-data; name="¡\xf4\x81\xbb\xad𱊄°\xc2\x8d`\xf3\xb4\xb3\xa8"\r\n\r\n-1319990996991691.0\r\n--f45407ddb3c589f965c2d2416d050713\r\nContent-Disposition: form-data; name="Í"\r\n\r\n["\\u00e1\\u00b5\\u007f\\u0001_\\u00f3\\u00f2\\u00a4\\u009e\\u0012\\ud85d\\udd2bb\\\\\\u00ee", true, null]\r\n--f45407ddb3c589f965c2d2416d050713\r\nContent-Disposition: form-data; name="Í"\r\n\r\nnull\r\n--f45407ddb3c589f965c2d2416d050713\r\nContent-Disposition: form-data; name="«\xf3\xab\x90\xa2Ï\xf2\x8c\xab\xbf8I¬\xc2\x8c9ÍQzßÖ\xf1\xad\xa1\x99ý²©l"\r\n\r\nnull\r\n--f45407ddb3c589f965c2d2416d050713\r\nContent-Disposition: form-data; name="M(\xc2\x9aª\x0f"\r\n\r\n{"\\ud97c\\uddd8cLP": ["\\u0085v\\udbe6\\udf29K\\u00a7", true, "\\ud863\\udda9"]}\r\n--f45407ddb3c589f965c2d2416d050713\r\nContent-Disposition: form-data; name="operation"\r\n\r\ncleanup\r\n--f45407ddb3c589f965c2d2416d050713--\r\n' 'http://0.0.0.0:35909/api/translations/workbench/glossary/en/repository/?format='
POST /api/translations/{component__project__slug}/{component__slug}/{language__code}/units/
1. Test Case ID: ex0dcg
- Response violates schema
{"errors":[{"attr":"source","code":"required","detail":"This field is required."},{"attr":"target","code":"required","detail":"This field is required."}],"type":"validation_error"} is not valid under any of the schemas listed in the 'oneOf' keyword
Validated against the response schema for status code 400.
Schema at /components/schemas/ApiTranslationsUnitsCreateErrorResponse400:
{
"oneOf": [
{
"$ref": "#/components/schemas/ApiTranslationsUnitsCreateValidatio...
},
{
"$ref": "#/components/schemas/ParseErrorResponse"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"validation_error": "#/components/schemas/ApiTranslationsUnitsCre...
"client_error": "#/components/schemas/ParseErrorResponse"
}
}
}
Value:
{
"errors": [
{
"attr": "source",
"code": "required",
"detail": "This field is required."
},
{
"attr": "target",
"code": "required",
"detail": "This field is required."
}
],
"type": "validation_error"
}
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"required","detail":"This field is required.","attr":"source"},{"code":"required","detail":"This field is required.","attr":"target"}]}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/x-www-form-urlencoded' -d filename= http://0.0.0.0:35909/api/translations/workbench/glossary/cs/units/
________________________ POST /api/units/{id}/comments/ ________________________
1. Test Case ID: PpTWeK
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"blank","detail":"This field may not be blank.","attr":"comment"}]}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"comment": "", "scope": "global"}' http://0.0.0.0:35909/api/units/1/comments/
2. Test Case ID: ibh1YX
- Response violates schema
{"errors":[{"attr":"scope","code":"invalid","detail":"\"report\" is not a valid choice as source review is disabled."}],"type":"validation_error"} is not valid under any of the schemas listed in the 'oneOf' keyword
Validated against the response schema for status code 400.
Schema at /components/schemas/ApiUnitsCommentsCreateErrorResponse400:
{
"oneOf": [
{
"$ref": "#/components/schemas/ApiUnitsCommentsCreateValidationError"
},
{
"$ref": "#/components/schemas/ParseErrorResponse"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"validation_error": "#/components/schemas/ApiUnitsCommentsCreateV...
"client_error": "#/components/schemas/ParseErrorResponse"
}
}
}
Value:
{
"errors": [
{
"attr": "scope",
"code": "invalid",
"detail": "\"report\" is not a valid choice as source review is d...
}
],
"type": "validation_error"
}
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"\"report\" is not a valid choice as source review is disabled.","attr":"scope"}]}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Token: [Filtered]' -H 'Content-Type: application/json' -d '{"": {}, "scope": "report", "comment": "\u008c\u000b\ud929\udfca\u00c7"}' 'http://0.0.0.0:35909/api/units/2/comments/?format=json'
3. Test Case ID: fWpbLl
- Undocumented HTTP status code
Received: 201
Documented: 400, 401, 403, 404, 405, 406, 415, 423, 429, 500, 200
[201] Created:
`{"comment":"0","timestamp":"2026-10-07T06:18:41.066402Z","id":1,"user":"http://localhost:35909/api/users/admin/"}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Bearer;' -H 'Token: [Filtered]' -H 'Content-Type: application/json' -d '{"comment": "0", "scope": "global"}' http://0.0.0.0:35909/api/units/1/comments/
4. Test Case ID: A9NgNi
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[201] Created:
`{"comment":"0.0","timestamp":"2026-10-07T06:29:57.031044Z","id":48,"user":"http://localhost:35909/api/users/admin/?format="}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Bearer: M]' -H 'Content-Type: application/json' -d '{"comment": "0.0", "scope": "global"}' 'http://0.0.0.0:35909/api/units/2/comments/?format='
_______________________________ POST /api/users/ _______________________________
1. Test Case ID: dc8xwI
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`errors.0.attr,errors.0.code,errors.0.detail,errors.1.attr,errors.1.code,errors.1.detail,errors.2.attr,errors.2.code,errors.2.detail,type
full_name,blank,This field may not be blank.,username,blank,This field may not be blank.,date_expires,invalid,Datetime has wrong format. Use one of these formats instead: YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z].,validation_error`
Reproduce with:
curl -X POST -H 'Token: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"email": "0@0.com", "full_name": "", "username": "", "is_superuser": false, "is_active": false, "is_bot": false, "date_expires": ""}' 'http://0.0.0.0:35909/api/users/?format=csv'
______________________ POST /api/users/{username}/groups/ ______________________
1. Test Case ID: G1PvUD
- Response violates schema
{"errors":[{"attr":"group_id","code":"invalid","detail":"Missing group_id parameter"}],"type":"validation_error"} is not valid under any of the schemas listed in the 'oneOf' keyword
Validated against the response schema for status code 400.
Schema at /components/schemas/ApiUsersGroupsCreateErrorResponse400:
{
"oneOf": [
{
"$ref": "#/components/schemas/ApiUsersGroupsCreateValidationError"
},
{
"$ref": "#/components/schemas/ParseErrorResponse"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"validation_error": "#/components/schemas/ApiUsersGroupsCreateVal...
"client_error": "#/components/schemas/ParseErrorResponse"
}
}
}
Value:
{
"errors": [
{
"attr": "group_id",
"code": "invalid",
"detail": "Missing group_id parameter"
}
],
"type": "validation_error"
}
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"Missing group_id parameter","attr":"group_id"}]}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"full_name": "Anonymous", "username": "anonymous"}' http://0.0.0.0:35909/api/users/admin/groups/
__________________ POST /api/users/{username}/notifications/ ___________________
1. Test Case ID: 4RakgG
- Response violates schema
{"errors":[{"attr":"id","code":"invalid","detail":"Enter a number."}],"type":"validation_error"} is not valid under any of the schemas listed in the 'oneOf' keyword
Validated against the response schema for status code 400.
Schema at /components/schemas/ApiUsersNotificationsCreateErrorResponse400:
{
"oneOf": [
{
"$ref": "#/components/schemas/ApiUsersNotificationsCreateValidati...
},
{
"$ref": "#/components/schemas/ParseErrorResponse"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"validation_error": "#/components/schemas/ApiUsersNotificationsCr...
"client_error": "#/components/schemas/ParseErrorResponse"
}
}
}
Value:
{
"errors": [
{
"attr": "id",
"code": "invalid",
"detail": "Enter a number."
}
],
"type": "validation_error"
}
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"Enter a number.","attr":"id"}]}`
Reproduce with:
curl -X POST -H 'Token: [Filtered]' -H 'Bearer;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"notification": "RepositoryNotification", "scope": 0, "frequency": 0}' 'http://0.0.0.0:35909/api/users/0/notifications/?id=null&id=null'
2. Test Case ID: Lv6Lem
- Undocumented HTTP status code
Received: 201
Documented: 400, 401, 403, 404, 405, 406, 415, 423, 429, 500, 200
[201] Created:
`{"notification":"LicenseNotification","id":31,"scope":0,"frequency":0,"project":null,"component":null}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"default_value": {}, "shes": {}, "n\u00fe": {}, "\u0004": null, "\n\u0091": null, "notification": "LicenseNotification", "frequency": 0, "scope": 0}' http://0.0.0.0:35909/api/users/admin/notifications/
3. Test Case ID: MvtyE2
- Server error
[500] Internal Server Error:
`errors.0.attr,errors.0.code,errors.0.detail,type
,error,Server Error (500),server_error`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"\u00bbQ\u0090l\u00b0\u00b6\u00a4A\u00f5\u00db#\u00c4\u00ec\u001f\ud958\udea6\ud9bc\udf64\u00c0": {"ma": {"\u00fe\uda8d\udd64\u0006\u00fe\u00fe\u0017": 7.2653656683853e-100, "\u0012\ud878\ude23\u0018\ud999\udcdf\u00db\u00e0=N\uda2c\udc00\u00ccy": "\u0018", "\u00aa\u000b\ucb5f\u008b\ud816\ude27\udb71\udd9b\ud83e\udf347\u00b2\u001e": -2050901797.0008156}}, "": [{"&?\u0089\udb7b\ude23\u009b\ud8ee\udc2c5\u00b7:\u001a\u000f\u009d\u0006\f\udaad\udc20^\u00c8\u0094\f": "!\u00cbeg\b\u0084\ud869\udf9c\u0096y\u008e,", "\udaa3\ude0c@\uda4f\udf8eL\ud92a\udf39\u0089\u00db\u00e7\u00c8\u0013\u00ef\u00c4": "\u00d9j\u00e5\u007fd\uda7f\udcd1\u00a9=\u00dd\u0013}\u00b5f\u00f3:", "a\nb\rc\u0085d\u000be\ff\u2028g\u2029h\r\ni": null}, false], "\b\n": [], "\ud894\udc58\u00e0\u00fe\u00cdU\u00db\u0015\u00fe\u00ec\udbf5\udd81>\u0084\u00dd\u0089{F\u00af": -5453, "%\u0082": {"": false, "\u008d8\udac7\udcab": "\u00a2\uda16\udec1\ud82d\udf77\u00d3X~\u0015r\ud9ea\udc6d\ud9bb\ude49z\u0010\u00c1\u0010|\u00ed\u0016\uda6e\udd4c3B@", "\u00d3\udbda\udd34\ud977\udd65%\udb93\udd1f\udb79\udf4c": null}, "frequency": 0, "notification": "LockNotification", "scope": 0}' 'http://0.0.0.0:35909/api/users/admin/notifications/?format=csv'
4. Test Case ID: j1vJhs
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[201] Created:
`{"notification":"TranslatedStringNotificaton","id":38,"scope":10,"frequency":0,"project":null,"component":null}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/x-www-form-urlencoded' -d 'frequency=0&scope=10¬ification=TranslatedStringNotificaton' 'http://0.0.0.0:35909/api/users/anonymous/notifications/?format='
____________________________ POST /hooks/{service}/ ____________________________
1. Test Case ID: WBxmsE
- Response violates schema
{"errors":[{"attr":null,"code":"invalid","detail":"Invalid data in json payload!"}],"type":"validation_error"} is not valid under any of the schemas listed in the 'oneOf' keyword
Validated against the response schema for status code 400.
Schema at /components/schemas/HooksIncomingErrorResponse400:
{
"oneOf": [
{
"$ref": "#/components/schemas/HooksIncomingValidationError"
},
{
"$ref": "#/components/schemas/ParseErrorResponse"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"validation_error": "#/components/schemas/HooksIncomingValidation...
"client_error": "#/components/schemas/ParseErrorResponse"
}
}
}
Value:
{
"errors": [
{
"attr": null,
"code": "invalid",
"detail": "Invalid data in json payload!"
}
],
"type": "validation_error"
}
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"Invalid data in json payload!","attr":null}]}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/hooks/azure/?format=json'
2. Test Case ID: bZNusV
- Undocumented Content-Type
Received: text/html; charset=utf-8
Documented: application/json, text/csv
[404] Not Found:
`
Page Not Found @ Weblate
number: Value smaller than minimum
[200] OK:
`aliases.0,code,direction,id,name,plural.formula,plural.id,plural.number,plural.source,plural.type,population,statistics_url,url,web_url
aar,aa,ltr,1,Afar,n != 1,1,2,0,1,0,http://localhost:35909/api/languages/aa/statistics/?format=csv,http://localhost:35909/api/languages/aa/?format=csv,http://localhost:35909/languages/aa/`
Reproduce with:
curl -X PUT -H 'Token: [Filtered]' -H 'Bearer;' -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=786fac4455e08cfeda7ca9107b7ad79d' -d $'--786fac4455e08cfeda7ca9107b7ad79d\r\nContent-Disposition: form-data; name="code"\r\n\r\naa\r\n--786fac4455e08cfeda7ca9107b7ad79d\r\nContent-Disposition: form-data; name="name"\r\n\r\n\r\n--786fac4455e08cfeda7ca9107b7ad79d\r\nContent-Disposition: form-data; name="plural"\r\n\r\n{"source": 0, "number": -32769, "formula": ""}\r\n--786fac4455e08cfeda7ca9107b7ad79d\r\nContent-Disposition: form-data; name="direction"\r\n\r\nltr\r\n--786fac4455e08cfeda7ca9107b7ad79d\r\nContent-Disposition: form-data; name="population"\r\n\r\n0\r\n--786fac4455e08cfeda7ca9107b7ad79d--\r\n' 'http://0.0.0.0:35909/api/languages/aa/?format=csv'
__________________________ PUT /api/projects/{slug}/ ___________________________
1. Test Case ID: U8JIkD
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`errors.0.attr,errors.0.code,errors.0.detail,errors.1.attr,errors.1.code,errors.1.detail,type
name,blank,This field may not be blank.,secondary_language,does_not_exist,"Invalid pk ""0"" - object does not exist.",validation_error`
Reproduce with:
curl -X PUT -H 'Token: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"name": "", "slug": "workbench", "web": "https://0.com", "check_flags": "", "translation_review": false, "source_review": false, "commit_policy": 0, "set_language_team": false, "instructions": "", "enable_hooks": false, "language_aliases": "", "secondary_language": 0, "enforced_2fa": false}' 'http://0.0.0.0:35909/api/projects/workbench/?format=csv'
_________________ PUT /api/projects/{slug}/machinery_settings/ _________________
1. Test Case ID: cMFQV4
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`errors.0.attr,errors.0.code,errors.0.detail,type
configuration,invalid,Service not found: service_name,validation_error`
Reproduce with:
curl -X PUT -H 'Token: [Filtered]' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"service_name": {}}' 'http://0.0.0.0:35909/api/projects/workbench/machinery_settings/?format=csv'
2. Test Case ID: IL1g9l
- Response violates schema
[{"attr":"configuration","code":"invalid","detail":"Service not found: service_name"}] is not of type "string"
Validated against the response schema for status code 400.
Schema at /properties/errors:
{
"type": "string"
}
Value:
[
{
"attr": "configuration",
"code": "invalid",
"detail": "Service not found: service_name"
}
]
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"Service not found: service_name","attr":"configuration"}]}`
Reproduce with:
curl -X PUT -H 'Token: [Filtered]' -H 'Bearer;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"service_name": {}}' 'http://0.0.0.0:35909/api/projects/workbench/machinery_settings/?format=json'
3. Test Case ID: 4HsN3K
- Undocumented HTTP status code
Received: 201
Documented: 401, 403, 404, 405, 406, 415, 423, 429, 500, 200, 400
[201] Created:
`message
Services installed: `
Reproduce with:
curl -X PUT -H 'Token: [Filtered]' -H 'Bearer;' -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=c637e12e2b1a998d80d1b087531af51c' -H 'Cookie: [Filtered]' -d $'--c637e12e2b1a998d80d1b087531af51c--\r\n' 'http://0.0.0.0:35909/api/projects/workbench/machinery_settings/?format=csv'
4. Test Case ID: MJRyOi
- Server error
[500] Internal Server Error:
`errors.0.attr,errors.0.code,errors.0.detail,type
,error,Server Error (500),server_error`
Reproduce with:
curl -X PUT -H 'Token: [Filtered]' -H 'Bearer;' -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '[null, null]' 'http://0.0.0.0:35909/api/projects/workbench/machinery_settings/?format=csv'
5. Test Case ID: 7YFxXb
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[201] Created:
`{"message":"Services installed: "}`
Reproduce with:
curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{}' 'http://0.0.0.0:35909/api/projects/workbench/machinery_settings/?format='
PUT /api/translations/{component__project__slug}/{component__slug}/{language__code}/file/
1. Test Case ID: GnBysD
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"The submitted data was not a file. Check the encoding type on the form.","attr":"file"}]}`
Reproduce with:
curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=03ab97bf749f074cbd3df54c7d68235f' -d $'--03ab97bf749f074cbd3df54c7d68235f\r\nContent-Disposition: form-data; name="file"\r\n\r\nhttp://localhost:35909/api/component-lists/000/\r\n--03ab97bf749f074cbd3df54c7d68235f--\r\n' http://0.0.0.0:35909/api/translations/workbench/strings/cs/file/
_____________________________ PUT /api/units/{id}/ _____________________________
1. Test Case ID: 6WuDaI
- Response violates schema
{"errors":[{"attr":"target","code":"invalid","detail":"Number of plurals does not match"}],"type":"validation_error"} is not valid under any of the schemas listed in the 'oneOf' keyword
Validated against the response schema for status code 400.
Schema at /components/schemas/ApiUnitsUpdateErrorResponse400:
{
"oneOf": [
{
"$ref": "#/components/schemas/ApiUnitsUpdateValidationError"
},
{
"$ref": "#/components/schemas/ParseErrorResponse"
}
],
"discriminator": {
"propertyName": "type",
"mapping": {
"validation_error": "#/components/schemas/ApiUnitsUpdateValidatio...
"client_error": "#/components/schemas/ParseErrorResponse"
}
}
}
Value:
{
"errors": [
{
"attr": "target",
"code": "invalid",
"detail": "Number of plurals does not match"
}
],
"type": "validation_error"
}
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"invalid","detail":"Number of plurals does not match","attr":"target"}]}`
Reproduce with:
curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"labels": [], "target": []}' http://0.0.0.0:35909/api/units/1/
2. Test Case ID: 7fvSFW
- Server error
[500] Internal Server Error:
`{"type":"server_error","errors":[{"code":"error","detail":"Server Error (500)","attr":null}]}`
Reproduce with:
curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -H 'Cookie: [Filtered]' -d '{"labels": [{"name": ""}], "target": []}' http://0.0.0.0:35909/api/units/1/
__________ PUT /api/users/{username}/notifications/{subscription_id}/ __________
1. Test Case ID: WP2GG7
- Undocumented Content-Type
Received: text/html; charset=utf-8
Documented: application/json, text/csv
[404] Not Found:
`
Page Not Found @ Weblate
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/changes/?timestamp_before=0407-10-18T14%3A00%3A54%2B03%3A12&user=%F1%AD%BF%B8%E1%8C%A3qz+×tamp_after=2026-10-07T06%3A18%3A42.587772Z&format=csv'
3. Test Case ID: jV9xqs
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"id":5,"name":"Manage glossary","permissions":["glossary.add","glossary.terminology","glossary.edit","glossary.delete","glossary.upload"],"url":"http://localhost:35909/api/roles/5/?format="}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/roles/
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/roles/5/?format='
4. Test Case ID: 7Q3QPi
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"name":"\u0010ý\u0001[õ\\ª\u001a","slug":"A","id":11,"show_dashboard":false,"components":[],"auto_assign":[],"url":"http://localhost:35909/api/component-lists/A/?format="}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/component-lists/
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/component-lists/A/?format='
5. Test Case ID: zUnkEa
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`errors.0.attr,errors.0.code,errors.0.detail,type
user,null_characters_not_allowed,Null characters are not allowed.,validation_error`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/changes/?action=59&action=61&action=36&action=27&action=8&action=73&format=csv&page_size=-405411×tamp_after=0245-08-17T15%3A16%3A56.090Z&page=-5286&user=%F2%8B%9F%88%C3%BC%E7%86%91u%3F%00%C2%9B%C2%9E%C3%84%23%C3%BC6%C2%93×tamp_before=0079-01-23T20%3A22%3A01.9-12%3A59'
6. Test Case ID: 6GqBGt
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"name":"Workbench","slug":"glossary","id":2,"source_language":{"id":179,"code":"en","name":"English","plural":{"id":179,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["base","en_en","en_us","eng","enp","source"],"direction":"ltr","population":1037673,"web_url":"http://localhost:35909/languages/en/","url":"http://localhost:35909/api/languages/en/?format=","statistics_url":"http://localhost:35909/api/languages/en/statistics/?format="},"project":{"name":"Workbench","slug":"workbench","id":1,"we // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/components/
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/glossary/?format='
7. Test Case ID: x7fOxh
- Response violates schema
null is not of type "string"
Validated against the response schema for status code 201.
Schema at /properties/category:
{
"type": "string",
"format": "uri"
}
Value:
null
[201] Created:
`{"id":1,"name":"¤°û","slug":"0LX","project":"http://localhost:35909/api/projects/CoGwjNOle5L/","category":null,"url":"http://localhost:35909/api/categories/1/","statistics_url":"http://localhost:35909/api/categories/1/statistics/"}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=44d0a003b2a4905245c4043a66a8f1f4' -d $'--44d0a003b2a4905245c4043a66a8f1f4\r\nContent-Disposition: form-data; name="\xf1\xa5\xb9\x8e(\x07ç8\xf2\xa7\x91\xaa"\r\n\r\n{"n\\u009a\\u00a6)-<\\udad9\\udef0": "+0.0", "\\ud99c\\ude38": null, "\\ud8be\\udf5d\\udafc\\udcda\\u00c9\\udbc4\\udf76\\uda3e\\udf65\\u0097\\ud856\\ude31\\u00dc": 6.345784609556213e+16}\r\n--44d0a003b2a4905245c4043a66a8f1f4\r\nContent-Disposition: form-data; name=""\r\n\r\n{"w\\u00e8H\\u00c4": 3031688, "\\u00f7r$\\u00eb\\u00b6\\u00b4\\u00db": 1.6199796159855244e-294}\r\n--44d0a003b2a4905245c4043a66a8f1f4\r\nContent-Disposition: form-data; name=""\r\n\r\n{}\r\n--44d0a003b2a4905245c4043a66a8f1f4\r\nContent-Disposition: form-data; name=""\r\n\r\n[955, -4277, "M\\u00f5\\ud953\\udf0f"]\r\n--44d0a003b2a4905245c4043a66a8f1f4\r\nContent-Disposition: form-data; name="name"\r\n\r\n¤°û\r\n--44d0a003b2a4905245c4043a66a8f1f4\r\nContent-Disposition: form-data; name="project"\r\n\r\nhttp://localhost:35909/api/projects/CoGwjNOle5L/\r\n--44d0a003b2a4905245c4043a66a8f1f4\r\nContent-Disposition: form-data; name="slug"\r\n\r\n0LX\r\n--44d0a003b2a4905245c4043a66a8f1f4--\r\n' http://0.0.0.0:35909/api/categories/
8. Test Case ID: pb5G97
- Response violates schema
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Category/properties/category:
{
"type": "string",
"format": "uri"
}
Value:
null
[200] OK:
`{"count":1,"next":null,"previous":null,"results":[{"id":1,"name":"¤°û","slug":"0LX","project":"http://localhost:35909/api/projects/CoGwjNOle5L/?format=json","category":null,"url":"http://localhost:35909/api/categories/1/?format=json","statistics_url":"http://localhost:35909/api/categories/1/statistics/?format=json"}]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/categories/?format=json&page_size=-460'
9. Test Case ID: QVR5EQ
- Undocumented Content-Type
Received: application/binary
Documented: application/json, text/csv
[200] OK:
`msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
msgid "Hello"
msgstr ""
msgid "World"
msgstr ""`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/?page_size=true&format=csv'
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/components/workbench/strings/new_template/?format=json'
10. Test Case ID: FT6HtS
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`{"type":"validation_error","errors":[{"code":"null_characters_not_allowed","detail":"Null characters are not allowed.","attr":"username"}]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/users/?username=6%00%C3%83&id=3&format=json&page_size=544&page=917'
11. Test Case ID: gDdpjL
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: in body
- violates `not` at /properties/id
- violates `type` at /properties/name (was string, became null)
[201] Created:
`{"name":"null","slug":"ve","id":86,"show_dashboard":false,"components":[],"auto_assign":[],"url":"http://localhost:35909/api/component-lists/ve/"}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Token: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=b1e97767fd570f94e999f3bcd519513a' -d $'--b1e97767fd570f94e999f3bcd519513a\r\nContent-Disposition: form-data; name="slug"\r\n\r\nve\r\n--b1e97767fd570f94e999f3bcd519513a\r\nContent-Disposition: form-data; name="id"\r\n\r\n{"": {"\\u0094d": null}, "\\u00de\\udad8\\udfb3\\u00f1\\u00bcT\\u0096k\\u00d9\\u001e\\uda92\\udc43\\uecf8\\uf5a7\\u00b5\\u009a": [], "\\udbf3\\udf05\\u864cC\\u00ae\\udbe9\\ude5b\\u0015\\u000e\\u00f1[\\ud9d8\\udeb7\\u009cbX\\u009b\\u00be": []}\r\n--b1e97767fd570f94e999f3bcd519513a\r\nContent-Disposition: form-data; name="name"\r\n\r\nnull\r\n--b1e97767fd570f94e999f3bcd519513a--\r\n' http://0.0.0.0:35909/api/component-lists/
12. Test Case ID: BvNO5k
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[201] Created:
`{"name":"\u0018Pt¼T\u0017Ýæ\u001b","slug":"BML75G","id":28,"web":"https://mbttvnf8.9.org","web_url":"http://localhost:35909/projects/BML75G/","url":"http://localhost:35909/api/projects/BML75G/?format=","check_flags":"","components_list_url":"http://localhost:35909/api/projects/BML75G/components/?format=","repository_url":"http://localhost:35909/api/projects/BML75G/repository/?format=","statistics_url":"http://localhost:35909/api/projects/BML75G/statistics/?format=","categories_url":"http://localhost:35909/a // Output truncated...`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/x-www-form-urlencoded' -H 'Cookie: [Filtered]' -d '%3A%C2%9E%1B%F1%82%81%9A=%F0%92%B9%9EQ%C2%97&%3A%C2%9E%1B%F1%82%81%9A=C%2F8%C2%80%1E%F2%8F%A7%BCh%04p%F3%99%83%A1%C2%8E%C2%90%3B%C3%A2%C3%ACF%C2%9A%1E8%C2%B1%C2%8C&%3A%C2%9E%1B%F1%82%81%9A=%F0%91%97%B8b%C3%98%01%C3%B6%7C&%C3%B6%0C%C2%A9%EE%B0%ABD=null&%F3%8E%B6%95%F1%A8%82%A7%C2%BFL2Y%F2%B4%92%BB=-69392&%F3%8E%B6%95%F1%A8%82%A7%C2%BFL2Y%F2%B4%92%BB=null&web=https%3A%2F%2Fmbttvnf8.9.org&slug=BML75G&name=%18Pt%C2%BCT%17%C3%9D%C3%A6%1B' 'http://0.0.0.0:35909/api/projects/?format='
13. Test Case ID: HQGT4b
- Server error
[500] Internal Server Error:
`errors.0.attr,errors.0.code,errors.0.detail,type
,error,Server Error (500),server_error`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=cbce2d4494ebb42da967224522b84af3' -d $'--cbce2d4494ebb42da967224522b84af3\r\nContent-Disposition: form-data; name=""\r\n\r\n-4.311693542107177e+24\r\n--cbce2d4494ebb42da967224522b84af3\r\nContent-Disposition: form-data; name="ZÇÀ\xc2\x8fçWL¤Ëq\xf1\x91\x8e\x84\xc2\x8c´ùµ\xc2\x81\xc2\x9ev$"\r\n\r\n{}\r\n--cbce2d4494ebb42da967224522b84af3\r\nContent-Disposition: form-data; name="\x04y"\r\n\r\n{"\\u00cdj\\u00f9Q": {"\\ud84d\\ude79D\\uda86\\ude67g\\u00ec": null, "\'\\u0081\\ud877\\uddef\\ud8ac\\udcff\\udac3\\udcf7\\u00ec\\udbcd\\uddcd\\u00a3\\u00a8\\u00dd\\u00e7": true, "\\u00ef\\u00df\\u00a5\\u1f9f\\u00a1\\u627a\\u00dc\\u00e3\\u00da\\ud969\\ude8d\\u00fb": 1.1779786993859634e-78}}\r\n--cbce2d4494ebb42da967224522b84af3\r\nContent-Disposition: form-data; name="(╯°□°)╯︵ ┻━┻)"\r\n\r\n{}\r\n--cbce2d4494ebb42da967224522b84af3\r\nContent-Disposition: form-data; name="permissions"\r\n\r\n¯»\x00x𦇫\xf2\x89\x80\x9f¼\x12\xf2\xba\xbf\x9f\x06½\xc2\x8e\xf3\x8b\xa3\x88𱁌Èì\xf3\xbd\xa0\xa7Ò\x07Dk\r\n--cbce2d4494ebb42da967224522b84af3\r\nContent-Disposition: form-data; name="permissions"\r\n\r\n:\x12\xc2\x9c\xf2\x84\xb9\x9bË\xf3\x8c\xa7\x8f\r\n--cbce2d4494ebb42da967224522b84af3\r\nContent-Disposition: form-data; name="name"\r\n\r\ný\xc2\x88\r\n--cbce2d4494ebb42da967224522b84af3--\r\n' 'http://0.0.0.0:35909/api/roles/?format=csv'
14. Test Case ID: NPfhnh
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[204] No Content:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/languages/
curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:35909/api/languages/ar_MA/?format='
15. Test Case ID: g72ZQ3
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"result":true}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/projects/
curl -X POST -H 'Authorization: [Filtered]' -H 'Content-Type: application/x-www-form-urlencoded' -d operation=pull-merge-noff 'http://0.0.0.0:35909/api/projects/zh/repository/?format='
16. Test Case ID: SDeq2i
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[204] No Content:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/memory/?page_size=4109097'
curl -X DELETE -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/memory/3/?format='
17. Test Case ID: AQQaPJ
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/projects/
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/projects/fZ/languages/?format=csv'
18. Test Case ID: 7t2bgg
- Response violates schema
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /properties/category:
{
"type": "string",
"format": "uri"
}
Value:
null
[200] OK:
`{"id":2,"name":"[","slug":"mA00OtV7i","project":"http://localhost:35909/api/projects/CoGwjNOle5L/?format=json","category":null,"url":"http://localhost:35909/api/categories/2/?format=json","statistics_url":"http://localhost:35909/api/categories/2/statistics/?format=json"}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/categories/
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/categories/2/?format=json'
19. Test Case ID: GfN4U7
- Response violates schema
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /properties/category:
{
"type": "string",
"format": "uri"
}
Value:
null
[200] OK:
`{"id":2,"name":"[","slug":"mA00OtV7i","project":"http://localhost:35909/api/projects/CoGwjNOle5L/?format=json","category":null,"url":"http://localhost:35909/api/categories/2/?format=json","statistics_url":"http://localhost:35909/api/categories/2/statistics/?format=json"}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/categories/?page_size=16777215'
curl -X PATCH -H 'Authorization: [Filtered]' -H 'Token: [Filtered]' -H 'Bearer: 3bKT' 'http://0.0.0.0:35909/api/categories/2/?format=json'
20. Test Case ID: awSeL3
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[204] No Content:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/component-lists/
curl -X DELETE -H 'Authorization: [Filtered]' -H 'Cookie: [Filtered]' 'http://0.0.0.0:35909/api/component-lists/G5v/?format='
21. Test Case ID: HGbE5X
- Server error
[500] Internal Server Error:
`{"type":"server_error","errors":[{"code":"error","detail":"Server Error (500)","attr":null}]}`
Reproduce with:
curl -X POST -H 'Authorization: [Filtered]' -H 'Token: [Filtered]' -H 'Content-Type: application/json' -d '{"\udacf\uddbd": [2.990950446524237e+16, 5333501883097153.0, []], "population": 75, "code": "03", "direction": "ltr", "plural": {"\u0089\u00e1\u0012": {"Ap\udb44\udd8d\u008d\u00fe\u00fc\u000f": ["\u00c4?\udb96\udc31<\u00bd\ud911\udc01\u000e\u00b8_\u00fa\ud97f\ude36\udbba\udfdf\u00ef\u00c6\u00fd", 4922916745274454.0, 40389575740426]}, "\uda6c\ude04\ud86a\ude78\u0098\u00dc'"'"'\u00c4r": [], "\ud9cd\udccc\u007fN6j\u00a7f\u00e5\u009b\udb98\udffd\r\ud92f\ude85\u00b5\u00c9\u007f\u00e8": false, "U": -1459145633944658, "source": 3}}' http://0.0.0.0:35909/api/languages/
22. Test Case ID: g6CLua
- Server error
[500] Internal Server Error:
`{"type":"server_error","errors":[{"code":"error","detail":"Server Error (500)","attr":null}]}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/languages/?page_size=14678'
23. Test Case ID: lYfCsz
- Response violates schema (2 violations)
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/license_url:
{
"type": "string",
"readOnly": true
}
Value:
null
null is not of type "string"
Validated against the response schema for status code 200.
Schema at /components/schemas/Component/properties/linked_component:
{
"type": "string",
"format": "uri",
"readOnly": true
}
Value:
null
[200] OK:
`{"name":"Strings","slug":"strings","id":1,"source_language":{"id":179,"code":"en","name":"","plural":{"id":179,"source":0,"number":2,"formula":"n != 1","type":1},"aliases":["base","en_en","en_us","eng","enp","source"],"direction":"ltr","population":568030536,"web_url":"http://localhost:35909/languages/en/","url":"http://localhost:35909/api/languages/en/","statistics_url":"http://localhost:35909/api/languages/en/statistics/"},"project":{"name":"Workbench","slug":"workbench","id":1,"web":"https://0.com","web // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/components/
curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: application/json' -d '{"file_format": "csv", "repo": "local:", "language_regex": "^[^.]+$", "slug": "strings", "allow_translation_propagation": true, "name": "Strings", "addon_message": "Update translation files\n\nUpdated by \"{{ addon_name }}\" add-on in Weblate.\n\nTranslation: {{ project_name }}/{{ component_name }}\nTranslate-URL: {{ url }}", "priority": 100, "filemask": "po/*.po", "id": 1, "project": {"name": "Workbench", "slug": "workbench", "id": 1, "web": "https://0.com", "web_url": "http://localhost:35909/projects/workbench/", "url": "http://localhost:35909/api/projects/workbench/", "check_flags": "", "components_list_url": "http://localhost:35909/api/projects/workbench/components/", "repository_url": "http://localhost:35909/api/projects/workbench/repository/", "statistics_url": "http://localhost:35909/api/projects/workbench/statistics/", "categories_url": "http://localhost:35909/api/projects/workbench/categories/", "changes_list_url": "http://localhost:35909/api/projects/workbench/changes/", "languages_url": "http://localhost:35909/api/projects/workbench/languages/", "labels_url": "http://localhost:35909/api/projects/workbench/labels/", "credits_url": "http://localhost:35909/api/projects/workbench/credits/", "lock_url": "http://localhost:35909/api/projects/workbench/lock/", "translation_review": false, "source_review": false, "commit_policy": 0, "set_language_team": false, "instructions": "", "enable_hooks": false, "language_aliases": "", "secondary_language": null, "enforced_2fa": true, "machinery_settings": "http://localhost:35909/api/projects/workbench/machinery_settings/", "locked": false}, "license_url": null, "web_url": "http://localhost:35909/projects/workbench/glossary/", "url": "http://localhost:35909/api/components/workbench/strings/", "repository_url": "http://localhost:35909/api/components/workbench/strings/repository/", "translations_url": "http://localhost:35909/api/components/workbench/glossary/translations/", "statistics_url": "http://localhost:35909/api/components/workbench/glossary/statistics/", "lock_url": "http://localhost:35909/api/components/workbench/strings/lock/", "task_url": null, "addons": [], "linked_component": null, "locked": false}' http://0.0.0.0:35909/api/components/workbench/strings/
24. Test Case ID: iMQMdR
- Response violates schema
"id" is a required property
Validated against the response schema for status code 200.
Schema:
{
"required": [
"id",
"name",
"project",
"slug",
"statistics_url",
"url"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"readOnly": true
},
"name": {
"type": "string",
"title": "Category name",
"description": "Display name",
// Output truncated...
}
Value:
{
"approved": 0,
"approved_chars": 0,
"approved_chars_percent": 100.0,
"approved_percent": 100.0,
"approved_words": 0,
"approved_words_percent": 100.0,
"comments": 0,
"failing": 0,
"failing_percent": 0.0,
"fuzzy": 0,
"fuzzy_chars": 0,
"fuzzy_chars_percent": 0.0,
"fuzzy_percent": 0.0,
"fuzzy_words": 0,
"fuzzy_words_percent": 0.0,
"last_change": null,
"name": "\u009cxCD",
"readonly": 0,
// Output truncated...
}
[200] OK:
`{"total":0,"total_words":0,"total_chars":0,"last_change":null,"recent_changes":0,"translated":0,"translated_words":0,"translated_percent":0.0,"translated_words_percent":0.0,"translated_chars":0,"translated_chars_percent":0.0,"fuzzy":0,"fuzzy_percent":0.0,"fuzzy_words":0,"fuzzy_words_percent":0.0,"fuzzy_chars":0,"fuzzy_chars_percent":0.0,"failing":0,"failing_percent":0.0,"approved":0,"approved_percent":100.0,"approved_words":0,"approved_words_percent":100.0,"approved_chars":0,"approved_chars_percent":100.0," // Output truncated...`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/categories/?page_size=921172'
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/categories/4/statistics/
25. Test Case ID: VNmUOL
- JSON deserialization error
Response must be valid JSON with 'Content-Type: application/json' header:
Expecting value: line 1 column 1 (char 0)
- Missing Content-Type header
The following media types are documented in the schema:
- `application/json`
- `text/csv`
[200] OK:
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/units/
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/units/1/translations/?format=csv'
26. Test Case ID: fMFPts
- API rejected schema-compliant request
Valid data should have been accepted
Expected: 2xx, 401, 403, 404, 409, 429, 5xx
[400] Bad Request:
`errors.0.attr,errors.0.code,errors.0.detail,type
source,blank,This field may not be blank.,validation_error`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/memory/?page_size=-46986'
curl -X PUT -H 'Authorization: [Filtered]' -H 'Content-Type: multipart/form-data; boundary=d6a8de416754d85d0db821ace7ece3c2' -d $'--d6a8de416754d85d0db821ace7ece3c2\r\nContent-Disposition: form-data; name="target"\r\n\r\n\xf2\xbd\xa8\xbbT
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/categories/?format=&page=&page_size=false'
curl -X DELETE -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/categories/7/?format='
28. Test Case ID: b1VtBd
- API accepted schema-violating request
Invalid data should have been rejected
Expected: 400, 401, 403, 404, 405, 406, 409, 415, 422, 428, 429, 5xx
Invalid component: parameter `format` in query - violates `enum` at /properties/format
[200] OK:
`{"id":8,"name":"ó, qÔ𢷍b\\","slug":"kMl7b-mXpXgDk","project":"http://localhost:35909/api/projects/K/?format=","category":null,"url":"http://localhost:35909/api/categories/8/?format=","statistics_url":"http://localhost:35909/api/categories/8/statistics/?format="}`
Reproduce with:
curl -X GET -H 'Authorization: [Filtered]' http://0.0.0.0:35909/api/categories/
curl -X GET -H 'Authorization: [Filtered]' 'http://0.0.0.0:35909/api/categories/8/?format='
=================================== WARNINGS ===================================
Authentication failed: 3 operations returned authentication errors
403 Forbidden (3 operations):
- POST /api/translations/{component__project__slug}/{component__slug}/{language__code}/autotranslate/
- POST /api/translations/{component__project__slug}/{component__slug}/{language__code}/units/
- PUT /api/translations/{component__project__slug}/{component__slug}/{language__code}/file/
💡 Ensure valid authentication credentials are set via --auth or -H
Missing test data: 42 operations repeatedly returned 404 Not Found, preventing tests from reaching your API's core logic
- DELETE /api/addons/{id}/
- DELETE /api/component-lists/{slug}/components/{component_slug}/
- DELETE /api/components/{project__slug}/{slug}/links/{project_slug}/
- DELETE /api/groups/{id}/componentlists/{component_list_id}/
- DELETE /api/groups/{id}/components/{component_id}/
- DELETE /api/groups/{id}/projects/{project_id}/
- DELETE /api/screenshots/{id}/
- DELETE /api/screenshots/{id}/units/{unit_id}/
- DELETE /api/units/{id}/
- GET /api/addons/{id}/
- GET /api/components/{project__slug}/{slug}/credits/
- GET /api/components/{project__slug}/{slug}/monolingual_base/
- GET /api/memory/{id}/
- GET /api/screenshots/{id}/
- GET /api/screenshots/{id}/file/
- PATCH /api/addons/{id}/
- PATCH /api/categories/{id}/
- PATCH /api/screenshots/{id}/
- POST /api/component-lists/{slug}/components/
- POST /api/components/{project__slug}/{slug}/addons/
- POST /api/components/{project__slug}/{slug}/links/
- POST /api/components/{project__slug}/{slug}/repository/
- POST /api/components/{project__slug}/{slug}/translations/
- POST /api/groups/{id}/admins/
- POST /api/groups/{id}/componentlists/
- POST /api/groups/{id}/components/
- POST /api/groups/{id}/languages/
- POST /api/groups/{id}/projects/
- POST /api/groups/{id}/roles/
- POST /api/screenshots/{id}/file/
- POST /api/screenshots/{id}/units/
- POST /api/translations/{component__project__slug}/{component__slug}/{language__code}/autotranslate/
- POST /api/translations/{component__project__slug}/{component__slug}/{language__code}/file/
- POST /api/translations/{component__project__slug}/{component__slug}/{language__code}/units/
- POST /api/users/{username}/groups/
- PUT /api/addons/{id}/
- PUT /api/categories/{id}/
- PUT /api/screenshots/{id}/
- PUT /api/screenshots/{id}/file/
- PUT /api/translations/{component__project__slug}/{component__slug}/{language__code}/file/
- PUT /api/units/{id}/
- PUT /api/users/{username}/notifications/{subscription_id}/
💡 Check the operations that create this data - their responses do not yield usable identifiers
Schema validation skipped: 145 operations cannot validate responses in 2 media types due to missing deserializers
application/openmetrics-text (1 operation):
- GET /api/metrics/ (200, 400, 401, 405, 406, 415, 423, 429, 500)
text/csv (145 operations):
- DELETE /api/addons/{id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/categories/{id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/component-lists/{slug}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/component-lists/{slug}/components/{component_slug}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/components/{project__slug}/{slug}/links/{project_slug}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/groups/{id}/componentlists/{component_list_id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/groups/{id}/components/{component_id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/groups/{id}/languages/{language_code}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/groups/{id}/projects/{project_id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/languages/{code}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/memory/{id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/projects/{slug}/labels/{label_id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/screenshots/{id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/screenshots/{id}/units/{unit_id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/tasks/{id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/units/{id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- DELETE /api/users/{username}/notifications/{subscription_id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/addons/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/addons/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/categories/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/categories/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/categories/{id}/statistics/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/changes/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/changes/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/component-lists/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/component-lists/{slug}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/component-lists/{slug}/components/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/changes/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/credits/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/file/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/links/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/lock/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/monolingual_base/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/new_template/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/repository/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/screenshots/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/statistics/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/components/{project__slug}/{slug}/translations/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/groups/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/groups/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/languages/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/languages/{code}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/languages/{code}/statistics/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/memory/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/memory/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/metrics/ (200, 400, 401, 405, 406, 415, 423, 429, 500)
- GET /api/projects/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/projects/{slug}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/projects/{slug}/categories/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/projects/{slug}/changes/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/projects/{slug}/components/ (200, 400, 401, 403, 404, 405, 406, 423, 429, 500)
- GET /api/projects/{slug}/credits/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/projects/{slug}/file/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/projects/{slug}/labels/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/projects/{slug}/languages/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/projects/{slug}/lock/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/projects/{slug}/machinery_settings/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/projects/{slug}/repository/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/projects/{slug}/statistics/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/roles/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/roles/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/screenshots/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/screenshots/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/screenshots/{id}/file/ (200, 400, 401, 403, 404, 405, 406, 423, 429, 500)
- GET /api/search/ (400, 401, 403, 405, 406, 415, 423, 429, 500)
- GET /api/tasks/{id}/ (400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/translations/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/changes/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/file/ (200, 400, 401, 403, 404, 405, 406, 423, 429, 500)
- GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/repository/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/statistics/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/translations/{component__project__slug}/{component__slug}/{language__code}/units/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/units/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/units/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/units/{id}/translations/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/users/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/users/{username}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/users/{username}/contributions/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/users/{username}/notifications/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/users/{username}/notifications/{subscription_id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- GET /api/users/{username}/statistics/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PATCH /api/addons/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PATCH /api/categories/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PATCH /api/component-lists/{slug}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PATCH /api/components/{project__slug}/{slug}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PATCH /api/languages/{code}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PATCH /api/memory/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PATCH /api/projects/{slug}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PATCH /api/projects/{slug}/machinery_settings/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PATCH /api/screenshots/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PATCH /api/units/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PATCH /api/users/{username}/notifications/{subscription_id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/categories/ (201, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/component-lists/ (201, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/component-lists/{slug}/components/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/components/{project__slug}/{slug}/addons/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/components/{project__slug}/{slug}/links/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/components/{project__slug}/{slug}/lock/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/components/{project__slug}/{slug}/repository/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/components/{project__slug}/{slug}/translations/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/groups/ (201, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/groups/{id}/admins/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/groups/{id}/componentlists/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/groups/{id}/components/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/groups/{id}/languages/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/groups/{id}/projects/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/groups/{id}/roles/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/languages/ (201, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/memory/ (201, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/projects/ (201, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/projects/{slug}/addons/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/projects/{slug}/components/ (200, 400, 401, 403, 404, 405, 406, 423, 429, 500)
- POST /api/projects/{slug}/labels/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/projects/{slug}/lock/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/projects/{slug}/machinery_settings/ (201, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/projects/{slug}/repository/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/roles/ (201, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/screenshots/ (201, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/screenshots/{id}/file/ (200, 400, 401, 403, 404, 405, 406, 423, 429, 500)
- POST /api/screenshots/{id}/units/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/translations/{component__project__slug}/{component__slug}/{language__code}/autotranslate/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/translations/{component__project__slug}/{component__slug}/{language__code}/file/ (200, 400, 401, 403, 404, 405, 406, 423, 429, 500)
- POST /api/translations/{component__project__slug}/{component__slug}/{language__code}/repository/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/translations/{component__project__slug}/{component__slug}/{language__code}/units/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/units/{id}/comments/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/users/ (201, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/users/{username}/groups/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /api/users/{username}/notifications/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- POST /hooks/{service}/ (200, 400, 404, 405, 406, 415, 423, 429, 500)
- PUT /api/addons/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PUT /api/categories/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PUT /api/component-lists/{slug}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PUT /api/components/{project__slug}/{slug}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PUT /api/languages/{code}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PUT /api/memory/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PUT /api/projects/{slug}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PUT /api/projects/{slug}/machinery_settings/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PUT /api/screenshots/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PUT /api/screenshots/{id}/file/ (200, 400, 401, 403, 404, 405, 406, 423, 429, 500)
- PUT /api/translations/{component__project__slug}/{component__slug}/{language__code}/file/ (200, 400, 401, 403, 404, 405, 406, 423, 429, 500)
- PUT /api/units/{id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
- PUT /api/users/{username}/notifications/{subscription_id}/ (200, 400, 401, 403, 404, 405, 406, 415, 423, 429, 500)
💡 Register a deserializer with @schemathesis.deserializer() to enable validation
=================================== SUMMARY ====================================
API Operations:
Selected: 145/160
Tested: 145
Test Phases:
❌ Examples
❌ Coverage
❌ Fuzzing
❌ Stateful
Failures:
❌ Server error: 17
❌ Response violates schema: 137
❌ API accepted schema-violating request: 78
❌ API rejected schema-compliant request: 49
❌ JSON deserialization error: 19
❌ Missing Content-Type header: 19
❌ Undocumented Content-Type: 15
❌ Undocumented HTTP status code: 5
Warnings:
⚠️ Missing authentication: 3 operations returned only 401/403 responses
⚠️ Missing valid test data: 42 operations repeatedly returned 404 responses
⚠️ Schema validation skipped: 145 operations cannot validate responses in 2 media types
Test cases:
167518 generated, 245 found 339 unique failures, 419 errored
Seed: 320131318801004135693278544437888000290
===================== 339 failures, 3 warnings in 3600.14s =====================