{
  "openapi": "3.1.0",
  "info": {
    "title": "Finansmanlar Public Discovery API",
    "version": "1.0.0",
    "description": "Read-only public discovery endpoints for Finansmanlar. These endpoints do not require OAuth and do not expose protected user data."
  },
  "servers": [
    {
      "url": "https://finansmanlar.com"
    }
  ],
  "security": [],
  "paths": {
    "/health": {
      "get": {
        "operationId": "getHealth",
        "summary": "Read service health status",
        "responses": {
          "200": {
            "description": "Service status",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "status": {
                      "type": "string"
                    },
                    "service": {
                      "type": "string"
                    },
                    "time": {
                      "type": "string",
                      "format": "date-time"
                    }
                  },
                  "required": [
                    "status",
                    "service",
                    "time"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/sitemap.xml": {
      "get": {
        "operationId": "getSitemapIndex",
        "summary": "Read sitemap index",
        "responses": {
          "200": {
            "description": "XML sitemap index",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/rss.xml": {
      "get": {
        "operationId": "getRssFeed",
        "summary": "Read public guide RSS feed",
        "responses": {
          "200": {
            "description": "RSS feed",
            "content": {
              "application/rss+xml": {
                "schema": {
                  "type": "string"
                }
              },
              "application/xml": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "operationId": "getLlmsSummary",
        "summary": "Read AI-oriented site summary",
        "responses": {
          "200": {
            "description": "Plain text LLM summary",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/llms-full.txt": {
      "get": {
        "operationId": "getLlmsFull",
        "summary": "Read full AI-oriented site context",
        "responses": {
          "200": {
            "description": "Plain text LLM context",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/finansman-blog": {
      "get": {
        "operationId": "getGuideIndex",
        "summary": "Read public finance guide index",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1
            }
          }
        ],
        "responses": {
          "200": {
            "description": "HTML guide index",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string"
                }
              },
              "text/markdown": {
                "schema": {
                  "type": "string"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/openid-configuration": {
      "get": {
        "operationId": "getOpenIDConfiguration",
        "summary": "Read OpenID Connect discovery metadata",
        "tags": [
          "Auth"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Read OpenID Connect discovery metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryDocument"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/oauth-authorization-server": {
      "get": {
        "operationId": "getOAuthAuthorizationServer",
        "summary": "Read OAuth authorization server metadata",
        "tags": [
          "Auth"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Read OAuth authorization server metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryDocument"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/oauth-protected-resource": {
      "get": {
        "operationId": "getOAuthProtectedResource",
        "summary": "Read OAuth protected resource metadata",
        "tags": [
          "Auth"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Read OAuth protected resource metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryDocument"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/jwks.json": {
      "get": {
        "operationId": "getJWKS",
        "summary": "Read public JWKS document",
        "tags": [
          "Auth"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Read public JWKS document",
            "content": {
              "application/jwk-set+json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryDocument"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/ucp": {
      "get": {
        "summary": "UCP discovery posture",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/acp.json": {
      "get": {
        "summary": "ACP discovery posture",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/x402": {
      "get": {
        "operationId": "getX402Discovery",
        "summary": "Read x402 discovery posture",
        "tags": [
          "Agent commerce"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "x402 discovery metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/X402Discovery"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/api-catalog": {
      "get": {
        "operationId": "getApiCatalog",
        "summary": "Read RFC 9727 API catalog",
        "tags": [
          "Discovery"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "Read RFC 9727 API catalog",
            "content": {
              "application/linkset+json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryDocument"
                }
              }
            }
          }
        }
      }
    },
    "/api/x402-payment-required": {
      "get": {
        "summary": "x402 Payment Required probe",
        "responses": {
          "402": {
            "description": "Payment required or x402 not configured",
            "headers": {
              "payment-required": {
                "schema": {
                  "type": "string"
                },
                "description": "Base64-encoded x402 payment requirements."
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/home-calculator-data": {
      "get": {
        "operationId": "getHomeCalculatorData",
        "summary": "Read public loan calculator offer data",
        "description": "Returns public, cacheable bank offer data used by the homepage calculator. No authentication or user data is involved.",
        "security": [],
        "responses": {
          "200": {
            "description": "Calculator data",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ok": {
                      "type": "boolean"
                    },
                    "loanTypes": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    },
                    "banks": {
                      "type": "array",
                      "items": {
                        "type": "object"
                      }
                    }
                  },
                  "required": [
                    "ok",
                    "loanTypes",
                    "banks"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/x402.json": {
      "get": {
        "operationId": "getX402Discovery",
        "summary": "Read x402 discovery posture",
        "tags": [
          "Agent commerce"
        ],
        "security": [],
        "responses": {
          "200": {
            "description": "x402 discovery metadata",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/X402Discovery"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/agent-skills/index.json": {
      "get": {
        "summary": "Read Agent Skills discovery index",
        "responses": {
          "200": {
            "description": "JSON response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/mcp/server-card.json": {
      "get": {
        "summary": "Read MCP Server Card",
        "responses": {
          "200": {
            "description": "JSON response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/http-message-signatures-directory": {
      "get": {
        "summary": "Read Web Bot Auth HTTP Message Signatures Directory",
        "responses": {
          "200": {
            "description": "HTTP Message Signatures directory",
            "content": {
              "application/http-message-signatures-directory+json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/.well-known/dns-aid.json": {
      "get": {
        "summary": "Read DNS-AID deployment notes",
        "responses": {
          "200": {
            "description": "JSON response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/mcp": {
      "get": {
        "summary": "Initialize public read-only MCP endpoint",
        "responses": {
          "200": {
            "description": "JSON response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      },
      "post": {
        "summary": "Call public read-only MCP endpoint",
        "responses": {
          "200": {
            "description": "MCP JSON-RPC response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/agent-auth": {
      "get": {
        "summary": "Agent auth posture",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/agent-auth/claim": {
      "get": {
        "summary": "Agent auth claim placeholder",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/agent-auth/claim/complete": {
      "get": {
        "summary": "Agent auth claim completion placeholder",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "OAuthDiscoveryOnly": {
        "type": "oauth2",
        "description": "Discovery metadata only. Finansmanlar currently has no protected public user-data API and issues no access tokens.",
        "flows": {}
      }
    },
    "schemas": {
      "DiscoveryDocument": {
        "type": "object",
        "additionalProperties": true
      },
      "X402Status": {
        "type": "object",
        "properties": {
          "x402Version": {
            "type": "integer"
          },
          "accepts": {
            "type": "array",
            "items": {
              "type": "object"
            }
          },
          "error": {
            "type": "string"
          },
          "documentation": {
            "type": "string",
            "format": "uri"
          },
          "payTo": {
            "type": "string",
            "example": "0xeab38F72fc3c111AEccF9FE762041cEc2E0A2bFF"
          }
        },
        "required": [
          "x402Version",
          "accepts"
        ]
      },
      "X402Discovery": {
        "type": "object",
        "properties": {
          "x402Version": {
            "type": "integer"
          },
          "protocol": {
            "type": "string"
          },
          "paymentsEnabled": {
            "type": "boolean"
          },
          "accepts": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "payableRoutes": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          },
          "message": {
            "type": "string"
          },
          "payTo": {
            "type": "string",
            "example": "0xeab38F72fc3c111AEccF9FE762041cEc2E0A2bFF"
          },
          "network": {
            "type": "string",
            "example": "eip155:84532"
          },
          "price": {
            "type": "string",
            "example": "$0.001"
          },
          "protectedRoutes": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uri"
            }
          }
        },
        "required": [
          "x402Version",
          "accepts"
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Discovery",
      "description": "Machine-readable public discovery metadata."
    },
    {
      "name": "Auth",
      "description": "OAuth/OIDC discovery posture for agents."
    },
    {
      "name": "Agent commerce",
      "description": "Non-commerce/payment-discovery posture for agent systems."
    }
  ],
  "x-payment-info": {
    "intent": "charge",
    "method": "x402",
    "amount": "0",
    "currency": "TRY",
    "enabled": false,
    "description": "Finansmanlar is not a commerce/paywalled API; x402/MPP metadata is discovery-only and no payable operations are advertised."
  }
}
