{
  "openapi": "3.1.0",
  "info": {
    "title": "GK Safety public course feed",
    "version": "1.0.0",
    "summary": "Read-only, unauthenticated feed of published GK Safety safety training courses.",
    "contact": { "name": "GK Safety AB", "email": "info@gksafety.se", "url": "https://gksafety.se/kontakt" }
  },
  "servers": [{ "url": "https://gksafety.se" }],
  "paths": {
    "/api/courses.json": {
      "get": {
        "operationId": "listCourses",
        "summary": "List all published courses",
        "responses": {
          "200": {
            "description": "Course catalogue",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "updated": { "type": "string", "format": "date" },
                    "count": { "type": "integer" },
                    "courses": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "slug": { "type": "string" },
                          "title": { "type": "string" },
                          "category": { "type": "string" },
                          "url": { "type": "string", "format": "uri" },
                          "deliveryMode": { "type": ["string", "null"] },
                          "duration": { "type": ["string", "null"] },
                          "priceSek": { "type": ["number", "null"] },
                          "listPriceSek": { "type": ["number", "null"] },
                          "currency": { "type": "string" },
                          "vatIncluded": { "type": "boolean" },
                          "shortDescription": { "type": ["string", "null"] }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
