{
  "openapi": "3.1.0",
  "info": {
    "title": "Portfolio API",
    "description": "Backend API for Sven Relijveld's Portfolio Website",
    "version": "1.2.0"
  },
  "servers": [
    {
      "url": "http://localhost:8000",
      "description": "Local"
    },
    {
      "url": "https://www.sven-relijveld.com",
      "description": "Production"
    },
    {
      "url": "https://dev.sven-relijveld.com",
      "description": "Dev"
    }
  ],
  "paths": {
    "/api/health": {
      "get": {
        "summary": "Api Health Check",
        "description": "Health check endpoint accessible via the nginx proxy at /api/health",
        "operationId": "api_health_check_api_health_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HealthResponse"
                }
              }
            }
          }
        },
        "x-uigen-ignore": true
      }
    },
    "/api/projects": {
      "get": {
        "tags": ["projects"],
        "summary": "Projects",
        "description": "Return all project cards",
        "operationId": "get_projects_api_projects_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/ProjectCard"
                  },
                  "type": "array",
                  "title": "Response Get Projects Api Projects Get"
                }
              }
            }
          }
        },
        "x-uigen-view": "dashboard"
      },
      "post": {
        "tags": ["projects"],
        "summary": "Create Project",
        "operationId": "create_project_api_projects_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ]
      },
      "x-uigen-id": "projects"
    },
    "/api/projects/{project_id}": {
      "get": {
        "tags": ["projects"],
        "summary": "Project Detail",
        "description": "Return detail for a single project by slug ID, including prev/next navigation",
        "operationId": "get_project_detail_api_projects__project_id__get",
        "parameters": [
          {
            "name": "project_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Project Id"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProjectDetail"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-uigen-view": "dashboard"
      },
      "x-uigen-id": "projects"
    },
    "/api/experience": {
      "get": {
        "tags": ["experience"],
        "summary": "Experience",
        "description": "Return work history entries. Pass ?top=4 to get only the most recent entries.",
        "operationId": "get_experience_api_experience_get",
        "parameters": [
          {
            "name": "top",
            "in": "query",
            "required": false,
            "schema": {
              "anyOf": [
                {
                  "type": "integer"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Top"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/WorkEntry"
                  },
                  "title": "Response Get Experience Api Experience Get"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-uigen-view": "dashboard"
      },
      "post": {
        "tags": ["experience"],
        "summary": "Create Experience",
        "operationId": "create_experience_api_experience_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkEntryCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "x-uigen-id": "experience"
    },
    "/api/experience/{index}": {
      "get": {
        "tags": ["experience"],
        "summary": "Get Experience Entry",
        "description": "Return a single work history entry by 0-based index.\n\nDeprecated: index shifts whenever entries are reordered via the admin API.\nUse GET /api/experience for the full list instead.",
        "operationId": "get_experience_entry_api_experience__index__get",
        "deprecated": true,
        "parameters": [
          {
            "name": "index",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "title": "Index"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WorkEntry"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      }
    },
    "/api/skills": {
      "get": {
        "tags": ["skills"],
        "summary": "Skills",
        "description": "Return all skill categories",
        "operationId": "get_skills_api_skills_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/SkillCategory"
                  },
                  "type": "array",
                  "title": "Response Get Skills Api Skills Get"
                }
              }
            }
          }
        },
        "x-uigen-view": "dashboard"
      },
      "x-uigen-id": "skills"
    },
    "/api/awards": {
      "get": {
        "tags": ["awards"],
        "summary": "Awards",
        "description": "Return all awards ordered by sort_order",
        "operationId": "get_awards_api_awards_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Award"
                  },
                  "type": "array",
                  "title": "Response Get Awards Api Awards Get"
                }
              }
            }
          }
        },
        "x-uigen-view": "dashboard"
      },
      "x-uigen-id": "awards"
    },
    "/api/certifications": {
      "get": {
        "tags": ["certifications"],
        "summary": "Certifications",
        "description": "Return all certifications ordered by sort_order",
        "operationId": "get_certifications_api_certifications_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "items": {
                    "$ref": "#/components/schemas/Certification"
                  },
                  "type": "array",
                  "title": "Response Get Certifications Api Certifications Get"
                }
              }
            }
          }
        },
        "x-uigen-view": "dashboard"
      },
      "x-uigen-id": "certifications"
    },
    "/api/contact": {
      "post": {
        "tags": ["contact"],
        "summary": "Send Contact Message",
        "description": "Submit contact form and send email notification",
        "operationId": "submit_contact_form_api_contact_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ContactRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContactResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-uigen-view": "create",
        "x-uigen-label": "Send Message"
      }
    },
    "/api/download-cv": {
      "patch": {
        "tags": ["cv"],
        "summary": "Download CV",
        "description": "Trigger CV PDF download (UIGen action button). Returns a download URL.",
        "operationId": "download_cv_post_api_download_cv_patch",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CVDownloadRequest",
                "default": {
                  "lang": "english"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CV download link",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "404": {
            "description": "Requested language variant not found"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "x-uigen-id": "cv",
      "x-uigen-view": "action"
    },
    "/api/cv/status": {
      "get": {
        "tags": ["cv"],
        "summary": "CV Generation Status",
        "description": "Return whether on-demand CV generation is enabled.",
        "operationId": "cv_generation_status_api_cv_status_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          }
        },
        "x-uigen-view": "dashboard"
      },
      "x-uigen-id": "cv"
    },
    "/api/cv/generate": {
      "patch": {
        "tags": ["cv"],
        "summary": "Generate CV",
        "description": "Trigger CV generation via UIGen action button. Returns JSON success.",
        "operationId": "generate_cv_patch_api_cv_generate_patch",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CVDownloadRequest",
                "default": {
                  "lang": "english"
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "CV generated successfully",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "503": {
            "description": "CV generation service unavailable"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "x-uigen-id": "cv",
      "x-uigen-view": "action"
    },
    "/api/feature-flags": {
      "get": {
        "tags": ["feature-flags"],
        "summary": "Feature Flags",
        "description": "Return all feature flags as a structured object. Used by the frontend context.",
        "operationId": "get_feature_flags_api_feature_flags_get",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureFlagsResponse"
                }
              }
            }
          }
        },
        "x-uigen-view": "dashboard"
      },
      "patch": {
        "tags": ["feature-flags"],
        "summary": "Update Feature Flags",
        "description": "Toggle feature flags in Azure App Configuration. Admin token required.",
        "operationId": "update_feature_flags_api_feature_flags_patch",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FeatureFlagsUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FeatureFlagsResponse"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "x-uigen-view": "create",
        "x-uigen-label": "Update Feature Flags"
      },
      "x-uigen-id": "feature-flags"
    },
    "/api/projects/{slug}": {
      "put": {
        "tags": ["projects"],
        "summary": "Replace Project",
        "operationId": "replace_project_api_projects__slug__put",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Slug"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": ["projects"],
        "summary": "Patch Project",
        "operationId": "patch_project_api_projects__slug__patch",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Slug"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProjectUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": ["projects"],
        "summary": "Delete Project",
        "operationId": "delete_project_api_projects__slug__delete",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "title": "Slug"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "x-uigen-id": "projects"
    },
    "/api/projects/reorder": {
      "patch": {
        "tags": ["projects"],
        "summary": "Reorder Projects",
        "operationId": "reorder_projects_api_projects_reorder_patch",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ]
      },
      "x-uigen-id": "projects"
    },
    "/api/experience/{entry_id}": {
      "put": {
        "tags": ["experience"],
        "summary": "Replace Experience",
        "operationId": "replace_experience_api_experience__entry_id__put",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "entry_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Entry Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkEntryUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": ["experience"],
        "summary": "Patch Experience",
        "operationId": "patch_experience_api_experience__entry_id__patch",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "entry_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Entry Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkEntryUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": ["experience"],
        "summary": "Delete Experience",
        "operationId": "delete_experience_api_experience__entry_id__delete",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "entry_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Entry Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "x-uigen-id": "experience"
    },
    "/api/experience/reorder": {
      "patch": {
        "tags": ["experience"],
        "summary": "Reorder Experience",
        "operationId": "reorder_experience_api_experience_reorder_patch",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReorderRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ]
      },
      "x-uigen-id": "experience"
    },
    "/api/skills/categories": {
      "post": {
        "tags": ["skills"],
        "summary": "Create Skill Category",
        "operationId": "create_skill_category_api_skills_categories_post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillCategoryCreate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "security": [
          {
            "HTTPBearer": []
          }
        ]
      },
      "x-uigen-id": "skills"
    },
    "/api/skills/categories/{category_id}": {
      "put": {
        "tags": ["skills"],
        "summary": "Replace Skill Category",
        "operationId": "replace_skill_category_api_skills_categories__category_id__put",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "category_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Category Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillCategoryUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": ["skills"],
        "summary": "Patch Skill Category",
        "operationId": "patch_skill_category_api_skills_categories__category_id__patch",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "category_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Category Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillCategoryUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": ["skills"],
        "summary": "Delete Skill Category",
        "operationId": "delete_skill_category_api_skills_categories__category_id__delete",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "category_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Category Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "x-uigen-id": "skills"
    },
    "/api/skills/categories/{category_id}/skills": {
      "post": {
        "tags": ["skills"],
        "summary": "Create Skill",
        "operationId": "create_skill_api_skills_categories__category_id__skills_post",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "category_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Category Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillCreate"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "x-uigen-id": "skills"
    },
    "/api/skills/{skill_id}": {
      "put": {
        "tags": ["skills"],
        "summary": "Replace Skill",
        "operationId": "replace_skill_api_skills__skill_id__put",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "skill_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Skill Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": ["skills"],
        "summary": "Patch Skill",
        "operationId": "patch_skill_api_skills__skill_id__patch",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "skill_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Skill Id"
            }
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SkillUpdate"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {}
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": ["skills"],
        "summary": "Delete Skill",
        "operationId": "delete_skill_api_skills__skill_id__delete",
        "security": [
          {
            "HTTPBearer": []
          }
        ],
        "parameters": [
          {
            "name": "skill_id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "title": "Skill Id"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Successful Response"
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        }
      },
      "x-uigen-id": "skills"
    }
  },
  "components": {
    "schemas": {
      "Award": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "organization": {
            "type": "string",
            "title": "Organization"
          },
          "year": {
            "type": "string",
            "title": "Year"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "iconName": {
            "type": "string",
            "title": "Iconname"
          },
          "bgColor": {
            "type": "string",
            "title": "Bgcolor"
          }
        },
        "type": "object",
        "required": [
          "title",
          "organization",
          "year",
          "description",
          "iconName",
          "bgColor"
        ],
        "title": "Award"
      },
      "CVDownloadRequest": {
        "properties": {
          "lang": {
            "type": "string",
            "enum": ["english", "nederlands"],
            "title": "Lang",
            "default": "english"
          }
        },
        "type": "object",
        "title": "CVDownloadRequest"
      },
      "Certification": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "iconType": {
            "type": "string",
            "title": "Icontype"
          },
          "link": {
            "type": "string",
            "title": "Link"
          },
          "linkText": {
            "type": "string",
            "title": "Linktext"
          }
        },
        "type": "object",
        "required": ["title", "description", "iconType", "link", "linkText"],
        "title": "Certification"
      },
      "ContactRequest": {
        "properties": {
          "name": {
            "type": "string",
            "maxLength": 100,
            "minLength": 2,
            "title": "Name"
          },
          "email": {
            "type": "string",
            "format": "email",
            "title": "Email"
          },
          "message": {
            "type": "string",
            "maxLength": 5000,
            "minLength": 10,
            "title": "Message"
          },
          "company": {
            "anyOf": [
              {
                "type": "string",
                "maxLength": 200
              },
              {
                "type": "null"
              }
            ],
            "title": "Company"
          }
        },
        "type": "object",
        "required": ["name", "email", "message"],
        "title": "ContactRequest"
      },
      "ContactResponse": {
        "properties": {
          "success": {
            "type": "boolean",
            "title": "Success"
          },
          "message": {
            "type": "string",
            "title": "Message"
          }
        },
        "type": "object",
        "required": ["success", "message"],
        "title": "ContactResponse"
      },
      "FeatureFlagsResponse": {
        "properties": {
          "cvGeneration": {
            "type": "boolean",
            "title": "Cvgeneration"
          },
          "portfolioContentApi": {
            "type": "boolean",
            "title": "Portfoliocontentapi"
          }
        },
        "type": "object",
        "required": ["cvGeneration", "portfolioContentApi"],
        "title": "FeatureFlagsResponse"
      },
      "FeatureFlagsUpdate": {
        "properties": {
          "cvGeneration": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Cvgeneration"
          },
          "portfolioContentApi": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Portfoliocontentapi"
          }
        },
        "type": "object",
        "title": "FeatureFlagsUpdate"
      },
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "HealthResponse": {
        "properties": {
          "status": {
            "type": "string",
            "title": "Status"
          },
          "message": {
            "type": "string",
            "title": "Message"
          }
        },
        "type": "object",
        "required": ["status", "message"],
        "title": "HealthResponse"
      },
      "ProjectCard": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "slug": {
            "type": "string",
            "title": "Slug"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "longDescription": {
            "type": "string",
            "title": "Longdescription"
          },
          "technologies": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Technologies"
          },
          "category": {
            "type": "string",
            "title": "Category"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "impact": {
            "type": "string",
            "title": "Impact"
          },
          "demo": {
            "type": "string",
            "title": "Demo"
          },
          "image": {
            "type": "string",
            "title": "Image"
          },
          "client": {
            "type": "string",
            "title": "Client"
          },
          "featured": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Featured"
          }
        },
        "type": "object",
        "required": [
          "slug",
          "title",
          "description",
          "longDescription",
          "technologies",
          "category",
          "status",
          "impact",
          "demo",
          "image",
          "client"
        ],
        "title": "ProjectCard"
      },
      "ProjectCreate": {
        "properties": {
          "slug": {
            "type": "string",
            "title": "Slug"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "long_description": {
            "type": "string",
            "title": "Long Description"
          },
          "technologies": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Technologies"
          },
          "category": {
            "type": "string",
            "title": "Category"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "impact": {
            "type": "string",
            "title": "Impact"
          },
          "demo": {
            "type": "string",
            "title": "Demo"
          },
          "image": {
            "type": "string",
            "title": "Image"
          },
          "client": {
            "type": "string",
            "title": "Client"
          },
          "featured": {
            "type": "boolean",
            "title": "Featured",
            "default": false
          },
          "sort_order": {
            "type": "integer",
            "title": "Sort Order",
            "default": 0
          },
          "duration": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration"
          },
          "team": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Team"
          },
          "overview": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Overview"
          },
          "challenge": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Challenge"
          },
          "solution": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Solution"
          },
          "results": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Results"
          },
          "responsibilities": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Responsibilities"
          },
          "additional_images": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Additional Images"
          },
          "embedded_app": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Embedded App"
          },
          "publication_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Publication Url"
          },
          "thesis_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thesis Url"
          },
          "video_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Video Url"
          },
          "phases": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ProjectPhaseInput"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phases"
          },
          "lessons_learned": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lessons Learned"
          }
        },
        "type": "object",
        "required": [
          "slug",
          "title",
          "description",
          "long_description",
          "technologies",
          "category",
          "status",
          "impact",
          "demo",
          "image",
          "client"
        ],
        "title": "ProjectCreate"
      },
      "ProjectDetail": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Slug"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "client": {
            "type": "string",
            "title": "Client"
          },
          "category": {
            "type": "string",
            "title": "Category"
          },
          "status": {
            "type": "string",
            "title": "Status"
          },
          "duration": {
            "type": "string",
            "title": "Duration",
            "default": ""
          },
          "team": {
            "type": "string",
            "title": "Team",
            "default": ""
          },
          "image": {
            "type": "string",
            "title": "Image"
          },
          "overview": {
            "type": "string",
            "title": "Overview",
            "default": ""
          },
          "challenge": {
            "type": "string",
            "title": "Challenge",
            "default": ""
          },
          "solution": {
            "type": "string",
            "title": "Solution",
            "default": ""
          },
          "results": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Results"
          },
          "technologies": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Technologies"
          },
          "responsibilities": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Responsibilities"
          },
          "timeline": {
            "items": {
              "$ref": "#/components/schemas/ProjectPhase"
            },
            "type": "array",
            "title": "Timeline"
          },
          "lessonsLearned": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Lessonslearned"
          },
          "additionalImages": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Additionalimages"
          },
          "videoUrl": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Videourl"
          },
          "embeddedApp": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Embeddedapp"
          },
          "publicationUrl": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Publicationurl"
          },
          "thesisUrl": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thesisurl"
          },
          "prevId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Previd"
          },
          "nextId": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Nextid"
          }
        },
        "type": "object",
        "required": [
          "title",
          "client",
          "category",
          "status",
          "image",
          "technologies"
        ],
        "title": "ProjectDetail"
      },
      "ProjectPhase": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          }
        },
        "type": "object",
        "required": ["name", "description"],
        "title": "ProjectPhase"
      },
      "ProjectPhaseInput": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "description": {
            "type": "string",
            "title": "Description"
          }
        },
        "type": "object",
        "required": ["name", "description"],
        "title": "ProjectPhaseInput",
        "description": "A single timeline phase submitted via the write API."
      },
      "ProjectUpdate": {
        "properties": {
          "slug": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Slug"
          },
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "long_description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Long Description"
          },
          "technologies": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Technologies"
          },
          "category": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Category"
          },
          "status": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Status"
          },
          "impact": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Impact"
          },
          "demo": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Demo"
          },
          "image": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Image"
          },
          "client": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Client"
          },
          "featured": {
            "anyOf": [
              {
                "type": "boolean"
              },
              {
                "type": "null"
              }
            ],
            "title": "Featured"
          },
          "sort_order": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Order"
          },
          "duration": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Duration"
          },
          "team": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Team"
          },
          "overview": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Overview"
          },
          "challenge": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Challenge"
          },
          "solution": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Solution"
          },
          "results": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Results"
          },
          "responsibilities": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Responsibilities"
          },
          "additional_images": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Additional Images"
          },
          "embedded_app": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Embedded App"
          },
          "publication_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Publication Url"
          },
          "thesis_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Thesis Url"
          },
          "video_url": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Video Url"
          },
          "phases": {
            "anyOf": [
              {
                "items": {
                  "$ref": "#/components/schemas/ProjectPhaseInput"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Phases"
          },
          "lessons_learned": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Lessons Learned"
          }
        },
        "type": "object",
        "title": "ProjectUpdate",
        "description": "All fields optional \u2014 used for both PUT (full replace) and PATCH (partial update)."
      },
      "ReorderRequest": {
        "properties": {
          "order": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Order"
          }
        },
        "type": "object",
        "required": ["order"],
        "title": "ReorderRequest",
        "description": "Ordered list of slugs (projects) or UUIDs (experience/skills)."
      },
      "Skill": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "projects": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Projects"
          }
        },
        "type": "object",
        "required": ["name", "projects"],
        "title": "Skill"
      },
      "SkillCategory": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "iconName": {
            "type": "string",
            "title": "Iconname"
          },
          "iconColor": {
            "type": "string",
            "title": "Iconcolor"
          },
          "skills": {
            "items": {
              "$ref": "#/components/schemas/Skill"
            },
            "type": "array",
            "title": "Skills"
          }
        },
        "type": "object",
        "required": ["title", "iconName", "iconColor"],
        "title": "SkillCategory"
      },
      "SkillCategoryCreate": {
        "properties": {
          "title": {
            "type": "string",
            "title": "Title"
          },
          "icon_name": {
            "type": "string",
            "title": "Icon Name"
          },
          "icon_color": {
            "type": "string",
            "title": "Icon Color"
          },
          "sort_order": {
            "type": "integer",
            "title": "Sort Order",
            "default": 0
          },
          "skills": {
            "items": {
              "$ref": "#/components/schemas/SkillCreate"
            },
            "type": "array",
            "title": "Skills",
            "default": []
          }
        },
        "type": "object",
        "required": ["title", "icon_name", "icon_color"],
        "title": "SkillCategoryCreate"
      },
      "SkillCategoryUpdate": {
        "properties": {
          "title": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Title"
          },
          "icon_name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Icon Name"
          },
          "icon_color": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Icon Color"
          },
          "sort_order": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Order"
          }
        },
        "type": "object",
        "title": "SkillCategoryUpdate"
      },
      "SkillCreate": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "projects": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Projects",
            "default": []
          },
          "sort_order": {
            "type": "integer",
            "title": "Sort Order",
            "default": 0
          }
        },
        "type": "object",
        "required": ["name"],
        "title": "SkillCreate"
      },
      "SkillUpdate": {
        "properties": {
          "name": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Name"
          },
          "projects": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Projects"
          },
          "sort_order": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Order"
          }
        },
        "type": "object",
        "title": "SkillUpdate"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": ["loc", "msg", "type"],
        "title": "ValidationError"
      },
      "WorkEntry": {
        "properties": {
          "id": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Id"
          },
          "company": {
            "type": "string",
            "title": "Company"
          },
          "role": {
            "type": "string",
            "title": "Role"
          },
          "period": {
            "type": "string",
            "title": "Period"
          },
          "location": {
            "type": "string",
            "title": "Location"
          },
          "type": {
            "type": "string",
            "title": "Type"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "responsibilities": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Responsibilities"
          },
          "technologies": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Technologies"
          },
          "note": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Note"
          },
          "additionalProjects": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Additionalprojects"
          },
          "achievement": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Achievement"
          }
        },
        "type": "object",
        "required": [
          "company",
          "role",
          "period",
          "location",
          "type",
          "description",
          "responsibilities",
          "technologies"
        ],
        "title": "WorkEntry"
      },
      "WorkEntryCreate": {
        "properties": {
          "company": {
            "type": "string",
            "title": "Company"
          },
          "role": {
            "type": "string",
            "title": "Role"
          },
          "period": {
            "type": "string",
            "title": "Period"
          },
          "location": {
            "type": "string",
            "title": "Location"
          },
          "type": {
            "type": "string",
            "title": "Type"
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "responsibilities": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Responsibilities"
          },
          "technologies": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Technologies"
          },
          "sort_order": {
            "type": "integer",
            "title": "Sort Order",
            "default": 0
          },
          "note": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Note"
          },
          "additional_projects": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Additional Projects"
          },
          "achievement": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Achievement"
          }
        },
        "type": "object",
        "required": [
          "company",
          "role",
          "period",
          "location",
          "type",
          "description",
          "responsibilities",
          "technologies"
        ],
        "title": "WorkEntryCreate"
      },
      "WorkEntryUpdate": {
        "properties": {
          "company": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Company"
          },
          "role": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Role"
          },
          "period": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Period"
          },
          "location": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Location"
          },
          "type": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Type"
          },
          "description": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Description"
          },
          "responsibilities": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Responsibilities"
          },
          "technologies": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Technologies"
          },
          "sort_order": {
            "anyOf": [
              {
                "type": "integer"
              },
              {
                "type": "null"
              }
            ],
            "title": "Sort Order"
          },
          "note": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Note"
          },
          "additional_projects": {
            "anyOf": [
              {
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              {
                "type": "null"
              }
            ],
            "title": "Additional Projects"
          },
          "achievement": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ],
            "title": "Achievement"
          }
        },
        "type": "object",
        "title": "WorkEntryUpdate",
        "description": "All fields optional \u2014 used for both PUT and PATCH."
      }
    },
    "securitySchemes": {
      "HTTPBearer": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  }
}
