{
  "openapi": "3.1.0",
  "info": {
    "title": "AIBR API (aibr.pro)",
    "version": "1.0.0",
    "summary": "Public, read-only API for AI Boost Realization (AIBR).",
    "description": "The AIBR API exposes AI Boost Realization's service catalog, industries, pricing tiers, anonymized case studies, booking options, and a side-effect-free inquiry sandbox. No API key is required: every operation is public and unauthenticated. Nothing is stored, sent, or booked by this API. Errors use RFC 9457 Problem Details (application/problem+json) with stable `code` and `hint` members. To engage AIBR, send the human to the bookingUrl returned by any operation.",
    "contact": {
      "name": "AI Boost Realization LLC",
      "email": "info@aibr.pro",
      "url": "https://aibr.pro/docs"
    },
    "termsOfService": "https://aibr.pro/terms"
  },
  "externalDocs": {
    "description": "AIBR API documentation",
    "url": "https://aibr.pro/docs"
  },
  "servers": [
    {
      "url": "https://aibr.pro",
      "description": "Production"
    }
  ],
  "security": [],
  "tags": [
    {
      "name": "Meta",
      "description": "API status."
    },
    {
      "name": "Catalog",
      "description": "What AIBR builds, for whom, and at what price."
    },
    {
      "name": "Engagement",
      "description": "How to engage AIBR, plus a no-side-effect sandbox."
    }
  ],
  "paths": {
    "/api/v1/health": {
      "get": {
        "operationId": "getHealth",
        "tags": [
          "Meta"
        ],
        "summary": "Check AIBR API health",
        "description": "Returns status \"ok\" when the AIBR API (aibr.pro) is serving requests. Call it to confirm availability before retrying a failed request.",
        "responses": {
          "200": {
            "description": "The API is healthy.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Health"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error, returned as RFC 9457 Problem Details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/services": {
      "get": {
        "operationId": "listServices",
        "tags": [
          "Catalog"
        ],
        "summary": "List AIBR services",
        "description": "Lists every AI Boost Realization service (AI voice agents, CRM automation, n8n automation, AI workflow automation, AI content operations) with best-fit situations, deliverables, and booking link. Use when a user asks what AIBR builds.",
        "responses": {
          "200": {
            "description": "All AIBR services.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServiceList"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error, returned as RFC 9457 Problem Details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/services/{slug}": {
      "get": {
        "operationId": "getService",
        "tags": [
          "Catalog"
        ],
        "summary": "Get one AIBR service",
        "description": "Returns a single AIBR service by slug, including when it is the right fit and what gets built. Get valid slugs from listServices.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Service slug from listServices.",
            "schema": {
              "type": "string",
              "enum": [
                "ai-voice-agents",
                "crm-automation",
                "n8n-automation-consultant",
                "ai-workflow-automation",
                "ai-content-operations"
              ],
              "examples": [
                "ai-voice-agents"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested service.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Service"
                }
              }
            }
          },
          "404": {
            "description": "No service has this slug (code service-not-found).",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error, returned as RFC 9457 Problem Details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/industries": {
      "get": {
        "operationId": "listIndustries",
        "tags": [
          "Catalog"
        ],
        "summary": "List industries AIBR serves",
        "description": "Lists the industries AIBR builds for (home services, healthcare, legal, real estate, financial, professional services) with common automation workflows for each.",
        "responses": {
          "200": {
            "description": "All industries.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/IndustryList"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error, returned as RFC 9457 Problem Details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/industries/{slug}": {
      "get": {
        "operationId": "getIndustry",
        "tags": [
          "Catalog"
        ],
        "summary": "Get one industry AIBR serves",
        "description": "Returns one industry by slug with its common automation workflows. Get valid slugs from listIndustries.",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Industry slug from listIndustries.",
            "schema": {
              "type": "string",
              "enum": [
                "home-services",
                "healthcare",
                "legal",
                "real-estate",
                "financial",
                "professional-services"
              ],
              "examples": [
                "home-services"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The requested industry.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Industry"
                }
              }
            }
          },
          "404": {
            "description": "No industry has this slug (code industry-not-found).",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error, returned as RFC 9457 Problem Details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/pricing": {
      "get": {
        "operationId": "listPricingTiers",
        "tags": [
          "Catalog"
        ],
        "summary": "List AIBR pricing tiers",
        "description": "Returns AIBR's fixed-scope engagement tiers in USD: Starter ($2.5K+), Pro ($7.5K), and Elite ($25K+). Use when a user asks what AIBR costs.",
        "responses": {
          "200": {
            "description": "Pricing tiers.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PricingList"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error, returned as RFC 9457 Problem Details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/case-studies": {
      "get": {
        "operationId": "listCaseStudies",
        "tags": [
          "Catalog"
        ],
        "summary": "List anonymized AIBR case studies",
        "description": "Lists client-anonymous AIBR proof points, such as the $28K+ home-services voice and workflow engagement. Client names are never published.",
        "responses": {
          "200": {
            "description": "Anonymized case studies.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CaseStudyList"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error, returned as RFC 9457 Problem Details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/booking": {
      "get": {
        "operationId": "getBookingOptions",
        "tags": [
          "Engagement"
        ],
        "summary": "Get how to book an AIBR consultation",
        "description": "Returns the self-serve booking URL and steps for a free AIBR consultation. The API never books on a user's behalf: send the human to bookingUrl.",
        "responses": {
          "200": {
            "description": "Booking options.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BookingOptions"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error, returned as RFC 9457 Problem Details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/inquiries/validate": {
      "post": {
        "operationId": "validateInquiry",
        "tags": [
          "Engagement"
        ],
        "summary": "Validate a project inquiry (sandbox, no side effects)",
        "description": "Checks a prospective project inquiry against AIBR's scope and returns the recommended tier, matching service, and booking link. Nothing is stored, emailed, or booked. Use it to check fit before sending a user to bookingUrl.",
        "requestBody": {
          "required": true,
          "description": "The inquiry to check.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Inquiry"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "The inquiry is valid; includes the recommended tier.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/InquiryValidation"
                }
              }
            }
          },
          "400": {
            "description": "The body is not valid JSON (invalid-json) or fails validation (invalid-request); see errors[].",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "413": {
            "description": "The body exceeds 16 KB (payload-too-large).",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "415": {
            "description": "Content-Type is not application/json (unsupported-media-type).",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          },
          "default": {
            "description": "Unexpected error, returned as RFC 9457 Problem Details.",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/Problem"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Health": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "status",
          "service",
          "version",
          "time"
        ],
        "properties": {
          "status": {
            "type": "string",
            "description": "Always \"ok\" when healthy.",
            "const": "ok"
          },
          "service": {
            "type": "string",
            "description": "Service identifier.",
            "const": "aibr.pro"
          },
          "version": {
            "type": "string",
            "description": "API version.",
            "examples": [
              "1.0.0"
            ]
          },
          "time": {
            "type": "string",
            "description": "Server time (UTC).",
            "format": "date-time"
          }
        }
      },
      "Service": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "slug",
          "name",
          "summary",
          "bestFit",
          "deliverables",
          "url",
          "bookingUrl"
        ],
        "properties": {
          "slug": {
            "type": "string",
            "description": "Stable service identifier.",
            "enum": [
              "ai-voice-agents",
              "crm-automation",
              "n8n-automation-consultant",
              "ai-workflow-automation",
              "ai-content-operations"
            ]
          },
          "name": {
            "type": "string",
            "description": "Service name."
          },
          "summary": {
            "type": "string",
            "description": "One-sentence description of the service."
          },
          "bestFit": {
            "type": "array",
            "description": "Situations where this service is the right choice.",
            "items": {
              "type": "string"
            }
          },
          "deliverables": {
            "type": "array",
            "description": "What AIBR builds and hands off.",
            "items": {
              "type": "string"
            }
          },
          "url": {
            "type": "string",
            "description": "Human-readable service page.",
            "format": "uri"
          },
          "bookingUrl": {
            "type": "string",
            "description": "Where a human books a consultation.",
            "format": "uri"
          }
        }
      },
      "ServiceList": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "services"
        ],
        "properties": {
          "services": {
            "type": "array",
            "description": "All AIBR services.",
            "items": {
              "$ref": "#/components/schemas/Service"
            }
          }
        }
      },
      "Industry": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "slug",
          "name",
          "commonWorkflows",
          "url"
        ],
        "properties": {
          "slug": {
            "type": "string",
            "description": "Stable industry identifier.",
            "enum": [
              "home-services",
              "healthcare",
              "legal",
              "real-estate",
              "financial",
              "professional-services"
            ]
          },
          "name": {
            "type": "string",
            "description": "Industry name."
          },
          "commonWorkflows": {
            "type": "array",
            "description": "Automation workflows AIBR commonly builds for this industry.",
            "items": {
              "type": "string"
            }
          },
          "url": {
            "type": "string",
            "description": "Human-readable industry page.",
            "format": "uri"
          }
        }
      },
      "IndustryList": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "industries"
        ],
        "properties": {
          "industries": {
            "type": "array",
            "description": "All industries served.",
            "items": {
              "$ref": "#/components/schemas/Industry"
            }
          }
        }
      },
      "PricingTier": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "tier",
          "name",
          "priceUsd",
          "priceLabel",
          "isStartingPrice",
          "summary"
        ],
        "properties": {
          "tier": {
            "type": "string",
            "description": "Tier identifier.",
            "enum": [
              "starter",
              "pro",
              "elite"
            ]
          },
          "name": {
            "type": "string",
            "description": "Tier display name."
          },
          "priceUsd": {
            "type": "integer",
            "description": "Price, or starting price, in US dollars.",
            "minimum": 0
          },
          "priceLabel": {
            "type": "string",
            "description": "Price as shown on aibr.pro.",
            "examples": [
              "$2.5K+"
            ]
          },
          "isStartingPrice": {
            "type": "boolean",
            "description": "True when priceUsd is a starting price."
          },
          "summary": {
            "type": "string",
            "description": "What the tier includes."
          }
        }
      },
      "PricingList": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "currency",
          "tiers",
          "bookingUrl"
        ],
        "properties": {
          "currency": {
            "type": "string",
            "description": "ISO 4217 currency code.",
            "const": "USD"
          },
          "tiers": {
            "type": "array",
            "description": "Engagement tiers, lowest first.",
            "items": {
              "$ref": "#/components/schemas/PricingTier"
            }
          },
          "bookingUrl": {
            "type": "string",
            "description": "Where a human books a consultation.",
            "format": "uri"
          }
        }
      },
      "CaseStudy": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "id",
          "title",
          "industry",
          "engagementValueLabel",
          "summary",
          "components"
        ],
        "properties": {
          "id": {
            "type": "string",
            "description": "Stable case study identifier."
          },
          "title": {
            "type": "string",
            "description": "Anonymized title."
          },
          "industry": {
            "type": "string",
            "description": "Industry slug.",
            "enum": [
              "home-services",
              "healthcare",
              "legal",
              "real-estate",
              "financial",
              "professional-services"
            ]
          },
          "engagementValueLabel": {
            "type": "string",
            "description": "Engagement value as published.",
            "examples": [
              "$28K+"
            ]
          },
          "summary": {
            "type": "string",
            "description": "What was built."
          },
          "components": {
            "type": "array",
            "description": "Components of the engagement.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CaseStudyList": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "caseStudies"
        ],
        "properties": {
          "caseStudies": {
            "type": "array",
            "description": "Anonymized case studies.",
            "items": {
              "$ref": "#/components/schemas/CaseStudy"
            }
          }
        }
      },
      "BookingOptions": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "bookingUrl",
          "format",
          "durationMinutes",
          "cost",
          "steps",
          "contactEmail",
          "note"
        ],
        "properties": {
          "bookingUrl": {
            "type": "string",
            "description": "Self-serve booking page for humans.",
            "format": "uri"
          },
          "format": {
            "type": "string",
            "description": "Meeting format."
          },
          "durationMinutes": {
            "type": "integer",
            "description": "Consultation length in minutes.",
            "minimum": 1
          },
          "cost": {
            "type": "string",
            "description": "Consultation cost.",
            "const": "free"
          },
          "steps": {
            "type": "array",
            "description": "Steps a human follows to book.",
            "items": {
              "type": "string"
            }
          },
          "contactEmail": {
            "type": "string",
            "description": "Email for questions.",
            "format": "email"
          },
          "note": {
            "type": "string",
            "description": "Booking caveats for agents."
          }
        }
      },
      "Inquiry": {
        "type": "object",
        "additionalProperties": false,
        "description": "A prospective project. Do not include personal data; none is needed.",
        "required": [
          "companyName",
          "industry",
          "need"
        ],
        "properties": {
          "companyName": {
            "type": "string",
            "description": "Business name.",
            "minLength": 1,
            "maxLength": 120
          },
          "industry": {
            "type": "string",
            "description": "Industry of the business; \"other\" if none match.",
            "enum": [
              "home-services",
              "healthcare",
              "legal",
              "real-estate",
              "financial",
              "professional-services",
              "other"
            ]
          },
          "need": {
            "type": "string",
            "description": "Primary AIBR service of interest.",
            "enum": [
              "ai-voice-agents",
              "crm-automation",
              "n8n-automation-consultant",
              "ai-workflow-automation",
              "ai-content-operations"
            ]
          },
          "monthlyCallVolume": {
            "type": "integer",
            "description": "Approximate inbound calls per month.",
            "minimum": 0,
            "maximum": 1000000
          },
          "systemsToIntegrate": {
            "type": "integer",
            "description": "Number of tools to connect (CRM, calendar, phone system, ...).",
            "minimum": 0,
            "maximum": 50
          }
        }
      },
      "InquiryValidation": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "valid",
          "recommendedTier",
          "service",
          "stored",
          "bookingUrl",
          "nextStep"
        ],
        "properties": {
          "valid": {
            "type": "boolean",
            "const": true,
            "description": "Always true on a 200 response."
          },
          "recommendedTier": {
            "type": "string",
            "description": "Recommended engagement tier.",
            "enum": [
              "starter",
              "pro",
              "elite"
            ]
          },
          "service": {
            "$ref": "#/components/schemas/Service"
          },
          "stored": {
            "type": "boolean",
            "const": false,
            "description": "Always false: the sandbox stores nothing."
          },
          "bookingUrl": {
            "type": "string",
            "description": "Where the human books a consultation.",
            "format": "uri"
          },
          "nextStep": {
            "type": "string",
            "description": "What the agent should do next."
          }
        }
      },
      "Problem": {
        "type": "object",
        "description": "RFC 9457 Problem Details with AIBR extension members code and hint.",
        "required": [
          "type",
          "title",
          "status",
          "detail",
          "instance",
          "code",
          "hint"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "URI identifying the problem type; links to its documentation.",
            "format": "uri"
          },
          "title": {
            "type": "string",
            "description": "Short, stable summary of the problem type."
          },
          "status": {
            "type": "integer",
            "description": "HTTP status code, identical to the response status.",
            "minimum": 400,
            "maximum": 599
          },
          "detail": {
            "type": "string",
            "description": "Explanation specific to this occurrence."
          },
          "instance": {
            "type": "string",
            "description": "Request path that produced the problem."
          },
          "code": {
            "type": "string",
            "description": "Stable machine-readable error code.",
            "enum": [
              "not-found",
              "service-not-found",
              "industry-not-found",
              "method-not-allowed",
              "invalid-json",
              "invalid-request",
              "unsupported-media-type",
              "payload-too-large",
              "internal-error"
            ]
          },
          "hint": {
            "type": "string",
            "description": "How to resolve the problem."
          },
          "errors": {
            "type": "array",
            "description": "Field-level validation errors.",
            "items": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "pointer",
                "detail"
              ],
              "properties": {
                "pointer": {
                  "type": "string",
                  "description": "JSON Pointer (RFC 6901) to the invalid field."
                },
                "detail": {
                  "type": "string",
                  "description": "What is wrong with the field."
                }
              }
            }
          }
        }
      }
    }
  }
}