{
  "openapi": "3.1.0",
  "info": {
    "title": "mizan Server Functions",
    "description": "Auto-generated schema for mizan server functions",
    "version": "1.0.0"
  },
  "paths": {
    "/mizan/echo": {
      "post": {
        "summary": "Echoes the input back.",
        "operationId": "echo",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/echoInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/echoOutput"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-mizan": {
          "transport": "http",
          "isContext": false
        }
      }
    },
    "/mizan/whoami": {
      "post": {
        "summary": "Returns the current user identity.",
        "operationId": "whoami",
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/whoamiOutput"
                }
              }
            }
          }
        },
        "x-mizan": {
          "transport": "http",
          "isContext": false
        }
      }
    },
    "/mizan/user_profile": {
      "post": {
        "summary": "One half of the user context.",
        "operationId": "userProfile",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/userProfileInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/userProfileOutput"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-mizan": {
          "transport": "http",
          "isContext": "user"
        }
      }
    },
    "/mizan/user_orders": {
      "post": {
        "summary": "Other half of the user context \u2014 same param, proves param elevation.",
        "operationId": "userOrders",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/userOrdersInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/userOrdersOutput"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-mizan": {
          "transport": "http",
          "isContext": "user"
        }
      }
    },
    "/mizan/update_profile": {
      "post": {
        "summary": "Mutation declaring affects on the user context.",
        "operationId": "updateProfile",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/updateProfileInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/updateProfileOutput"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-mizan": {
          "transport": "http",
          "isContext": false
        }
      }
    },
    "/mizan/find_user": {
      "post": {
        "summary": "Optional return \u2014 exercises Pydantic `T | None` schema introspection.",
        "operationId": "findUser",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/findUserInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "anyOf": [
                    {
                      "$ref": "#/components/schemas/findUserOutput"
                    },
                    {
                      "type": "null"
                    }
                  ],
                  "title": "Response Finduser"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-mizan": {
          "transport": "http",
          "isContext": false
        }
      }
    },
    "/mizan/rename_user": {
      "post": {
        "summary": "Merge target \u2014 kernel splices return value into the user context.",
        "operationId": "renameUser",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/renameUserInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Successful Response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/renameUserOutput"
                }
              }
            }
          },
          "422": {
            "description": "Validation Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPValidationError"
                }
              }
            }
          }
        },
        "x-mizan": {
          "transport": "http",
          "isContext": false
        }
      }
    }
  },
  "components": {
    "schemas": {
      "HTTPValidationError": {
        "properties": {
          "detail": {
            "items": {
              "$ref": "#/components/schemas/ValidationError"
            },
            "type": "array",
            "title": "Detail"
          }
        },
        "type": "object",
        "title": "HTTPValidationError"
      },
      "OrderOutput": {
        "properties": {
          "id": {
            "type": "integer",
            "title": "Id"
          },
          "user_id": {
            "type": "integer",
            "title": "User Id"
          },
          "total": {
            "type": "integer",
            "title": "Total"
          }
        },
        "type": "object",
        "required": [
          "id",
          "user_id",
          "total"
        ],
        "title": "OrderOutput"
      },
      "ValidationError": {
        "properties": {
          "loc": {
            "items": {
              "anyOf": [
                {
                  "type": "string"
                },
                {
                  "type": "integer"
                }
              ]
            },
            "type": "array",
            "title": "Location"
          },
          "msg": {
            "type": "string",
            "title": "Message"
          },
          "type": {
            "type": "string",
            "title": "Error Type"
          },
          "input": {
            "title": "Input"
          },
          "ctx": {
            "type": "object",
            "title": "Context"
          }
        },
        "type": "object",
        "required": [
          "loc",
          "msg",
          "type"
        ],
        "title": "ValidationError"
      },
      "echoInput": {
        "properties": {
          "text": {
            "type": "string",
            "title": "Text"
          }
        },
        "type": "object",
        "required": [
          "text"
        ],
        "title": "echoInput"
      },
      "echoOutput": {
        "properties": {
          "message": {
            "type": "string",
            "title": "Message"
          }
        },
        "type": "object",
        "required": [
          "message"
        ],
        "title": "echoOutput"
      },
      "findUserInput": {
        "properties": {
          "user_id": {
            "type": "integer",
            "title": "User Id"
          }
        },
        "type": "object",
        "required": [
          "user_id"
        ],
        "title": "findUserInput"
      },
      "findUserOutput": {
        "properties": {
          "user_id": {
            "type": "integer",
            "title": "User Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "user_id",
          "name"
        ],
        "title": "findUserOutput"
      },
      "renameUserInput": {
        "properties": {
          "user_id": {
            "type": "integer",
            "title": "User Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "user_id",
          "name"
        ],
        "title": "renameUserInput"
      },
      "renameUserOutput": {
        "properties": {
          "user_id": {
            "type": "integer",
            "title": "User Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "user_id",
          "name"
        ],
        "title": "renameUserOutput"
      },
      "updateProfileInput": {
        "properties": {
          "user_id": {
            "type": "integer",
            "title": "User Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "user_id",
          "name"
        ],
        "title": "updateProfileInput"
      },
      "updateProfileOutput": {
        "properties": {
          "ok": {
            "type": "boolean",
            "title": "Ok"
          }
        },
        "type": "object",
        "required": [
          "ok"
        ],
        "title": "updateProfileOutput"
      },
      "userOrdersInput": {
        "properties": {
          "user_id": {
            "type": "integer",
            "title": "User Id"
          }
        },
        "type": "object",
        "required": [
          "user_id"
        ],
        "title": "userOrdersInput"
      },
      "userOrdersOutput": {
        "items": {
          "$ref": "#/components/schemas/OrderOutput"
        },
        "type": "array",
        "title": "userOrdersOutput"
      },
      "userProfileInput": {
        "properties": {
          "user_id": {
            "type": "integer",
            "title": "User Id"
          }
        },
        "type": "object",
        "required": [
          "user_id"
        ],
        "title": "userProfileInput"
      },
      "userProfileOutput": {
        "properties": {
          "user_id": {
            "type": "integer",
            "title": "User Id"
          },
          "name": {
            "type": "string",
            "title": "Name"
          }
        },
        "type": "object",
        "required": [
          "user_id",
          "name"
        ],
        "title": "userProfileOutput"
      },
      "whoamiOutput": {
        "properties": {
          "email": {
            "type": "string",
            "title": "Email"
          },
          "authenticated": {
            "type": "boolean",
            "title": "Authenticated"
          }
        },
        "type": "object",
        "required": [
          "email",
          "authenticated"
        ],
        "title": "whoamiOutput"
      }
    }
  },
  "x-mizan-functions": [
    {
      "name": "echo",
      "camelName": "echo",
      "hasInput": true,
      "inputType": "echoInput",
      "outputType": "echoOutput",
      "outputNullable": false,
      "transport": "http",
      "isContext": false,
      "isForm": false,
      "formName": null,
      "formRole": null
    },
    {
      "name": "whoami",
      "camelName": "whoami",
      "hasInput": false,
      "inputType": null,
      "outputType": "whoamiOutput",
      "outputNullable": false,
      "transport": "http",
      "isContext": false,
      "isForm": false,
      "formName": null,
      "formRole": null
    },
    {
      "name": "user_profile",
      "camelName": "userProfile",
      "hasInput": true,
      "inputType": "userProfileInput",
      "outputType": "userProfileOutput",
      "outputNullable": false,
      "transport": "http",
      "isContext": "user",
      "isForm": false,
      "formName": null,
      "formRole": null
    },
    {
      "name": "user_orders",
      "camelName": "userOrders",
      "hasInput": true,
      "inputType": "userOrdersInput",
      "outputType": "userOrdersOutput",
      "outputNullable": false,
      "transport": "http",
      "isContext": "user",
      "isForm": false,
      "formName": null,
      "formRole": null
    },
    {
      "name": "update_profile",
      "camelName": "updateProfile",
      "hasInput": true,
      "inputType": "updateProfileInput",
      "outputType": "updateProfileOutput",
      "outputNullable": false,
      "transport": "http",
      "isContext": false,
      "isForm": false,
      "formName": null,
      "formRole": null,
      "affects": [
        {
          "type": "context",
          "name": "user"
        }
      ]
    },
    {
      "name": "find_user",
      "camelName": "findUser",
      "hasInput": true,
      "inputType": "findUserInput",
      "outputType": "findUserOutput",
      "outputNullable": true,
      "transport": "http",
      "isContext": false,
      "isForm": false,
      "formName": null,
      "formRole": null
    },
    {
      "name": "rename_user",
      "camelName": "renameUser",
      "hasInput": true,
      "inputType": "renameUserInput",
      "outputType": "renameUserOutput",
      "outputNullable": false,
      "transport": "http",
      "isContext": false,
      "isForm": false,
      "formName": null,
      "formRole": null,
      "merge": [
        "user"
      ]
    }
  ],
  "x-mizan-contexts": {
    "user": {
      "functions": [
        "user_profile",
        "user_orders"
      ],
      "params": {
        "user_id": {
          "type": "integer",
          "sharedBy": [
            "user_profile",
            "user_orders"
          ],
          "required": true
        }
      }
    }
  }
}