{
	"openapi": "3.1.0",
	"info": {
		"title": "FIOR Avukatlık Bürosu",
		"version": "1.0.0",
		"description": "Public HTTP discovery surface for https://www.fiorlaw.com: API catalog, sitemap, health, and documentation. Authentication is not required. Undocumented /api/* paths and JSON-preferring 404/405 responses use RFC 9457 application/problem+json (code, detail, resolution).",
		"contact": {
			"name": "FIOR Avukatlık Bürosu",
			"email": "info@fiorhukuk.com",
			"url": "https://www.fiorlaw.com/iletisim"
		}
	},
	"servers": [
		{
			"url": "https://www.fiorlaw.com"
		}
	],
	"paths": {
		"/.well-known/ai-catalog.json": {
			"get": {
				"operationId": "getAiCatalog",
				"summary": "ARD / AI Catalog capability manifest",
				"responses": {
					"200": {
						"description": "Catalog of agentic resources published by this origin.",
						"content": {
							"application/json": {
								"schema": {
									"type": "object",
									"required": ["specVersion", "host", "entries"],
									"properties": {
										"specVersion": {
											"type": "string"
										},
										"host": {
											"type": "object",
											"required": ["displayName", "identifier"]
										},
										"entries": {
											"type": "array"
										}
									}
								}
							}
						}
					}
				}
			}
		},
		"/.well-known/api-catalog": {
			"get": {
				"operationId": "getApiCatalog",
				"summary": "RFC 9727 API catalog",
				"responses": {
					"200": {
						"description": "Linkset listing public machine-readable resources.",
						"content": {
							"application/linkset+json": {
								"schema": {
									"type": "object",
									"required": ["linkset"],
									"properties": {
										"linkset": {
											"type": "array"
										}
									}
								}
							}
						}
					}
				}
			}
		},
		"/openapi.json": {
			"get": {
				"operationId": "getOpenApi",
				"summary": "OpenAPI description of this surface",
				"responses": {
					"200": {
						"description": "OpenAPI 3.1 document.",
						"content": {
							"application/json": {
								"schema": {
									"type": "object"
								}
							}
						}
					}
				}
			}
		},
		"/api/status.json": {
			"get": {
				"operationId": "getStatus",
				"summary": "Health status",
				"responses": {
					"200": {
						"description": "The origin is reachable.",
						"content": {
							"application/json": {
								"schema": {
									"type": "object",
									"required": ["status"],
									"properties": {
										"status": {
											"type": "string",
											"const": "ok"
										}
									}
								}
							}
						}
					},
					"405": {
						"$ref": "#/components/responses/MethodNotAllowed"
					}
				}
			}
		},
		"/api/{path}": {
			"parameters": [
				{
					"name": "path",
					"in": "path",
					"required": true,
					"schema": {
						"type": "string"
					},
					"description": "Any path other than status.json."
				}
			],
			"get": {
				"operationId": "apiRouteNotFound",
				"summary": "Undocumented API path",
				"responses": {
					"404": {
						"$ref": "#/components/responses/ApiRouteNotFound"
					}
				}
			},
			"post": {
				"operationId": "apiRouteNotFoundPost",
				"summary": "Undocumented API path",
				"responses": {
					"404": {
						"$ref": "#/components/responses/ApiRouteNotFound"
					}
				}
			}
		},
		"/llms.txt": {
			"get": {
				"operationId": "getLlmsTxt",
				"summary": "llms.txt site guide for agents",
				"responses": {
					"200": {
						"description": "Markdown index of public pages and machine-readable files.",
						"content": {
							"text/markdown": {
								"schema": {
									"type": "string"
								}
							}
						}
					}
				}
			}
		},
		"/docs": {
			"get": {
				"operationId": "getDocs",
				"summary": "Human-readable API documentation",
				"responses": {
					"200": {
						"description": "Authentication policy, endpoints, example requests, and JSON error format.",
						"content": {
							"text/html": {
								"schema": {
									"type": "string"
								}
							}
						}
					}
				}
			}
		},
		"/sitemap-index.xml": {
			"get": {
				"operationId": "getSitemapIndex",
				"summary": "XML sitemap index",
				"responses": {
					"200": {
						"description": "Sitemap index for public pages.",
						"content": {
							"application/xml": {
								"schema": {
									"type": "string"
								}
							}
						}
					}
				}
			}
		},
		"/.well-known/agent-skills/index.json": {
			"get": {
				"operationId": "getAgentSkillsIndex",
				"summary": "Agent Skills discovery index (RFC v0.2.0)",
				"responses": {
					"200": {
						"description": "Index of published Agent Skills.",
						"content": {
							"application/json": {
								"schema": {
									"type": "object",
									"required": ["$schema", "skills"],
									"properties": {
										"$schema": {
											"type": "string",
											"format": "uri"
										},
										"skills": {
											"type": "array",
											"items": {
												"type": "object",
												"required": ["name", "type", "description", "url", "digest"]
											}
										}
									}
								}
							}
						}
					}
				}
			}
		},
		"/.well-known/mcp/server-card.json": {
			"get": {
				"operationId": "getMcpServerCard",
				"summary": "MCP Server Card (SEP-1649)",
				"responses": {
					"200": {
						"description": "Discovery document. This origin does not operate an MCP server.",
						"content": {
							"application/json": {
								"schema": {
									"type": "object",
									"required": ["serverInfo", "transport", "capabilities"],
									"properties": {
										"serverInfo": {
											"type": "object",
											"required": ["name", "version"]
										},
										"transport": {
											"type": "object"
										},
										"capabilities": {
											"type": "object"
										}
									}
								}
							}
						}
					}
				}
			}
		},
		"/mcp": {
			"post": {
				"operationId": "mcpReserved",
				"summary": "Reserved MCP Streamable HTTP endpoint",
				"responses": {
					"200": {
						"description": "JSON-RPC error. This origin does not operate an MCP server.",
						"content": {
							"application/json": {
								"schema": {
									"type": "object",
									"required": ["jsonrpc", "error"]
								}
							}
						}
					}
				}
			}
		},
		"/auth.md": {
			"get": {
				"operationId": "getAuthMd",
				"summary": "Auth.md agent registration instructions",
				"responses": {
					"200": {
						"description": "Markdown skill for agents. This origin does not accept agent registration.",
						"content": {
							"text/markdown": {
								"schema": {
									"type": "string"
								}
							}
						}
					}
				}
			}
		},
		"/.well-known/oauth-protected-resource": {
			"get": {
				"operationId": "getOAuthProtectedResource",
				"summary": "OAuth 2.0 Protected Resource Metadata (RFC 9728)",
				"responses": {
					"200": {
						"description": "Discovery document. This origin has no protected APIs and does not require access tokens.",
						"content": {
							"application/json": {
								"schema": {
									"type": "object",
									"required": ["resource", "authorization_servers"],
									"properties": {
										"resource": {
											"type": "string",
											"format": "uri"
										},
										"authorization_servers": {
											"type": "array",
											"items": {
												"type": "string",
												"format": "uri"
											}
										},
										"scopes_supported": {
											"type": "array",
											"items": {
												"type": "string"
											}
										}
									}
								}
							}
						}
					}
				}
			}
		},
		"/.well-known/oauth-authorization-server": {
			"get": {
				"operationId": "getOAuthAuthorizationServer",
				"summary": "OAuth 2.0 Authorization Server Metadata (RFC 8414)",
				"responses": {
					"200": {
						"description": "Discovery document. This origin does not issue tokens.",
						"content": {
							"application/json": {
								"schema": {
									"type": "object",
									"required": [
										"issuer",
										"authorization_endpoint",
										"token_endpoint",
										"jwks_uri",
										"grant_types_supported",
										"response_types_supported"
									]
								}
							}
						}
					}
				}
			}
		},
		"/.well-known/openid-configuration": {
			"get": {
				"operationId": "getOpenIdConfiguration",
				"summary": "OpenID Connect Discovery metadata",
				"responses": {
					"200": {
						"description": "Discovery document. This origin does not issue tokens.",
						"content": {
							"application/json": {
								"schema": {
									"type": "object"
								}
							}
						}
					}
				}
			}
		}
	},
	"components": {
		"schemas": {
			"ProblemDetails": {
				"type": "object",
				"required": ["type", "title", "status", "detail", "code", "resolution"],
				"properties": {
					"type": {
						"type": "string",
						"format": "uri"
					},
					"title": {
						"type": "string"
					},
					"status": {
						"type": "integer"
					},
					"detail": {
						"type": "string"
					},
					"instance": {
						"type": "string"
					},
					"code": {
						"type": "string",
						"enum": ["api_route_not_found", "page_not_found", "method_not_allowed"]
					},
					"resolution": {
						"type": "string"
					}
				}
			}
		},
		"responses": {
			"ApiRouteNotFound": {
				"description": "No HTTP resource exists at this API path.",
				"content": {
					"application/problem+json": {
						"schema": {
							"$ref": "#/components/schemas/ProblemDetails"
						}
					}
				}
			},
			"MethodNotAllowed": {
				"description": "Use GET or HEAD.",
				"headers": {
					"Allow": {
						"schema": {
							"type": "string",
							"const": "GET, HEAD"
						}
					}
				},
				"content": {
					"application/problem+json": {
						"schema": {
							"$ref": "#/components/schemas/ProblemDetails"
						}
					}
				}
			}
		}
	}
}
