{
  "openapi": "3.1.0",
  "info": {
    "title": "HITEXIS public content API",
    "version": "1.0.0",
    "description": "Read-only website content in seven languages. No account or credentials required. Only the existing public content endpoints are documented; admin, CRM and enquiry submission are excluded. CMS fields can evolve; use /mcp for the agent-facing tool contract.",
    "contact": {
      "name": "HITEXIS",
      "url": "https://hitexis.com/contacts/"
    }
  },
  "servers": [
    {
      "url": "https://hitexis.com"
    }
  ],
  "security": [],
  "paths": {
    "/api/v1/services/public": {
      "get": {
        "operationId": "listServices",
        "summary": "Visible software development services",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Content language. Omit to use Accept-Language, then English.",
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "lv",
                "ru",
                "et",
                "lt",
                "de",
                "fr"
              ]
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Public content records.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "object",
                        "description": "Public CMS record. Additional fields differ by content type.",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "slug": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "excerpt": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": true
                      }
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "429": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/services/public/{slug}": {
      "get": {
        "operationId": "getServices",
        "summary": "Visible software development services: one record by slug",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Content language. Omit to use Accept-Language, then English.",
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "lv",
                "ru",
                "et",
                "lt",
                "de",
                "fr"
              ]
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Use the slug returned by the list endpoint.",
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Public content record.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "description": "Public CMS record. Additional fields differ by content type.",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "excerpt": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": true
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "404": {
            "description": "No public record with this slug.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/posts/public": {
      "get": {
        "operationId": "listPosts",
        "summary": "Published articles",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Content language. Omit to use Accept-Language, then English.",
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "lv",
                "ru",
                "et",
                "lt",
                "de",
                "fr"
              ]
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Public content records.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "object",
                        "description": "Public CMS record. Additional fields differ by content type.",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "slug": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "excerpt": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": true
                      }
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "429": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/posts/public/{slug}": {
      "get": {
        "operationId": "getPosts",
        "summary": "Published articles: one record by slug",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Content language. Omit to use Accept-Language, then English.",
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "lv",
                "ru",
                "et",
                "lt",
                "de",
                "fr"
              ]
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Use the slug returned by the list endpoint.",
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Public content record.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "description": "Public CMS record. Additional fields differ by content type.",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "excerpt": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": true
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "404": {
            "description": "No public record with this slug.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/portfolio-posts/public": {
      "get": {
        "operationId": "listCaseStudies",
        "summary": "Published portfolio case studies",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Content language. Omit to use Accept-Language, then English.",
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "lv",
                "ru",
                "et",
                "lt",
                "de",
                "fr"
              ]
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Public content records.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": [
                        "array",
                        "null"
                      ],
                      "items": {
                        "type": "object",
                        "description": "Public CMS record. Additional fields differ by content type.",
                        "properties": {
                          "id": {
                            "type": "string",
                            "format": "uuid"
                          },
                          "slug": {
                            "type": "string"
                          },
                          "title": {
                            "type": "string"
                          },
                          "description": {
                            "type": "string"
                          },
                          "excerpt": {
                            "type": "string"
                          }
                        },
                        "additionalProperties": true
                      }
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "429": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/portfolio-posts/public/{slug}": {
      "get": {
        "operationId": "getCaseStudies",
        "summary": "Published portfolio case studies: one record by slug",
        "parameters": [
          {
            "name": "lang",
            "in": "query",
            "description": "Content language. Omit to use Accept-Language, then English.",
            "schema": {
              "type": "string",
              "enum": [
                "en",
                "lv",
                "ru",
                "et",
                "lt",
                "de",
                "fr"
              ]
            }
          },
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Use the slug returned by the list endpoint.",
            "schema": {
              "type": "string",
              "minLength": 1
            }
          }
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Public content record.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "data": {
                      "type": "object",
                      "description": "Public CMS record. Additional fields differ by content type.",
                      "properties": {
                        "id": {
                          "type": "string",
                          "format": "uuid"
                        },
                        "slug": {
                          "type": "string"
                        },
                        "title": {
                          "type": "string"
                        },
                        "description": {
                          "type": "string"
                        },
                        "excerpt": {
                          "type": "string"
                        }
                      },
                      "additionalProperties": true
                    }
                  },
                  "additionalProperties": true
                }
              }
            }
          },
          "404": {
            "description": "No public record with this slug.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "Request failed; an error message is returned.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
