{
  "openapi": "3.1.0",
  "info": {
    "title": "Braintied Public API",
    "version": "1.0.0",
    "summary": "Read the portfolio, the offering, and the measured proof behind it.",
    "description": "Braintied is a venture studio: it helps founders build, launch and scale.\n\nThis API answers the three questions a founder (or a founder’s agent) arrives\nwith — what can you do for me, has it worked before, and what have you built.\n\nEntirely public and read-only. There is no credential because there is nothing\nhere a browser could not already see, and no write path of any kind. The same\ndata is available over MCP at /api/mcp for clients that prefer it.",
    "contact": {
      "name": "Braintied",
      "url": "https://www.braintied.com/agents.md"
    }
  },
  "servers": [
    {
      "url": "https://www.braintied.com",
      "description": "Production"
    }
  ],
  "externalDocs": {
    "description": "Agent integration guide",
    "url": "https://www.braintied.com/agents.md"
  },
  "tags": [
    {
      "name": "studio",
      "description": "What Braintied does, and the evidence."
    },
    {
      "name": "portfolio",
      "description": "What Braintied has built."
    },
    {
      "name": "editorial",
      "description": "What Braintied has written."
    }
  ],
  "paths": {
    "/api/v1/studio": {
      "get": {
        "tags": [
          "studio"
        ],
        "operationId": "getStudio",
        "summary": "The offering, the portfolio shape, and the measured proof",
        "description": "One call for what Braintied does at build/launch/scale, how many products exist, and the verifiable engineering evidence behind the claim that a venture reaches production in days. Numbers carry the date they were measured.",
        "security": [],
        "responses": {
          "200": {
            "description": "Positioning, services, portfolio summary and evidence.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/products": {
      "get": {
        "tags": [
          "portfolio"
        ],
        "operationId": "listProducts",
        "summary": "List the portfolio",
        "description": "Every product Braintied builds, with a one-line summary, category, industry and shipping status. Unknown query parameters are rejected rather than ignored.",
        "security": [],
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "B2B",
                "Consumer",
                "Platform"
              ]
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "Live",
                "Beta",
                "Development"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The portfolio.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "products": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Product"
                      }
                    },
                    "returned": {
                      "type": "integer"
                    }
                  },
                  "required": [
                    "products",
                    "returned"
                  ]
                }
              }
            }
          },
          "400": {
            "description": "Request failed. The body carries a human-readable reason.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/products/{slug}": {
      "get": {
        "tags": [
          "portfolio"
        ],
        "operationId": "getProduct",
        "summary": "Read one product in full",
        "security": [],
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "The product slug, as returned by listProducts.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The product, including its long description.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Product"
                }
              }
            }
          },
          "404": {
            "description": "No such slug. The body names the endpoint that lists valid ones.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/essays": {
      "get": {
        "tags": [
          "editorial"
        ],
        "operationId": "listEssays",
        "summary": "List published editorial essays",
        "description": "Essays from Cortex, newest first. Returns 503 rather than an empty list when the archive is unreachable, because an empty list reads as \"Braintied has written nothing\".",
        "security": [],
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 50,
              "default": 10
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Published essays.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "400": {
            "description": "Request failed. The body carries a human-readable reason.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          },
          "503": {
            "description": "The editorial archive is unavailable.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "required": [
                    "error"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Product": {
        "type": "object",
        "properties": {
          "slug": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "tagline": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "category": {
            "type": "string",
            "enum": [
              "B2B",
              "Consumer",
              "Platform"
            ]
          },
          "industry": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "Live",
              "Beta",
              "Development"
            ]
          },
          "url": {
            "type": "string",
            "format": "uri"
          },
          "description": {
            "type": "string",
            "description": "Long form. Single-product reads only."
          },
          "short_description": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "name",
          "status",
          "url"
        ]
      }
    }
  }
}