{
  "openapi": "3.1.0",
  "info": {
    "title": "AZAI Solutions API",
    "version": "1.0.0",
    "summary": "Read-only public API for AZAI Solutions and its product, AZAI Hub.",
    "description": "Public, read-only JSON API for AZAI Solutions: company details, the AZAI Hub product, pricing, the product changelog, published articles, and case studies. No API key is required.\n\nRate limit: 60 requests per 60 seconds per client IP. Every GET and HEAD response carries `RateLimit` and `RateLimit-Policy` (draft-ietf-httpapi-ratelimit-headers). A 429 adds `Retry-After` in seconds.\n\nVersioning: the major version is in the path (`/api/v1`). Additive changes ship in place; ignore fields you do not recognize. Breaking changes ship under a new path. Deprecated operations are marked `deprecated` here and send `Deprecation` (RFC 9745) and `Sunset` (RFC 8594) headers. Policy: https://azaisolutions.com/developers#versioning\n\nErrors use RFC 9457 problem details (`application/problem+json`) with a stable `code` to branch on.",
    "contact": {
      "name": "AZAI Solutions",
      "email": "info@azaisolutions.com",
      "url": "https://azaisolutions.com/developers"
    },
    "termsOfService": "https://azaisolutions.com/terms"
  },
  "externalDocs": {
    "description": "Developer docs",
    "url": "https://azaisolutions.com/developers"
  },
  "servers": [
    {
      "url": "https://azaisolutions.com",
      "description": "Production"
    }
  ],
  "security": [],
  "paths": {
    "/api/v1": {
      "get": {
        "operationId": "getIndex",
        "summary": "API index with links to every resource",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Index"
                    }
                  }
                }
              }
            }
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          }
        }
      }
    },
    "/api/v1/company": {
      "get": {
        "operationId": "getCompany",
        "summary": "Company name, contact details, and service area",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Company"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          }
        }
      }
    },
    "/api/v1/product": {
      "get": {
        "operationId": "getProduct",
        "summary": "AZAI Hub: what it does, modules, guardrails, integrations",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Product"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          }
        }
      }
    },
    "/api/v1/pricing": {
      "get": {
        "operationId": "getPricing",
        "summary": "Free demo, pilot, subscription, and setup",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Pricing"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          }
        }
      }
    },
    "/api/v1/changelog": {
      "get": {
        "operationId": "getChangelog",
        "summary": "AZAI Hub releases, newest first",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Changelog"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          }
        }
      }
    },
    "/api/v1/insights": {
      "get": {
        "operationId": "listInsights",
        "summary": "Published articles, newest first",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/InsightSummary"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          }
        }
      }
    },
    "/api/v1/insights/{slug}": {
      "get": {
        "operationId": "getInsight",
        "summary": "One published article with full text",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "description": "Article slug from /insights",
            "schema": {
              "type": "string",
              "pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "$ref": "#/components/schemas/Insight"
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          }
        }
      }
    },
    "/api/v1/case-studies": {
      "get": {
        "operationId": "listCaseStudies",
        "summary": "Published implementation write-ups",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "RateLimit": {
                "$ref": "#/components/headers/RateLimit"
              },
              "RateLimit-Policy": {
                "$ref": "#/components/headers/RateLimit-Policy"
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "required": [
                    "data"
                  ],
                  "properties": {
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/CaseStudy"
                      }
                    }
                  }
                }
              }
            }
          },
          "404": {
            "$ref": "#/components/responses/NotFound"
          },
          "429": {
            "$ref": "#/components/responses/TooManyRequests"
          },
          "500": {
            "$ref": "#/components/responses/InternalError"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Index": {
        "type": "object",
        "required": [
          "name",
          "version",
          "documentation",
          "openapi",
          "resources"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "documentation": {
            "type": "string",
            "format": "uri"
          },
          "openapi": {
            "type": "string",
            "format": "uri"
          },
          "resources": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "summary"
              ],
              "oneOf": [
                {
                  "required": [
                    "href"
                  ]
                },
                {
                  "required": [
                    "hrefTemplate"
                  ]
                }
              ],
              "properties": {
                "href": {
                  "type": "string",
                  "format": "uri"
                },
                "hrefTemplate": {
                  "type": "string",
                  "format": "uri-template",
                  "description": "RFC 6570 URI template for a parameterized resource"
                },
                "summary": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "Company": {
        "type": "object",
        "required": [
          "name",
          "description",
          "headquarters",
          "email",
          "phone",
          "website"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "tagline": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "founded": {
            "type": "string"
          },
          "headquarters": {
            "type": "string",
            "description": "City and state only"
          },
          "serviceArea": {
            "type": "object",
            "properties": {
              "primary": {
                "type": "string"
              },
              "state": {
                "type": "string"
              },
              "remote": {
                "type": "string"
              }
            }
          },
          "email": {
            "type": "string",
            "format": "email"
          },
          "phone": {
            "type": "string"
          },
          "website": {
            "type": "string",
            "format": "uri"
          },
          "social": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "format": "uri"
            }
          },
          "contactUrl": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "Product": {
        "type": "object",
        "required": [
          "name",
          "tagline",
          "summary",
          "url"
        ],
        "properties": {
          "name": {
            "type": "string"
          },
          "tagline": {
            "type": "string"
          },
          "summary": {
            "type": "string"
          },
          "steps": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "title",
                "description"
              ],
              "properties": {
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              }
            }
          },
          "modules": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "title",
                "description"
              ],
              "properties": {
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              }
            }
          },
          "guardrails": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "title",
                "description"
              ],
              "properties": {
                "title": {
                  "type": "string"
                },
                "description": {
                  "type": "string"
                }
              }
            }
          },
          "integrations": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "Canonical HTML page"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri",
            "description": "Markdown version of the page"
          },
          "pricingUrl": {
            "type": "string",
            "format": "uri"
          },
          "securityUrl": {
            "type": "string",
            "format": "uri"
          },
          "changelogUrl": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "Pricing": {
        "type": "object",
        "required": [
          "product",
          "currency",
          "freeIntro",
          "tiers",
          "url"
        ],
        "properties": {
          "product": {
            "type": "string"
          },
          "currency": {
            "type": "string",
            "const": "USD"
          },
          "freeIntro": {
            "type": "object",
            "description": "The free 30-min demo. The key name predates the demo.",
            "properties": {
              "name": {
                "type": "string"
              },
              "duration": {
                "type": "string"
              },
              "price": {
                "type": "string"
              },
              "url": {
                "type": "string",
                "format": "uri"
              }
            }
          },
          "tiers": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "name",
                "price",
                "cadence",
                "description",
                "includes"
              ],
              "properties": {
                "name": {
                  "type": "string"
                },
                "price": {
                  "type": "string",
                  "description": "Display price, for example \"$1,500\""
                },
                "cadence": {
                  "type": "string",
                  "description": "Term or billing unit, for example \"per queue, per month\""
                },
                "description": {
                  "type": "string"
                },
                "includes": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "setup": {
            "type": "object",
            "description": "One-time setup fee for a subscription",
            "properties": {
              "name": {
                "type": "string"
              },
              "price": {
                "type": "string"
              },
              "cadence": {
                "type": "string"
              },
              "description": {
                "type": "string"
              }
            }
          },
          "modelUsage": {
            "type": "object",
            "description": "How model usage is billed on a subscription",
            "properties": {
              "providers": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "description": {
                "type": "string"
              }
            }
          },
          "addOns": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "What can be added to a subscription"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "Canonical HTML page"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri",
            "description": "Markdown version of the page"
          }
        }
      },
      "Changelog": {
        "type": "object",
        "required": [
          "product",
          "releases"
        ],
        "properties": {
          "product": {
            "type": "string"
          },
          "releases": {
            "type": "array",
            "items": {
              "type": "object",
              "required": [
                "version",
                "date",
                "title",
                "highlights"
              ],
              "properties": {
                "version": {
                  "type": "string"
                },
                "date": {
                  "type": "string",
                  "format": "date"
                },
                "title": {
                  "type": "string"
                },
                "highlights": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "Canonical HTML page"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri",
            "description": "Markdown version of the page"
          }
        }
      },
      "InsightSummary": {
        "type": "object",
        "required": [
          "slug",
          "title",
          "excerpt",
          "publishedDate",
          "href",
          "url"
        ],
        "properties": {
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "subtitle": {
            "type": "string"
          },
          "excerpt": {
            "type": "string"
          },
          "category": {
            "type": "string"
          },
          "readTime": {
            "type": "string"
          },
          "publishedDate": {
            "type": "string",
            "format": "date"
          },
          "updatedDate": {
            "type": [
              "string",
              "null"
            ],
            "format": "date"
          },
          "href": {
            "type": "string",
            "format": "uri",
            "description": "This article in the API"
          },
          "url": {
            "type": "string",
            "format": "uri",
            "description": "Canonical HTML page"
          },
          "markdownUrl": {
            "type": "string",
            "format": "uri",
            "description": "Markdown version of the page"
          }
        }
      },
      "Insight": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InsightSummary"
          },
          {
            "type": "object",
            "required": [
              "author",
              "sections",
              "keyTakeaways",
              "sources"
            ],
            "properties": {
              "author": {
                "type": "object",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "role": {
                    "type": "string"
                  }
                }
              },
              "sections": {
                "type": "array",
                "items": {
                  "type": "object",
                  "required": [
                    "heading",
                    "content"
                  ],
                  "properties": {
                    "heading": {
                      "type": "string"
                    },
                    "content": {
                      "type": "string",
                      "description": "Markdown"
                    }
                  }
                }
              },
              "keyTakeaways": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "sources": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "title": {
                      "type": "string"
                    },
                    "publisher": {
                      "type": "string"
                    },
                    "url": {
                      "type": "string",
                      "format": "uri"
                    }
                  }
                }
              }
            }
          }
        ]
      },
      "CaseStudy": {
        "type": "object",
        "required": [
          "slug",
          "headline",
          "evidenceType",
          "url"
        ],
        "properties": {
          "slug": {
            "type": "string"
          },
          "headline": {
            "type": "string"
          },
          "subheadline": {
            "type": "string"
          },
          "evidenceType": {
            "type": "string",
            "enum": [
              "client",
              "internal"
            ]
          },
          "evidenceLabel": {
            "type": [
              "string",
              "null"
            ]
          },
          "disclaimer": {
            "type": [
              "string",
              "null"
            ]
          },
          "client": {
            "type": "object"
          },
          "problem": {
            "type": "object"
          },
          "solution": {
            "type": "object"
          },
          "results": {
            "type": "object"
          },
          "url": {
            "type": "string",
            "format": "uri"
          }
        }
      },
      "Problem": {
        "type": "object",
        "description": "RFC 9457 problem details with a machine-readable `code`",
        "required": [
          "type",
          "title",
          "status",
          "code"
        ],
        "properties": {
          "type": {
            "type": "string",
            "format": "uri-reference"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "type": "integer"
          },
          "code": {
            "type": "string",
            "enum": [
              "not_found",
              "method_not_allowed",
              "rate_limited",
              "internal_error"
            ],
            "description": "Stable error code. Branch on this; `title` and `detail` are for people and may change. `not_found` (404), `method_not_allowed` (405), `rate_limited` (429), `internal_error` (500)"
          },
          "detail": {
            "type": "string"
          },
          "instance": {
            "type": "string",
            "format": "uri-reference"
          }
        }
      }
    },
    "headers": {
      "RateLimit": {
        "description": "Remaining quota (r) and seconds until reset (t) for the named policy.",
        "schema": {
          "type": "string",
          "examples": [
            "\"default\";r=59;t=60"
          ]
        }
      },
      "RateLimit-Policy": {
        "description": "Quota (q) per window in seconds (w).",
        "schema": {
          "type": "string",
          "examples": [
            "\"default\";q=60;w=60"
          ]
        }
      },
      "Retry-After": {
        "description": "Seconds to wait before retrying.",
        "schema": {
          "type": "integer",
          "minimum": 1
        }
      }
    },
    "responses": {
      "NotFound": {
        "description": "No such resource",
        "headers": {
          "RateLimit": {
            "$ref": "#/components/headers/RateLimit"
          },
          "RateLimit-Policy": {
            "$ref": "#/components/headers/RateLimit-Policy"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        }
      },
      "TooManyRequests": {
        "description": "Rate limit exceeded",
        "headers": {
          "RateLimit": {
            "$ref": "#/components/headers/RateLimit"
          },
          "RateLimit-Policy": {
            "$ref": "#/components/headers/RateLimit-Policy"
          },
          "Retry-After": {
            "$ref": "#/components/headers/Retry-After"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        }
      },
      "InternalError": {
        "description": "The server failed to load the resource. Safe to retry.",
        "headers": {
          "RateLimit": {
            "$ref": "#/components/headers/RateLimit"
          },
          "RateLimit-Policy": {
            "$ref": "#/components/headers/RateLimit-Policy"
          }
        },
        "content": {
          "application/problem+json": {
            "schema": {
              "$ref": "#/components/schemas/Problem"
            }
          }
        }
      }
    }
  }
}