diff --git a/CHANGELOG.md b/CHANGELOG.md index a343c11..5afb5cb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://github.com/Art4/wegliphant/compare/0.3.0...main) +### Added + +- The supported weg.li-API spec as Swagger 2.0 json format was added. + ## [0.3.0 - 2024-03-07](https://github.com/Art4/wegliphant/compare/0.2.0...0.3.0) ### Added diff --git a/README.md b/README.md index e2d14a4..9e28db2 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,10 @@ 🐘 Wegliphant is a PHP client for the [weg.li](https://www.weg.li/) 🚲💨 API. -API Docs: https://www.weg.li/api +- API Docs: https://www.weg.li/api +- API Source: https://www.weg.li/apidocs.json +- API Version: https://github.com/weg-li/weg-li/tree/c1b13d731cba72b18a221c9b6c71324d78614bd2 +- API Datetime: 2024-03-06T09:21:36Z Requires: PHP ^8.1 diff --git a/tests/spec/apidocs.json b/tests/spec/apidocs.json new file mode 100644 index 0000000..e7e76e4 --- /dev/null +++ b/tests/spec/apidocs.json @@ -0,0 +1,2686 @@ +{ + "swagger": "2.0", + "securityDefinitions": { + "api_key": { + "type": "apiKey", + "name": "X-API-KEY", + "in": "header" + } + }, + "security": [ + { + "api_key": [] + } + ], + "info": { + "version": "1.0.0+c1b13d731cba72b18a221c9b6c71324d78614bd2", + "title": "weg.li API Docs", + "description": "\n The weg.li API allows an authorized user to manage notices, upload photos and notify the authorities.\n\n The API-KEY can be obtained via the profile page https://www.weg.li/user\n\n Creating a notice requires creating uploads for each photo previously and uploading the binary data through a presigned URL to the gcloud.\n\n So in order to create a notice the client needs to follow those steps:\n 1. Create a new upload using the filename, the size in bytes of the file, the MD5 base64 Digest of the file and the content-type image/jpeg\n 2. Use the response fields 'url' and 'headers' in order to upload the binary data via PUT request\n 3. Repeat for every photo\n 4. Create notice using signed_id keys of the uploads created as the values to the photos array of the notice\n\n An example Implementation can be found here https://github.com/weg-li/weg-li/blob/master/api_usage_example\n ", + "termsOfService": "https://www.weg.li/privacy/", + "contact": { + "name": "Peter Schröder" + }, + "license": { + "name": "MIT" + } + }, + "tags": [ + { + "name": "notice", + "description": "Notice operations", + "externalDocs": { + "description": "Documentation of Types and Operations", + "url": "https://swagger.io/specification/" + } + }, + { + "name": "upload", + "description": "Upload operations", + "externalDocs": { + "description": "Documentation of Types and Operations", + "url": "https://swagger.io/specification/" + } + } + ], + "host": "www.weg.li", + "basePath": "/api", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": { + "/notices": { + "get": { + "summary": "Get all Notices", + "description": "Returns a list of notices for the authorized user", + "tags": [ + "notice" + ], + "responses": { + "200": { + "description": "notices response", + "schema": { + "type": "array", + "items": { + "$ref": "#/definitions/Notice" + } + } + }, + "default": { + "description": "unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "post": { + "summary": "Create Notice", + "description": "Creates a new notice, using the signed_id keys from an upload that was created previously as keys to the photos array", + "operationId": "addNotice", + "tags": [ + "notice" + ], + "parameters": [ + { + "name": "notice", + "in": "body", + "description": "Notice to add", + "required": true, + "schema": { + "$ref": "#/definitions/NoticeInput" + } + } + ], + "responses": { + "201": { + "description": "notice response", + "schema": { + "$ref": "#/definitions/Notice" + } + }, + "default": { + "description": "unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/notices/{token}": { + "get": { + "summary": "Get Notice", + "description": "Gets a notice for the authorized user", + "tags": [ + "notice" + ], + "parameters": [ + { + "name": "token", + "in": "path", + "description": "Token of notice", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "notice response", + "schema": { + "$ref": "#/definitions/Notice" + } + }, + "default": { + "description": "unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "patch": { + "summary": "Update Notice", + "description": "Updates a notice for the authorized user", + "tags": [ + "notice" + ], + "parameters": [ + { + "name": "token", + "in": "path", + "description": "Token of notice to update", + "required": true, + "type": "string" + }, + { + "name": "notice", + "in": "body", + "description": "Notice to update", + "required": true, + "schema": { + "$ref": "#/definitions/NoticeInput" + } + } + ], + "responses": { + "200": { + "description": "notice response", + "schema": { + "$ref": "#/definitions/Notice" + } + }, + "default": { + "description": "unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + }, + "delete": { + "summary": "Delete Notice", + "description": "Deletes a single notice for the authorized user", + "tags": [ + "notice" + ], + "parameters": [ + { + "name": "token", + "in": "path", + "description": "Token of notice to delete", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "notice response", + "schema": { + "$ref": "#/definitions/Notice" + } + }, + "default": { + "description": "unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/notices/{token}/mail": { + "patch": { + "summary": "Submit Notice", + "description": "Submits a single notice for the authorized user", + "tags": [ + "notice" + ], + "parameters": [ + { + "name": "token", + "in": "path", + "description": "Token of notice to submit", + "required": true, + "type": "string" + } + ], + "responses": { + "200": { + "description": "notice response", + "schema": { + "$ref": "#/definitions/Notice" + } + }, + "default": { + "description": "unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + }, + "/uploads": { + "post": { + "summary": "Create Upload", + "description": "Creates an upload containing the presigned-urls for an authorized user", + "tags": [ + "upload" + ], + "parameters": [ + { + "name": "upload", + "in": "body", + "description": "Upload to add", + "required": true, + "schema": { + "$ref": "#/definitions/UploadInput" + } + } + ], + "responses": { + "201": { + "description": "upload response", + "schema": { + "$ref": "#/definitions/Upload" + } + }, + "default": { + "description": "unexpected error", + "schema": { + "$ref": "#/definitions/Error" + } + } + } + } + } + }, + "definitions": { + "Notice": { + "properties": { + "token": { + "type": "string" + }, + "status": { + "type": "string", + "enum": [ + "open", + "disabled", + "analyzing", + "shared" + ] + }, + "street": { + "type": "string" + }, + "city": { + "type": "string" + }, + "zip": { + "type": "string", + "pattern": "^\\d{5}$" + }, + "latitude": { + "type": "number", + "format": "float" + }, + "longitude": { + "type": "number", + "format": "float" + }, + "registration": { + "type": "string" + }, + "brand": { + "type": "string", + "enum": [ + "Abarth", + "Adria", + "Aixam", + "Alfa Romeo", + "Alpine", + "Aston Martin", + "Audi", + "BMW", + "BYD", + "Bentley", + "Brabus", + "Brixton", + "Buick", + "CFMOTO", + "Cadillac", + "Chevrolet", + "Chrysler", + "Citroën", + "Corvette", + "Cupra", + "DAF", + "DS Automobiles", + "Dacia", + "Daewoo", + "Daihatsu", + "Dodge", + "Dong Feng", + "Dong Feng", + "Ferrari", + "Fiat", + "Ford", + "Genesis", + "Honda", + "Hummer", + "Hymer", + "Hyundai", + "IVECO", + "Infiniti", + "Isuzu", + "Jaguar", + "Jeep", + "Kia", + "Lada", + "Lamborghini", + "Lancia", + "Land Rover", + "Lexus", + "Lincoln", + "Lotus", + "Lynk \u0026 Co", + "MAN", + "MG", + "MINI", + "Maserati", + "Maxus", + "Maybach", + "Mazda", + "McLaren", + "Mercedes-Benz", + "Mitsubishi", + "Morgan", + "Nio", + "Nissan", + "Opel", + "Pagani", + "Peugeot", + "Polestar", + "Porsche", + "Qoros", + "RAM Trucks", + "Renault", + "Rolls Royce", + "Rover", + "SCANIA", + "SKYWELL", + "SKYWELL", + "Saab", + "Saleen", + "Seat", + "Setra", + "Smart", + "Spyker", + "SsangYong", + "Streetscooter", + "Subaru", + "Suzuki", + "Tata", + "Tesla", + "Toyota", + "Trabant", + "Venturi", + "Volkswagen", + "Volvo", + "Wiesmann", + "Škoda" + ] + }, + "color": { + "type": "string", + "enum": [ + "gold_yellow", + "gray_silver", + "pink_purple_violet", + "black", + "silver", + "gray", + "white", + "beige", + "blue", + "brown", + "yellow", + "green", + "red", + "violet", + "purple", + "pink", + "orange", + "gold" + ] + }, + "tbnr": { + "type": "string", + "enum": [ + "101024", + "101024", + "101024", + "000000", + "101048", + "101048", + "101048", + "101060", + "101060", + "101060", + "112110", + "112110", + "112110", + "112110", + "112402", + "112402", + "112402", + "109155", + "109160", + "109161", + "109161", + "112041", + "112000", + "112001", + "112001", + "112006", + "112012", + "112018", + "112020", + "112022", + "112022", + "112022", + "112022", + "112023", + "112023", + "112023", + "112110", + "112023", + "112024", + "112024", + "112024", + "112024", + "112025", + "112025", + "112025", + "112025", + "112030", + "112032", + "112033", + "112033", + "112034", + "112035", + "112035", + "112040", + "112040", + "112040", + "112041", + "112041", + "112041", + "112042", + "112042", + "112042", + "112043", + "112043", + "112043", + "112043", + "112044", + "112044", + "112044", + "112044", + "112045", + "112045", + "112045", + "112050", + "112050", + "112050", + "112050", + "112051", + "112051", + "112051", + "112051", + "112051", + "112060", + "112060", + "112060", + "112061", + "112061", + "112061", + "112061", + "112062", + "112062", + "112062", + "112063", + "112063", + "112063", + "112063", + "112064", + "112064", + "112064", + "112065", + "112065", + "112065", + "112065", + "112070", + "112070", + "112071", + "112071", + "112076", + "112076", + "112076", + "112080", + "112080", + "112080", + "112080", + "112081", + "112081", + "112081", + "112081", + "112100", + "112100", + "112100", + "112100", + "112100", + "112100", + "112100", + "112101", + "112101", + "112101", + "112101", + "112101", + "112101", + "112101", + "112102", + "112102", + "112102", + "112102", + "112102", + "112102", + "112102", + "112103", + "112103", + "112103", + "112103", + "112103", + "112103", + "112104", + "112104", + "112104", + "112104", + "112104", + "112104", + "112104", + "112105", + "112105", + "112105", + "112105", + "112105", + "112105", + "112111", + "112111", + "112111", + "112111", + "112111", + "112112", + "112112", + "112112", + "112112", + "112112", + "112112", + "112113", + "112113", + "112113", + "112113", + "112113", + "112114", + "112114", + "112114", + "112114", + "112114", + "112114", + "112115", + "112115", + "112115", + "112115", + "112115", + "112115", + "112120", + "112120", + "112120", + "112120", + "112120", + "112120", + "112121", + "112121", + "112121", + "112121", + "112121", + "112121", + "112121", + "112122", + "112123", + "112123", + "112124", + "112125", + "112125", + "112130", + "112131", + "112131", + "112132", + "112133", + "112133", + "112134", + "112135", + "112135", + "112140", + "112141", + "112141", + "112142", + "112143", + "112143", + "112144", + "112145", + "112145", + "112152", + "112153", + "112153", + "112154", + "112155", + "112155", + "112160", + "112161", + "112161", + "112162", + "112264", + "112163", + "112163", + "112164", + "112165", + "112165", + "112170", + "112171", + "112171", + "112172", + "112173", + "112173", + "112174", + "112175", + "112175", + "112180", + "112181", + "112181", + "112182", + "112183", + "112183", + "112184", + "112185", + "112185", + "112190", + "112190", + "112191", + "112191", + "112191", + "112191", + "112191", + "112192", + "112192", + "112193", + "112193", + "112193", + "112194", + "112194", + "112195", + "112195", + "112195", + "112200", + "112201", + "112202", + "112203", + "112204", + "112205", + "112210", + "112210", + "112210", + "112210", + "112210", + "112210", + "112211", + "112211", + "112211", + "112211", + "112211", + "112211", + "112211", + "112216", + "112216", + "112216", + "112216", + "112216", + "112216", + "112222", + "112222", + "112223", + "112223", + "112224", + "112224", + "112225", + "112225", + "112232", + "112232", + "112233", + "112233", + "112233", + "112234", + "112234", + "112234", + "112235", + "112235", + "112235", + "112235", + "112242", + "112243", + "112243", + "112244", + "112245", + "112245", + "112245", + "112252", + "112253", + "112253", + "112254", + "112255", + "112255", + "112262", + "112262", + "112262", + "112262", + "112263", + "112263", + "112263", + "112263", + "112263", + "112264", + "112264", + "112264", + "112265", + "112265", + "112265", + "112265", + "112265", + "112266", + "112267", + "112268", + "112269", + "112272", + "112272", + "112272", + "112272", + "112273", + "112273", + "112273", + "112273", + "112273", + "112274", + "112274", + "112274", + "112274", + "112275", + "112275", + "112275", + "112275", + "112275", + "112282", + "112282", + "112282", + "112283", + "112283", + "112283", + "112283", + "112284", + "112284", + "112284", + "112285", + "112285", + "112285", + "112285", + "112292", + "112292", + "112292", + "112293", + "112293", + "112293", + "112293", + "112294", + "112294", + "112294", + "112295", + "112295", + "112295", + "112295", + "112302", + "112302", + "112302", + "112303", + "112303", + "112303", + "112303", + "112304", + "112304", + "112304", + "112305", + "112305", + "112305", + "112305", + "112312", + "112313", + "112313", + "112314", + "112315", + "112315", + "112322", + "112322", + "112322", + "112323", + "112323", + "112323", + "112323", + "112324", + "112324", + "112324", + "112325", + "112325", + "112325", + "112325", + "112332", + "112333", + "112333", + "112402", + "112334", + "112335", + "112335", + "112342", + "112342", + "112343", + "112343", + "112343", + "112344", + "112344", + "112345", + "112345", + "112345", + "112352", + "112353", + "112353", + "112354", + "112355", + "112355", + "112372", + "112372", + "112372", + "112373", + "112373", + "112373", + "112373", + "112374", + "112374", + "112374", + "112375", + "112375", + "112375", + "112375", + "112386", + "112396", + "112396", + "112396", + "112396", + "112397", + "112397", + "112397", + "112397", + "112397", + "112398", + "112398", + "112398", + "112398", + "112403", + "112403", + "112403", + "112403", + "112403", + "112404", + "112404", + "112404", + "112404", + "112405", + "112405", + "112405", + "112405", + "112405", + "112410", + "112410", + "112410", + "112410", + "112411", + "112411", + "112411", + "112411", + "112411", + "112412", + "112412", + "112412", + "112413", + "112413", + "112413", + "112413", + "112414", + "112414", + "112414", + "112415", + "112415", + "112415", + "112415", + "112426", + "112426", + "112426", + "112427", + "112427", + "112427", + "112427", + "112428", + "112428", + "112428", + "112428", + "112429", + "112429", + "112429", + "112429", + "112432", + "112432", + "112432", + "112432", + "112432", + "112433", + "112433", + "112433", + "112433", + "112433", + "112433", + "112434", + "112434", + "112434", + "112434", + "112434", + "112435", + "112435", + "112435", + "112435", + "112435", + "112435", + "112442", + "112442", + "112442", + "112442", + "112443", + "112443", + "112443", + "112443", + "112444", + "112444", + "112444", + "112444", + "112445", + "112445", + "112445", + "112445", + "112446", + "112446", + "112446", + "112452", + "112452", + "112452", + "112453", + "112453", + "112453", + "112454", + "112454", + "112454", + "112454", + "112455", + "112455", + "112455", + "112456", + "112456", + "112456", + "112456", + "112456", + "112460", + "112464", + "112474", + "112484", + "112494", + "112552", + "112553", + "112572", + "112572", + "112573", + "112573", + "112600", + "112600", + "112600", + "112600", + "112600", + "112600", + "112600", + "112606", + "112606", + "112606", + "112606", + "112606", + "112612", + "112612", + "112612", + "112612", + "112612", + "112612", + "112612", + "112612", + "112618", + "112655", + "112656", + "112657", + "112658", + "112659", + "112661", + "112662", + "112663", + "112665", + "112666", + "112667", + "112668", + "112669", + "112675", + "112676", + "112677", + "112678", + "112679", + "112685", + "112686", + "112687", + "112688", + "112689", + "112695", + "112696", + "112697", + "112698", + "112699", + "113100", + "113100", + "113100", + "113100", + "113100", + "113101", + "113101", + "113101", + "113101", + "113101", + "113102", + "113102", + "113102", + "113102", + "113102", + "113103", + "113103", + "113103", + "113103", + "113103", + "113104", + "113104", + "113104", + "113104", + "113104", + "113120", + "113120", + "113120", + "113120", + "113120", + "113120", + "113120", + "113120", + "113121", + "113121", + "113121", + "113121", + "113121", + "113121", + "113121", + "113121", + "113122", + "113122", + "113122", + "113122", + "113122", + "113122", + "113122", + "113122", + "113123", + "113123", + "113123", + "113123", + "113123", + "113123", + "113123", + "113123", + "113124", + "113124", + "113124", + "113124", + "113124", + "113124", + "113124", + "113124", + "113140", + "113140", + "113140", + "113140", + "113140", + "113140", + "113140", + "113141", + "113141", + "113141", + "113141", + "113141", + "113141", + "113141", + "113142", + "113142", + "113142", + "113142", + "113142", + "113142", + "113142", + "113143", + "113143", + "113143", + "113143", + "113143", + "113143", + "113143", + "113144", + "113144", + "113144", + "113144", + "113144", + "113144", + "113144", + "113150", + "113150", + "113150", + "113150", + "113150", + "113151", + "113151", + "113151", + "113151", + "113151", + "113152", + "113152", + "113152", + "113152", + "113152", + "113153", + "113153", + "113153", + "113153", + "113153", + "113154", + "113154", + "113154", + "113154", + "113154", + "113160", + "113160", + "113160", + "113160", + "113160", + "113160", + "113160", + "113160", + "113160", + "113161", + "113161", + "113161", + "113161", + "113221", + "113161", + "113161", + "113161", + "113161", + "113162", + "113162", + "113162", + "113162", + "113162", + "113162", + "113162", + "113162", + "113163", + "113163", + "113163", + "113163", + "113163", + "113163", + "113163", + "113163", + "113164", + "113164", + "113164", + "113164", + "113164", + "113164", + "113164", + "113164", + "113180", + "113180", + "113180", + "113180", + "113180", + "113180", + "113180", + "113180", + "113180", + "113181", + "113181", + "113181", + "113181", + "113181", + "113181", + "113181", + "113181", + "113181", + "113182", + "113182", + "113182", + "113182", + "113182", + "113182", + "113182", + "113182", + "113182", + "113182", + "113183", + "113183", + "113183", + "113183", + "113183", + "113183", + "113183", + "113183", + "113183", + "113184", + "113184", + "113184", + "113184", + "113184", + "113184", + "113184", + "113184", + "113184", + "113200", + "113200", + "113200", + "113200", + "113200", + "113200", + "113200", + "113200", + "113201", + "113201", + "113201", + "113201", + "113201", + "113201", + "113201", + "113201", + "113202", + "113202", + "113202", + "113202", + "113202", + "113202", + "113202", + "113202", + "113203", + "113203", + "113203", + "113203", + "113203", + "113203", + "113203", + "113203", + "113204", + "113204", + "113204", + "113204", + "113204", + "113204", + "113204", + "113204", + "113220", + "113220", + "113220", + "113220", + "113220", + "113220", + "113220", + "113220", + "113221", + "113221", + "113221", + "113221", + "113221", + "113221", + "113221", + "113222", + "113222", + "113222", + "113222", + "113222", + "113222", + "113222", + "113222", + "113223", + "113223", + "113223", + "113223", + "113223", + "113223", + "113223", + "113223", + "113224", + "113224", + "113224", + "113224", + "113224", + "113224", + "113224", + "113224", + "113240", + "113240", + "113240", + "113240", + "113240", + "113240", + "113240", + "113240", + "113240", + "113240", + "113241", + "113241", + "113241", + "113241", + "113241", + "113241", + "113241", + "113241", + "113241", + "113241", + "113242", + "113242", + "113242", + "113242", + "113242", + "113242", + "113242", + "113242", + "113242", + "113242", + "113243", + "113262", + "113243", + "113243", + "113243", + "113243", + "113243", + "113243", + "113243", + "113243", + "113243", + "113244", + "113244", + "113244", + "113244", + "113244", + "113244", + "113244", + "113281", + "113244", + "113244", + "113244", + "113260", + "113260", + "113260", + "113260", + "113260", + "113260", + "113260", + "113260", + "113261", + "113261", + "113261", + "113261", + "113261", + "113261", + "113261", + "113261", + "113262", + "113262", + "113262", + "113262", + "113262", + "113262", + "113262", + "113263", + "113263", + "113263", + "113263", + "113263", + "113263", + "113263", + "113263", + "113264", + "113264", + "113264", + "113264", + "113264", + "113264", + "113282", + "113264", + "113264", + "113280", + "113280", + "113280", + "113280", + "113280", + "113280", + "113281", + "113281", + "113281", + "113281", + "113281", + "113282", + "113282", + "113282", + "113282", + "113282", + "113283", + "113283", + "113283", + "113283", + "113283", + "113283", + "113284", + "113284", + "113284", + "113284", + "113284", + "113284", + "113300", + "113300", + "113300", + "113300", + "113300", + "113300", + "113300", + "113300", + "113300", + "113301", + "113301", + "113301", + "113301", + "113301", + "113301", + "113301", + "113301", + "113301", + "113302", + "113302", + "113302", + "113302", + "113302", + "113302", + "113302", + "113302", + "113302", + "113303", + "113303", + "113303", + "113303", + "113303", + "113303", + "113303", + "113303", + "113303", + "113304", + "113304", + "113304", + "113304", + "113304", + "113304", + "113304", + "113304", + "113304", + "113320", + "113320", + "113320", + "113320", + "113320", + "113320", + "113320", + "113320", + "113321", + "113321", + "113321", + "113321", + "113321", + "113321", + "113321", + "113321", + "113322", + "113322", + "113322", + "113322", + "113322", + "113322", + "113322", + "113322", + "113323", + "113323", + "113323", + "113323", + "113323", + "113323", + "113323", + "113323", + "113324", + "113324", + "113324", + "113324", + "113324", + "113324", + "113324", + "113324", + "113330", + "113330", + "113330", + "113331", + "113331", + "113331", + "113332", + "113332", + "113332", + "113333", + "113333", + "113333", + "113334", + "113334", + "113334", + "113340", + "113340", + "113340", + "113341", + "113341", + "113341", + "113342", + "113342", + "113342", + "113342", + "113343", + "113343", + "113343", + "113344", + "113344", + "113344", + "113350", + "113350", + "113350", + "113351", + "113351", + "113351", + "113352", + "113352", + "113352", + "113353", + "113353", + "113353", + "113354", + "113354", + "113354", + "141292", + "141310", + "141310", + "118012", + "118012", + "118178", + "118178", + "118178", + "118704", + "118704", + "118704", + "118704", + "118705", + "118705", + "118705", + "118705", + "118706", + "118706", + "118706", + "118706", + "137010", + "137010", + "137010", + "137010", + "137011", + "137011", + "137011", + "137011", + "137012", + "137012", + "137012", + "137012", + "137013", + "137013", + "137013", + "137013", + "137014", + "137014", + "137014", + "137014", + "137015", + "137015", + "137015", + "137015", + "141003", + "141000", + "141000", + "141000", + "141000", + "141000", + "141000", + "141000", + "141001", + "141001", + "141001", + "141001", + "141001", + "141001", + "141001", + "141003", + "141003", + "141003", + "141003", + "141003", + "141003", + "141004", + "141004", + "141004", + "141004", + "141004", + "141004", + "141004", + "141030", + "141015", + "141015", + "141015", + "141015", + "141015", + "141015", + "141018", + "141018", + "141020", + "141020", + "141020", + "141020", + "141020", + "141020", + "141021", + "141021", + "141021", + "141021", + "141022", + "141022", + "141022", + "141022", + "141023", + "141023", + "141024", + "141024", + "141024", + "141024", + "141025", + "141025", + "141025", + "141025", + "141026", + "141027", + "141028", + "141029", + "141030", + "141030", + "141030", + "141031", + "141031", + "141031", + "141031", + "141032", + "141032", + "141033", + "141034", + "141042", + "141042", + "141042", + "141043", + "141043", + "141043", + "141044", + "141044", + "141044", + "141071", + "141045", + "141045", + "141045", + "141050", + "141050", + "141050", + "141051", + "141051", + "141051", + "141051", + "141056", + "141056", + "141056", + "141062", + "141062", + "141063", + "141064", + "141070", + "141070", + "141070", + "141071", + "141071", + "141082", + "141090", + "141091", + "141100", + "141100", + "141100", + "141100", + "141100", + "141100", + "141100", + "141101", + "141101", + "141101", + "141101", + "141101", + "141101", + "141101", + "141103", + "141103", + "141103", + "141103", + "141103", + "141103", + "141103", + "141104", + "141104", + "141104", + "141104", + "141104", + "141104", + "141104", + "141106", + "141106", + "141106", + "141106", + "141106", + "141106", + "141107", + "141107", + "141107", + "141107", + "141107", + "141107", + "141107", + "141109", + "141109", + "141109", + "141109", + "141109", + "141109", + "141112", + "141112", + "141112", + "141112", + "141112", + "141112", + "141112", + "141113", + "141113", + "141113", + "141113", + "141113", + "141113", + "141113", + "141115", + "141115", + "141115", + "141115", + "141115", + "141115", + "141115", + "141116", + "141116", + "141116", + "141116", + "141116", + "141116", + "141116", + "141118", + "141118", + "141118", + "141118", + "141118", + "141118", + "141118", + "141118", + "141119", + "141119", + "141119", + "141119", + "141119", + "141119", + "141119", + "141119", + "141119", + "141120", + "141121", + "141121", + "141121", + "141121", + "141121", + "141121", + "141121", + "141121", + "141122", + "141122", + "141122", + "141122", + "141122", + "141122", + "141122", + "141122", + "141122", + "141123", + "141124", + "141125", + "141159", + "141164", + "141166", + "141174", + "141174", + "141184", + "141194", + "141245", + "141245", + "141245", + "141245", + "141245", + "141245", + "141290", + "141290", + "141290", + "141290", + "141290", + "141291", + "141291", + "141291", + "141291", + "141291", + "141292", + "141292", + "141292", + "141292", + "141293", + "141293", + "141293", + "141293", + "141293", + "141294", + "141294", + "141294", + "141294", + "141294", + "141295", + "141295", + "141295", + "141295", + "141295", + "141300", + "141300", + "141300", + "141300", + "141300", + "141301", + "141301", + "141301", + "141301", + "141301", + "141302", + "141302", + "141302", + "141302", + "141302", + "141303", + "141303", + "141303", + "141303", + "141303", + "141304", + "141304", + "141304", + "141304", + "141304", + "141305", + "141305", + "141305", + "141305", + "141305", + "141310", + "141310", + "141310", + "141311", + "141311", + "141311", + "141311", + "141311", + "141312", + "141312", + "141312", + "141312", + "141312", + "141313", + "141313", + "141313", + "141313", + "141313", + "141314", + "141314", + "141314", + "141314", + "141314", + "141315", + "141315", + "141315", + "141315", + "141315", + "141322", + "141322", + "141322", + "141322", + "141322", + "141323", + "141323", + "141323", + "141323", + "141323", + "141324", + "141324", + "141324", + "141324", + "141324", + "141325", + "141325", + "141325", + "141325", + "141325", + "141330", + "141330", + "141330", + "141330", + "141330", + "141331", + "141331", + "141331", + "141331", + "141331", + "141332", + "141332", + "141332", + "141332", + "141332", + "141333", + "141333", + "141333", + "141333", + "141333", + "141334", + "141334", + "141334", + "141334", + "141334", + "141335", + "141352", + "141335", + "141335", + "141335", + "141335", + "141340", + "141340", + "141340", + "141340", + "141340", + "141341", + "141341", + "141341", + "141341", + "141341", + "141342", + "141342", + "141342", + "141342", + "141342", + "141343", + "141343", + "141343", + "141343", + "141343", + "141344", + "141344", + "141344", + "141344", + "141344", + "141345", + "141345", + "141345", + "141345", + "141345", + "141350", + "141350", + "141350", + "141350", + "141350", + "141351", + "141351", + "141351", + "141351", + "141351", + "141352", + "141352", + "141352", + "141352", + "141353", + "141353", + "141353", + "141353", + "141353", + "141354", + "141354", + "141354", + "141354", + "141354", + "141355", + "141355", + "141355", + "141355", + "141355", + "141360", + "141360", + "141360", + "141360", + "141360", + "141361", + "141361", + "141361", + "141361", + "141361", + "141362", + "141362", + "141362", + "141362", + "141362", + "141363", + "141363", + "141363", + "141363", + "141363", + "141364", + "141364", + "141364", + "141424", + "141364", + "141364", + "141365", + "141365", + "141365", + "141365", + "141365", + "141376", + "141376", + "141377", + "141377", + "141378", + "141378", + "141380", + "141380", + "141380", + "141380", + "141380", + "141381", + "141381", + "141381", + "141381", + "141381", + "141382", + "141382", + "141382", + "141382", + "141382", + "141383", + "141383", + "141383", + "141383", + "141383", + "141384", + "141384", + "141384", + "141384", + "141384", + "141385", + "141385", + "141385", + "141385", + "141385", + "141392", + "141392", + "141392", + "141392", + "141392", + "141393", + "141393", + "141393", + "141393", + "141393", + "141394", + "141394", + "141394", + "141394", + "141394", + "141395", + "141395", + "141395", + "141395", + "141424", + "141395", + "141402", + "141402", + "141402", + "141402", + "141402", + "141403", + "141403", + "141403", + "141403", + "141404", + "141404", + "141404", + "141404", + "141405", + "141405", + "141405", + "141405", + "141412", + "141412", + "141412", + "141412", + "141413", + "141413", + "141413", + "141413", + "141414", + "141414", + "141414", + "141414", + "141415", + "141415", + "141415", + "141415", + "141421", + "141422", + "141422", + "141422", + "141422", + "141423", + "141423", + "141423", + "141423", + "141424", + "141424", + "141425", + "141425", + "141425", + "141425", + "141430", + "141430", + "141430", + "141430", + "141431", + "141431", + "141431", + "141431", + "141432", + "141432", + "141432", + "141432", + "141433", + "141433", + "141433", + "141433", + "141434", + "141434", + "141434", + "141434", + "141435", + "141435", + "141435", + "141435", + "141442", + "141442", + "141442", + "141442", + "141443", + "141443", + "141443", + "141443", + "141444", + "141444", + "141444", + "141444", + "141445", + "141445", + "141445", + "141445", + "141518", + "141518", + "141518", + "141522", + "141522", + "141523", + "141523", + "141525", + "141526", + "141527", + "141528", + "141529", + "141533", + "141534", + "141572", + "141572", + "141572", + "141573", + "141573", + "141573", + "141583", + "141584", + "141592", + "141593", + "141621", + "141621", + "141621", + "141622", + "141623", + "141624", + "141737", + "141775", + "141775", + "141776", + "141776", + "141777", + "141777", + "141778", + "141778", + "141779", + "141779", + "141785", + "141786", + "141795", + "141796", + "141797", + "141798", + "141799", + "141818", + "141819", + "141820", + "141821", + "141822", + "141823", + "141824", + "141825", + "141826", + "141827", + "141828", + "141829", + "141830", + "141831", + "141832", + "141833", + "141834", + "141842", + "141843", + "141844", + "141845", + "141846", + "141847", + "141848", + "141865", + "141866", + "142103", + "142103", + "142103", + "142103", + "142103", + "142103", + "142103", + "142104", + "142104", + "142104", + "142104", + "142104", + "142104", + "142104", + "142104", + "142106", + "142106", + "142106", + "142106", + "142106", + "142106", + "142106", + "142107", + "142107", + "142107", + "142107", + "142107", + "142107", + "142107", + "142107", + "142154", + "142154", + "142160", + "142160", + "142170", + "142202", + "142202", + "142202", + "142202", + "142203", + "142203", + "142203", + "142203", + "142204", + "142204", + "142204", + "142204", + "142205", + "142205", + "142205", + "142205", + "142212", + "142212", + "142212", + "142212", + "142213", + "142213", + "142213", + "142213", + "142214", + "142242", + "142214", + "142214", + "142214", + "142215", + "142215", + "142215", + "142215", + "142222", + "142222", + "142222", + "142222", + "142223", + "142223", + "142223", + "142223", + "142224", + "142224", + "142224", + "142224", + "142225", + "142225", + "142225", + "142225", + "142232", + "142232", + "142232", + "142232", + "142233", + "142233", + "142233", + "142233", + "142234", + "142234", + "142234", + "142234", + "142235", + "142235", + "142235", + "142235", + "142236", + "142242", + "142242", + "142242", + "142243", + "142243", + "142243", + "142243", + "142244", + "142244", + "142244", + "142244", + "142245", + "142245", + "142245", + "142245", + "142252", + "142252", + "142252", + "142252", + "142253", + "142253", + "142253", + "142253", + "142254", + "142254", + "142254", + "142254", + "142255", + "142255", + "142255", + "142255", + "142262", + "142262", + "142262", + "142262", + "142263", + "142263", + "142263", + "142263", + "142264", + "142264", + "142264", + "142264", + "142265", + "142265", + "142265", + "142265", + "142272", + "142272", + "142272", + "142272", + "142273", + "142273", + "142273", + "142273", + "142274", + "142274", + "142274", + "142274", + "142275", + "142275", + "142275", + "142275", + "142278", + "142278", + "142278", + "142278", + "142284", + "142290", + "142671", + "142672", + "142673" + ] + }, + "start_date": { + "type": "string", + "format": "date-time" + }, + "end_date": { + "type": "string", + "format": "date-time" + }, + "note": { + "type": "string" + }, + "created_at": { + "type": "string", + "format": "date-time" + }, + "updated_at": { + "type": "string", + "format": "date-time" + }, + "sent_at": { + "type": "string", + "format": "date-time" + }, + "vehicle_empty": { + "type": "boolean", + "default": false + }, + "hazard_lights": { + "type": "boolean", + "default": false + }, + "expired_tuv": { + "type": "boolean", + "default": false + }, + "expired_eco": { + "type": "boolean", + "default": false + }, + "over_2_8_tons": { + "type": "boolean", + "default": false + }, + "photos": { + "type": "array", + "items": { + "type": "object", + "properties": { + "filename": { + "type": "string" + }, + "url": { + "type": "string" + } + } + } + } + } + }, + "NoticeInput": { + "allOf": [ + { + "$ref": "#/definitions/Notice" + }, + { + "required": [ + "street", + "city", + "zip", + "latitude", + "longitude", + "registration", + "tbnr", + "date", + "duration", + "severity", + "photos" + ] + } + ] + }, + "Upload": { + "required": [ + "filename", + "byte_size", + "checksum", + "content_type" + ], + "properties": { + "filename": { + "type": "string" + }, + "byte_size": { + "type": "number", + "format": "int64" + }, + "checksum": { + "type": "string", + "description": "MD5 base64digest of file" + }, + "content_type": { + "type": "string", + "default": "image/jpeg" + }, + "metadata": { + "type": "object" + } + } + }, + "UploadInput": { + "allOf": [ + { + "$ref": "#/definitions/Upload" + }, + { + "required": [ + "filename", + "byte_size", + "checksum", + "content_type" + ] + } + ] + }, + "Error": { + "required": [ + "code", + "message" + ], + "properties": { + "code": { + "type": "integer", + "format": "int32", + "description": "HTTP error-code" + }, + "message": { + "type": "string", + "description": "A hopefully helpful error-message" + } + } + } + } +}