{
  "openapi": "3.0.3",
  "info": {
    "title": "Trylle Public API",
    "description": "Public Trylle API. Authenticate with a CLI Key or bot token as a bearer token.",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.trylle.com",
      "description": "Trylle public API"
    }
  ],
  "paths": {
    "/ai/gateway/verify": {
      "post": {
        "tags": [
          "System"
        ],
        "summary": "verifyAIGatewayKey",
        "description": "Verify whether an API key may use the Trylle AI gateway.",
        "operationId": "publicapi#verifyAIGatewayKey",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyAIGatewayKeyRequestBody"
              },
              "example": {
                "key": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AIGatewayKeyVerification"
                },
                "example": {
                  "ok": false
                }
              }
            }
          }
        }
      }
    },
    "/healthz": {
      "get": {
        "tags": [
          "System"
        ],
        "summary": "health",
        "operationId": "publicapi#health",
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        },
        "security": []
      }
    },
    "/v1/accounting/user": {
      "get": {
        "tags": [
          "Usage and billing"
        ],
        "summary": "getUserAccountingSummary",
        "description": "Return the authenticated user's accounting balances and insolvency state.",
        "operationId": "publicapi#getUserAccountingSummary",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrylleAccountingSummary"
                },
                "example": {
                  "balance": {
                    "aiCreditMicrousd": 1,
                    "ciCreditMicrousd": 1,
                    "hardMicrousd": 1,
                    "hasUnpricedUsage": false,
                    "insolvent": false,
                    "pendingAiMicrousd": 1,
                    "pendingCiMicrousd": 1,
                    "pendingMicrousd": 1,
                    "softMicrousd": 1,
                    "totalMicrousd": 1
                  },
                  "ownerId": "abc123",
                  "ownerType": "organization"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounting/user/charges": {
      "get": {
        "tags": [
          "Usage and billing"
        ],
        "summary": "listUserAccountingCharges",
        "description": "List personal daily charge allocations, optionally by category.",
        "operationId": "publicapi#listUserAccountingCharges",
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "description": "Optional spending category.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Optional spending category.",
              "example": "ci",
              "enum": [
                "ai",
                "ci"
              ]
            },
            "example": "ci"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum daily allocation rows.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Maximum daily allocation rows.",
              "default": 100,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 500
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrylleAccountingDailyChargeList"
                },
                "example": {
                  "items": [
                    {
                      "amountMicrousd": 1,
                      "category": "ci",
                      "date": "1970-01-01",
                      "fundingSource": "soft"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounting/user/chart": {
      "get": {
        "tags": [
          "Usage and billing"
        ],
        "summary": "getUserAccountingChart",
        "description": "Return personal resource spending chart data.",
        "operationId": "publicapi#getUserAccountingChart",
        "parameters": [
          {
            "name": "timeframe",
            "in": "query",
            "description": "Chart timeframe.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Chart timeframe.",
              "default": "last_24_hours",
              "example": "last_7_days",
              "enum": [
                "last_24_hours",
                "last_7_days",
                "month_to_date"
              ]
            },
            "example": "last_7_days"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrylleAccountingChart"
                },
                "example": {
                  "from": "1970-01-01T00:00:01Z",
                  "points": [
                    {
                      "aiCacheReadTokens": 1,
                      "aiCacheWriteTokens": 1,
                      "aiInputTokens": 1,
                      "aiMicrousd": 1,
                      "aiOutputTokens": 1,
                      "ciMicrousd": 1,
                      "ciMinutes": 1,
                      "hasUnpricedUsage": false,
                      "timestamp": "1970-01-01T00:00:01Z",
                      "totalMicrousd": 1
                    }
                  ],
                  "timeframe": "last_7_days",
                  "to": "1970-01-01T00:00:01Z"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounting/user/coupons/redeem": {
      "post": {
        "tags": [
          "Usage and billing"
        ],
        "summary": "redeemUserAccountingCoupon",
        "description": "Redeem a category-specific coupon for the authenticated user.",
        "operationId": "publicapi#redeemUserAccountingCoupon",
        "parameters": [],
        "requestBody": {
          "description": "Coupon redemption request body.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountingCouponRequest"
              },
              "example": {
                "code": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrylleAccountingCouponRedemption"
                },
                "example": {
                  "amountMicrousd": 1,
                  "balance": {
                    "aiCreditMicrousd": 1,
                    "ciCreditMicrousd": 1,
                    "hardMicrousd": 1,
                    "hasUnpricedUsage": false,
                    "insolvent": false,
                    "pendingAiMicrousd": 1,
                    "pendingCiMicrousd": 1,
                    "pendingMicrousd": 1,
                    "softMicrousd": 1,
                    "totalMicrousd": 1
                  },
                  "category": "ci",
                  "code": "abc123"
                }
              }
            }
          }
        }
      }
    },
    "/v1/accounts/installable": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "listInstallableAccounts",
        "operationId": "publicapi#listInstallableAccounts",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/ai/credits": {
      "get": {
        "tags": [
          "Usage and billing"
        ],
        "summary": "getAICredits",
        "operationId": "publicapi#getAICredits",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/ai/runs": {
      "get": {
        "tags": [
          "Usage and billing"
        ],
        "summary": "listRecentRuns",
        "operationId": "publicapi#listRecentRuns",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum recent runs to return. Defaults to 25.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Maximum recent runs to return. Defaults to 25.",
              "default": 25,
              "example": 1,
              "format": "int64"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/automation-runs/by-target/{provider}/{owner}/{name}/{kind}/{number}": {
      "get": {
        "tags": [
          "Automations"
        ],
        "summary": "listAutomationRunsForTarget",
        "description": "List the latest run per automation that targeted a specific PR or issue. Used by the PR/issue page to render a pill per automation. Returns empty when no automations have run against this target.",
        "operationId": "publicapi#listAutomationRunsForTarget",
        "parameters": [
          {
            "name": "provider",
            "in": "path",
            "description": "Git provider, e.g. 'github'.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Git provider, e.g. 'github'.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner login.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "kind",
            "in": "path",
            "description": "Target kind: 'pull' or 'issue'.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Target kind: 'pull' or 'issue'.",
              "example": "issue",
              "enum": [
                "pull",
                "issue"
              ]
            },
            "example": "issue"
          },
          {
            "name": "number",
            "in": "path",
            "description": "PR or issue number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "PR or issue number.",
              "example": 1,
              "format": "int64"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/automation-templates": {
      "get": {
        "tags": [
          "Automations"
        ],
        "summary": "listAutomationTemplates",
        "operationId": "publicapi#listAutomationTemplates",
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/automations": {
      "get": {
        "tags": [
          "Automations"
        ],
        "summary": "listAutomations",
        "operationId": "publicapi#listAutomations",
        "parameters": [
          {
            "name": "account",
            "in": "query",
            "description": "Filter to automations belonging to this account login.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Filter to automations belonging to this account login.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Automations"
        ],
        "summary": "createAutomation",
        "operationId": "publicapi#createAutomation",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAutomationRequestBody"
              },
              "example": {
                "accountKind": "org",
                "accountLogin": "aa",
                "botId": "aa",
                "definition": "abc123",
                "description": "abc123",
                "id": "abc123",
                "name": "aa",
                "templateId": "abc123",
                "triggers": [
                  {
                    "eventType": "abc123",
                    "id": "abc123",
                    "repositoryId": "abc123",
                    "scheduleCron": "abc123"
                  },
                  {
                    "eventType": "abc123",
                    "id": "abc123",
                    "repositoryId": "abc123",
                    "scheduleCron": "abc123"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/automations/{id}": {
      "delete": {
        "tags": [
          "Automations"
        ],
        "summary": "deleteAutomation",
        "operationId": "publicapi#deleteAutomation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Automation id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Automation id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Automations"
        ],
        "summary": "getAutomation",
        "operationId": "publicapi#getAutomation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Automation id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Automation id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Automations"
        ],
        "summary": "updateAutomation",
        "operationId": "publicapi#updateAutomation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Automation id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Automation id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAutomationRequestBody"
              },
              "example": {
                "botId": "aa",
                "definition": "abc123",
                "description": "abc123",
                "enabled": false,
                "name": "aa",
                "triggers": [
                  {
                    "eventType": "abc123",
                    "id": "abc123",
                    "repositoryId": "abc123",
                    "scheduleCron": "abc123"
                  },
                  {
                    "eventType": "abc123",
                    "id": "abc123",
                    "repositoryId": "abc123",
                    "scheduleCron": "abc123"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/automations/{id}/runs": {
      "get": {
        "tags": [
          "Automations"
        ],
        "summary": "listAutomationRuns",
        "operationId": "publicapi#listAutomationRuns",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Automation id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Automation id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum runs to return. Defaults to 50.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Maximum runs to return. Defaults to 50.",
              "default": 50,
              "example": 1,
              "format": "int64"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/billing/user": {
      "get": {
        "tags": [
          "Usage and billing"
        ],
        "summary": "getUserBillingSummary",
        "description": "Billing summary for the authenticated user's personal workspace.",
        "operationId": "publicapi#getUserBillingSummary",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/billing/user/checkout": {
      "post": {
        "tags": [
          "Usage and billing"
        ],
        "summary": "startUserBillingCheckout",
        "description": "Start Stripe Checkout for a personal subscription plan.",
        "operationId": "publicapi#startUserBillingCheckout",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartUserBillingCheckoutRequestBody"
              },
              "example": {
                "cancelUrl": "aa",
                "planKey": "aa",
                "successUrl": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/billing/user/portal": {
      "post": {
        "tags": [
          "Usage and billing"
        ],
        "summary": "startUserBillingPortal",
        "description": "Open the Stripe customer portal for the authenticated user.",
        "operationId": "publicapi#startUserBillingPortal",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartUserBillingPortalRequestBody"
              },
              "example": {
                "returnUrl": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/bots": {
      "get": {
        "tags": [
          "Bots"
        ],
        "summary": "listBots",
        "operationId": "publicapi#listBots",
        "parameters": [
          {
            "name": "account",
            "in": "query",
            "description": "Filter to bots installed on this account login.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Filter to bots installed on this account login.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Bots"
        ],
        "summary": "createBot",
        "operationId": "publicapi#createBot",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBotRequestBody"
              },
              "example": {
                "description": "abc123",
                "id": "abc123",
                "installations": [
                  {
                    "accountKind": "org",
                    "accountLogin": "abc123"
                  }
                ],
                "name": "aa",
                "scopes": [
                  "abc123"
                ],
                "slug": "aa"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/bots/{botId}/installations": {
      "get": {
        "tags": [
          "Bots"
        ],
        "summary": "listBotInstallations",
        "operationId": "publicapi#listBotInstallations",
        "parameters": [
          {
            "name": "botId",
            "in": "path",
            "description": "Bot id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Bot id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Bots"
        ],
        "summary": "installBotOnAccount",
        "operationId": "publicapi#installBotOnAccount",
        "parameters": [
          {
            "name": "botId",
            "in": "path",
            "description": "Bot id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Bot id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallBotOnAccountRequestBody"
              },
              "example": {
                "accountKind": "org",
                "accountLogin": "aa"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/bots/{botId}/installations/{accountLogin}": {
      "delete": {
        "tags": [
          "Bots"
        ],
        "summary": "uninstallBotFromAccount",
        "operationId": "publicapi#uninstallBotFromAccount",
        "parameters": [
          {
            "name": "botId",
            "in": "path",
            "description": "Bot id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Bot id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "accountLogin",
            "in": "path",
            "description": "Forgejo owner login the bot is installed on.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo owner login the bot is installed on.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/bots/{botId}/tokens": {
      "post": {
        "tags": [
          "Bots"
        ],
        "summary": "issueBotToken",
        "operationId": "publicapi#issueBotToken",
        "parameters": [
          {
            "name": "botId",
            "in": "path",
            "description": "Bot id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Bot id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/IssueBotTokenRequestBody"
              },
              "example": {
                "expiresIn": "abc123",
                "name": "abc123"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/bots/{botId}/tokens/{tokenId}": {
      "delete": {
        "tags": [
          "Bots"
        ],
        "summary": "revokeBotToken",
        "operationId": "publicapi#revokeBotToken",
        "parameters": [
          {
            "name": "botId",
            "in": "path",
            "description": "Bot id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Bot id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "tokenId",
            "in": "path",
            "description": "Token id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Token id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/ci/jobs": {
      "get": {
        "tags": [
          "CI runs"
        ],
        "summary": "listCIJobs",
        "description": "List recent trylle-ci jobs for a repository.",
        "operationId": "publicapi#listCIJobs",
        "parameters": [
          {
            "name": "owner",
            "in": "query",
            "description": "Repository owner login.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "repo",
            "in": "query",
            "description": "Repository name.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum jobs to return. Defaults to 50.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Maximum jobs to return. Defaults to 50.",
              "default": 50,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 200
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CIJobList"
                },
                "example": {
                  "count": 1,
                  "jobs": [
                    {
                      "artifactUrls": {
                        "abc123": "abc123"
                      },
                      "artifacts": [
                        {
                          "contentType": "abc123",
                          "name": "aa",
                          "path": "aa",
                          "sizeBytes": 1,
                          "url": "aa"
                        }
                      ],
                      "createdAt": "abc123",
                      "error": "abc123",
                      "exitCode": 1,
                      "finishedAt": "abc123",
                      "idempotencyKey": "abc123",
                      "outputs": {
                        "abc123": "abc123"
                      },
                      "request": {
                        "actor": {
                          "avatarUrl": "abc123",
                          "id": 1,
                          "login": "aa"
                        },
                        "artifactPaths": [
                          "abc123"
                        ],
                        "env": {
                          "abc123": "abc123"
                        },
                        "eventName": "aa",
                        "eventPayload": "abc123",
                        "idempotencyKey": "abc123",
                        "jobId": "abc123",
                        "matrix": {
                          "abc123": "abc123"
                        },
                        "ref": "abc123",
                        "refType": "tag",
                        "repository": {
                          "cloneUrl": "abc123",
                          "defaultBranch": "abc123",
                          "id": "abc123",
                          "name": "aa",
                          "owner": "aa"
                        },
                        "runnerArch": "abc123",
                        "sha": "abc123",
                        "templateId": "abc123",
                        "timeoutSeconds": 1,
                        "workflowContent": "abc123",
                        "workflowFiles": {
                          "abc123": "abc123"
                        },
                        "workflowInputs": {
                          "abc123": "abc123"
                        },
                        "workflowPath": "aa"
                      },
                      "runId": "aa",
                      "runnerArch": "abc123",
                      "sandboxId": "abc123",
                      "startedAt": "abc123",
                      "status": "running",
                      "updatedAt": "abc123",
                      "usage": {
                        "archiveBytes": 1,
                        "artifactBytes": 1,
                        "cancelledCount": 1,
                        "failedCount": 1,
                        "jobCount": 1,
                        "logBytes": 1,
                        "queueSeconds": 1,
                        "queuedCount": 1,
                        "runningCount": 1,
                        "sandboxSeconds": 1,
                        "skippedCount": 1,
                        "succeededCount": 1,
                        "wallClockSeconds": 1
                      }
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CI runs"
        ],
        "summary": "createCIJob",
        "description": "Schedule a GitHub Actions-compatible CI job through trylle-ci.",
        "operationId": "publicapi#createCIJob",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCIJobRequestBody"
              },
              "example": {
                "artifactPaths": [
                  "abc123"
                ],
                "env": {
                  "abc123": "abc123"
                },
                "eventName": "aa",
                "eventPayload": "abc123",
                "idempotencyKey": "abc123",
                "jobId": "aa",
                "matrix": {
                  "abc123": "abc123"
                },
                "ref": "abc123",
                "refType": "tag",
                "repository": {
                  "cloneUrl": "abc123",
                  "defaultBranch": "abc123",
                  "id": "abc123",
                  "name": "aa",
                  "owner": "aa"
                },
                "sha": "abc123",
                "templateId": "abc123",
                "timeoutSeconds": 2,
                "workflowFiles": {
                  "abc123": "abc123"
                },
                "workflowInputs": {
                  "abc123": "abc123"
                },
                "workflowPath": "aa",
                "workflowYaml": "abc123"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CIJob"
                },
                "example": {
                  "artifactUrls": {
                    "abc123": "abc123"
                  },
                  "artifacts": [
                    {
                      "contentType": "abc123",
                      "name": "aa",
                      "path": "aa",
                      "sizeBytes": 1,
                      "url": "aa"
                    }
                  ],
                  "createdAt": "abc123",
                  "error": "abc123",
                  "exitCode": 1,
                  "finishedAt": "abc123",
                  "idempotencyKey": "abc123",
                  "outputs": {
                    "abc123": "abc123"
                  },
                  "request": {
                    "actor": {
                      "avatarUrl": "abc123",
                      "id": 1,
                      "login": "aa"
                    },
                    "artifactPaths": [
                      "abc123"
                    ],
                    "env": {
                      "abc123": "abc123"
                    },
                    "eventName": "aa",
                    "eventPayload": "abc123",
                    "idempotencyKey": "abc123",
                    "jobId": "abc123",
                    "matrix": {
                      "abc123": "abc123"
                    },
                    "ref": "abc123",
                    "refType": "tag",
                    "repository": {
                      "cloneUrl": "abc123",
                      "defaultBranch": "abc123",
                      "id": "abc123",
                      "name": "aa",
                      "owner": "aa"
                    },
                    "runnerArch": "abc123",
                    "sha": "abc123",
                    "templateId": "abc123",
                    "timeoutSeconds": 1,
                    "workflowContent": "abc123",
                    "workflowFiles": {
                      "abc123": "abc123"
                    },
                    "workflowInputs": {
                      "abc123": "abc123"
                    },
                    "workflowPath": "aa"
                  },
                  "runId": "aa",
                  "runnerArch": "abc123",
                  "sandboxId": "abc123",
                  "startedAt": "abc123",
                  "status": "running",
                  "updatedAt": "abc123",
                  "usage": {
                    "archiveBytes": 1,
                    "artifactBytes": 1,
                    "cancelledCount": 1,
                    "failedCount": 1,
                    "jobCount": 1,
                    "logBytes": 1,
                    "queueSeconds": 1,
                    "queuedCount": 1,
                    "runningCount": 1,
                    "sandboxSeconds": 1,
                    "skippedCount": 1,
                    "succeededCount": 1,
                    "wallClockSeconds": 1
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/ci/jobs/{runId}": {
      "get": {
        "tags": [
          "CI runs"
        ],
        "summary": "getCIJob",
        "description": "Fetch a trylle-ci job by run id.",
        "operationId": "publicapi#getCIJob",
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "description": "CI run id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "CI run id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CIJob"
                },
                "example": {
                  "artifactUrls": {
                    "abc123": "abc123"
                  },
                  "artifacts": [
                    {
                      "contentType": "abc123",
                      "name": "aa",
                      "path": "aa",
                      "sizeBytes": 1,
                      "url": "aa"
                    }
                  ],
                  "createdAt": "abc123",
                  "error": "abc123",
                  "exitCode": 1,
                  "finishedAt": "abc123",
                  "idempotencyKey": "abc123",
                  "outputs": {
                    "abc123": "abc123"
                  },
                  "request": {
                    "actor": {
                      "avatarUrl": "abc123",
                      "id": 1,
                      "login": "aa"
                    },
                    "artifactPaths": [
                      "abc123"
                    ],
                    "env": {
                      "abc123": "abc123"
                    },
                    "eventName": "aa",
                    "eventPayload": "abc123",
                    "idempotencyKey": "abc123",
                    "jobId": "abc123",
                    "matrix": {
                      "abc123": "abc123"
                    },
                    "ref": "abc123",
                    "refType": "tag",
                    "repository": {
                      "cloneUrl": "abc123",
                      "defaultBranch": "abc123",
                      "id": "abc123",
                      "name": "aa",
                      "owner": "aa"
                    },
                    "runnerArch": "abc123",
                    "sha": "abc123",
                    "templateId": "abc123",
                    "timeoutSeconds": 1,
                    "workflowContent": "abc123",
                    "workflowFiles": {
                      "abc123": "abc123"
                    },
                    "workflowInputs": {
                      "abc123": "abc123"
                    },
                    "workflowPath": "aa"
                  },
                  "runId": "aa",
                  "runnerArch": "abc123",
                  "sandboxId": "abc123",
                  "startedAt": "abc123",
                  "status": "running",
                  "updatedAt": "abc123",
                  "usage": {
                    "archiveBytes": 1,
                    "artifactBytes": 1,
                    "cancelledCount": 1,
                    "failedCount": 1,
                    "jobCount": 1,
                    "logBytes": 1,
                    "queueSeconds": 1,
                    "queuedCount": 1,
                    "runningCount": 1,
                    "sandboxSeconds": 1,
                    "skippedCount": 1,
                    "succeededCount": 1,
                    "wallClockSeconds": 1
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/ci/jobs/{runId}/cancel": {
      "post": {
        "tags": [
          "CI runs"
        ],
        "summary": "cancelCIJob",
        "description": "Cancel a queued or running trylle-ci job.",
        "operationId": "publicapi#cancelCIJob",
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "description": "CI run id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "CI run id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CIJob"
                },
                "example": {
                  "artifactUrls": {
                    "abc123": "abc123"
                  },
                  "artifacts": [
                    {
                      "contentType": "abc123",
                      "name": "aa",
                      "path": "aa",
                      "sizeBytes": 1,
                      "url": "aa"
                    }
                  ],
                  "createdAt": "abc123",
                  "error": "abc123",
                  "exitCode": 1,
                  "finishedAt": "abc123",
                  "idempotencyKey": "abc123",
                  "outputs": {
                    "abc123": "abc123"
                  },
                  "request": {
                    "actor": {
                      "avatarUrl": "abc123",
                      "id": 1,
                      "login": "aa"
                    },
                    "artifactPaths": [
                      "abc123"
                    ],
                    "env": {
                      "abc123": "abc123"
                    },
                    "eventName": "aa",
                    "eventPayload": "abc123",
                    "idempotencyKey": "abc123",
                    "jobId": "abc123",
                    "matrix": {
                      "abc123": "abc123"
                    },
                    "ref": "abc123",
                    "refType": "tag",
                    "repository": {
                      "cloneUrl": "abc123",
                      "defaultBranch": "abc123",
                      "id": "abc123",
                      "name": "aa",
                      "owner": "aa"
                    },
                    "runnerArch": "abc123",
                    "sha": "abc123",
                    "templateId": "abc123",
                    "timeoutSeconds": 1,
                    "workflowContent": "abc123",
                    "workflowFiles": {
                      "abc123": "abc123"
                    },
                    "workflowInputs": {
                      "abc123": "abc123"
                    },
                    "workflowPath": "aa"
                  },
                  "runId": "aa",
                  "runnerArch": "abc123",
                  "sandboxId": "abc123",
                  "startedAt": "abc123",
                  "status": "running",
                  "updatedAt": "abc123",
                  "usage": {
                    "archiveBytes": 1,
                    "artifactBytes": 1,
                    "cancelledCount": 1,
                    "failedCount": 1,
                    "jobCount": 1,
                    "logBytes": 1,
                    "queueSeconds": 1,
                    "queuedCount": 1,
                    "runningCount": 1,
                    "sandboxSeconds": 1,
                    "skippedCount": 1,
                    "succeededCount": 1,
                    "wallClockSeconds": 1
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/ci/jobs/{runId}/logs": {
      "get": {
        "tags": [
          "CI runs"
        ],
        "summary": "getCIJobLogs",
        "description": "Fetch stdout/stderr snapshot and archive URLs for a trylle-ci job.",
        "operationId": "publicapi#getCIJobLogs",
        "parameters": [
          {
            "name": "runId",
            "in": "path",
            "description": "CI run id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "CI run id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CIJobLogs"
                },
                "example": {
                  "actionLogs": {
                    "abc123": "abc123"
                  },
                  "artifactUrls": {
                    "abc123": "abc123"
                  },
                  "artifacts": [
                    {
                      "contentType": "abc123",
                      "name": "aa",
                      "path": "aa",
                      "sizeBytes": 1,
                      "url": "aa"
                    }
                  ],
                  "done": false,
                  "error": "abc123",
                  "hydrationPending": false,
                  "runId": "aa",
                  "status": "running",
                  "stderr": "abc123",
                  "stdout": "abc123",
                  "updatedAt": "abc123",
                  "usage": {
                    "archiveBytes": 1,
                    "artifactBytes": 1,
                    "cancelledCount": 1,
                    "failedCount": 1,
                    "jobCount": 1,
                    "logBytes": 1,
                    "queueSeconds": 1,
                    "queuedCount": 1,
                    "runningCount": 1,
                    "sandboxSeconds": 1,
                    "skippedCount": 1,
                    "succeededCount": 1,
                    "wallClockSeconds": 1
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/ci/usage": {
      "get": {
        "tags": [
          "CI runs"
        ],
        "summary": "getCIUsage",
        "description": "Summarize measured trylle-ci usage for an account or repository.",
        "operationId": "publicapi#getCIUsage",
        "parameters": [
          {
            "name": "owner",
            "in": "query",
            "description": "Repository owner login or organization login.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner login or organization login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "repo",
            "in": "query",
            "description": "Optional repository name. When omitted, usage is summed for the owner.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Optional repository name. When omitted, usage is summed for the owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CIUsage"
                },
                "example": {
                  "archiveBytes": 1,
                  "artifactBytes": 1,
                  "cancelledCount": 1,
                  "failedCount": 1,
                  "jobCount": 1,
                  "logBytes": 1,
                  "queueSeconds": 1,
                  "queuedCount": 1,
                  "runningCount": 1,
                  "sandboxSeconds": 1,
                  "skippedCount": 1,
                  "succeededCount": 1,
                  "wallClockSeconds": 1
                }
              }
            }
          }
        }
      }
    },
    "/v1/ci/workflow-runs": {
      "get": {
        "tags": [
          "CI runs"
        ],
        "summary": "listCIWorkflowRuns",
        "description": "List recent trylle-ci workflow runs for a repository.",
        "operationId": "publicapi#listCIWorkflowRuns",
        "parameters": [
          {
            "name": "owner",
            "in": "query",
            "description": "Repository owner login.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "repo",
            "in": "query",
            "description": "Repository name.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "CI runs"
        ],
        "summary": "createCIWorkflowRun",
        "description": "Schedule a full GitHub Actions-compatible workflow run through trylle-ci.",
        "operationId": "publicapi#createCIWorkflowRun",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateCIWorkflowRunRequestBody"
              },
              "example": {
                "artifactPaths": [
                  "abc123"
                ],
                "env": {
                  "abc123": "abc123"
                },
                "eventName": "aa",
                "eventPayload": "abc123",
                "idempotencyKey": "abc123",
                "ref": "abc123",
                "refType": "tag",
                "repository": {
                  "cloneUrl": "abc123",
                  "defaultBranch": "abc123",
                  "id": "abc123",
                  "name": "aa",
                  "owner": "aa"
                },
                "sha": "abc123",
                "templateId": "abc123",
                "timeoutSeconds": 2,
                "workflowFiles": {
                  "abc123": "abc123"
                },
                "workflowInputs": {
                  "abc123": "abc123"
                },
                "workflowPath": "aa",
                "workflowYaml": "abc123"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CIWorkflowRun"
                },
                "example": {
                  "createdAt": "abc123",
                  "error": "abc123",
                  "finishedAt": "abc123",
                  "idempotencyKey": "abc123",
                  "jobs": [
                    {
                      "artifactUrls": {
                        "abc123": "abc123"
                      },
                      "artifacts": [
                        {
                          "contentType": "abc123",
                          "name": "aa",
                          "path": "aa",
                          "sizeBytes": 1,
                          "url": "aa"
                        }
                      ],
                      "error": "abc123",
                      "exitCode": 1,
                      "finishedAt": "abc123",
                      "if": "abc123",
                      "jobId": "aa",
                      "key": "aa",
                      "matrix": {
                        "abc123": "abc123"
                      },
                      "name": "abc123",
                      "needs": [
                        "abc123"
                      ],
                      "outputs": {
                        "abc123": "abc123"
                      },
                      "runId": "aa",
                      "runnerArch": "abc123",
                      "sandboxId": "abc123",
                      "startedAt": "abc123",
                      "status": "running",
                      "usage": {
                        "archiveBytes": 1,
                        "artifactBytes": 1,
                        "cancelledCount": 1,
                        "failedCount": 1,
                        "jobCount": 1,
                        "logBytes": 1,
                        "queueSeconds": 1,
                        "queuedCount": 1,
                        "runningCount": 1,
                        "sandboxSeconds": 1,
                        "skippedCount": 1,
                        "succeededCount": 1,
                        "wallClockSeconds": 1
                      }
                    }
                  ],
                  "request": {
                    "actor": {
                      "avatarUrl": "abc123",
                      "id": 1,
                      "login": "aa"
                    },
                    "artifactPaths": [
                      "abc123"
                    ],
                    "env": {
                      "abc123": "abc123"
                    },
                    "eventName": "aa",
                    "eventPayload": "abc123",
                    "idempotencyKey": "abc123",
                    "ref": "abc123",
                    "refType": "tag",
                    "repository": {
                      "cloneUrl": "abc123",
                      "defaultBranch": "abc123",
                      "id": "abc123",
                      "name": "aa",
                      "owner": "aa"
                    },
                    "sha": "abc123",
                    "templateId": "abc123",
                    "timeoutSeconds": 1,
                    "workflowContent": "abc123",
                    "workflowFiles": {
                      "abc123": "abc123"
                    },
                    "workflowInputs": {
                      "abc123": "abc123"
                    },
                    "workflowPath": "aa"
                  },
                  "startedAt": "abc123",
                  "status": "running",
                  "updatedAt": "abc123",
                  "usage": {
                    "archiveBytes": 1,
                    "artifactBytes": 1,
                    "cancelledCount": 1,
                    "failedCount": 1,
                    "jobCount": 1,
                    "logBytes": 1,
                    "queueSeconds": 1,
                    "queuedCount": 1,
                    "runningCount": 1,
                    "sandboxSeconds": 1,
                    "skippedCount": 1,
                    "succeededCount": 1,
                    "wallClockSeconds": 1
                  },
                  "workflowRunId": "aa"
                }
              }
            }
          }
        }
      }
    },
    "/v1/ci/workflow-runs/{workflowRunId}": {
      "get": {
        "tags": [
          "CI runs"
        ],
        "summary": "getCIWorkflowRun",
        "description": "Fetch a trylle-ci workflow run by id.",
        "operationId": "publicapi#getCIWorkflowRun",
        "parameters": [
          {
            "name": "workflowRunId",
            "in": "path",
            "description": "CI workflow run id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "CI workflow run id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CIWorkflowRun"
                },
                "example": {
                  "createdAt": "abc123",
                  "error": "abc123",
                  "finishedAt": "abc123",
                  "idempotencyKey": "abc123",
                  "jobs": [
                    {
                      "artifactUrls": {
                        "abc123": "abc123"
                      },
                      "artifacts": [
                        {
                          "contentType": "abc123",
                          "name": "aa",
                          "path": "aa",
                          "sizeBytes": 1,
                          "url": "aa"
                        }
                      ],
                      "error": "abc123",
                      "exitCode": 1,
                      "finishedAt": "abc123",
                      "if": "abc123",
                      "jobId": "aa",
                      "key": "aa",
                      "matrix": {
                        "abc123": "abc123"
                      },
                      "name": "abc123",
                      "needs": [
                        "abc123"
                      ],
                      "outputs": {
                        "abc123": "abc123"
                      },
                      "runId": "aa",
                      "runnerArch": "abc123",
                      "sandboxId": "abc123",
                      "startedAt": "abc123",
                      "status": "running",
                      "usage": {
                        "archiveBytes": 1,
                        "artifactBytes": 1,
                        "cancelledCount": 1,
                        "failedCount": 1,
                        "jobCount": 1,
                        "logBytes": 1,
                        "queueSeconds": 1,
                        "queuedCount": 1,
                        "runningCount": 1,
                        "sandboxSeconds": 1,
                        "skippedCount": 1,
                        "succeededCount": 1,
                        "wallClockSeconds": 1
                      }
                    }
                  ],
                  "request": {
                    "actor": {
                      "avatarUrl": "abc123",
                      "id": 1,
                      "login": "aa"
                    },
                    "artifactPaths": [
                      "abc123"
                    ],
                    "env": {
                      "abc123": "abc123"
                    },
                    "eventName": "aa",
                    "eventPayload": "abc123",
                    "idempotencyKey": "abc123",
                    "ref": "abc123",
                    "refType": "tag",
                    "repository": {
                      "cloneUrl": "abc123",
                      "defaultBranch": "abc123",
                      "id": "abc123",
                      "name": "aa",
                      "owner": "aa"
                    },
                    "sha": "abc123",
                    "templateId": "abc123",
                    "timeoutSeconds": 1,
                    "workflowContent": "abc123",
                    "workflowFiles": {
                      "abc123": "abc123"
                    },
                    "workflowInputs": {
                      "abc123": "abc123"
                    },
                    "workflowPath": "aa"
                  },
                  "startedAt": "abc123",
                  "status": "running",
                  "updatedAt": "abc123",
                  "usage": {
                    "archiveBytes": 1,
                    "artifactBytes": 1,
                    "cancelledCount": 1,
                    "failedCount": 1,
                    "jobCount": 1,
                    "logBytes": 1,
                    "queueSeconds": 1,
                    "queuedCount": 1,
                    "runningCount": 1,
                    "sandboxSeconds": 1,
                    "skippedCount": 1,
                    "succeededCount": 1,
                    "wallClockSeconds": 1
                  },
                  "workflowRunId": "aa"
                }
              }
            }
          }
        }
      }
    },
    "/v1/ci/workflow-runs/{workflowRunId}/cancel": {
      "post": {
        "tags": [
          "CI runs"
        ],
        "summary": "cancelCIWorkflowRun",
        "description": "Cancel a queued or running trylle-ci workflow run and its child jobs.",
        "operationId": "publicapi#cancelCIWorkflowRun",
        "parameters": [
          {
            "name": "workflowRunId",
            "in": "path",
            "description": "CI workflow run id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "CI workflow run id.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "202": {
            "description": "Accepted response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CIWorkflowRun"
                },
                "example": {
                  "createdAt": "abc123",
                  "error": "abc123",
                  "finishedAt": "abc123",
                  "idempotencyKey": "abc123",
                  "jobs": [
                    {
                      "artifactUrls": {
                        "abc123": "abc123"
                      },
                      "artifacts": [
                        {
                          "contentType": "abc123",
                          "name": "aa",
                          "path": "aa",
                          "sizeBytes": 1,
                          "url": "aa"
                        }
                      ],
                      "error": "abc123",
                      "exitCode": 1,
                      "finishedAt": "abc123",
                      "if": "abc123",
                      "jobId": "aa",
                      "key": "aa",
                      "matrix": {
                        "abc123": "abc123"
                      },
                      "name": "abc123",
                      "needs": [
                        "abc123"
                      ],
                      "outputs": {
                        "abc123": "abc123"
                      },
                      "runId": "aa",
                      "runnerArch": "abc123",
                      "sandboxId": "abc123",
                      "startedAt": "abc123",
                      "status": "running",
                      "usage": {
                        "archiveBytes": 1,
                        "artifactBytes": 1,
                        "cancelledCount": 1,
                        "failedCount": 1,
                        "jobCount": 1,
                        "logBytes": 1,
                        "queueSeconds": 1,
                        "queuedCount": 1,
                        "runningCount": 1,
                        "sandboxSeconds": 1,
                        "skippedCount": 1,
                        "succeededCount": 1,
                        "wallClockSeconds": 1
                      }
                    }
                  ],
                  "request": {
                    "actor": {
                      "avatarUrl": "abc123",
                      "id": 1,
                      "login": "aa"
                    },
                    "artifactPaths": [
                      "abc123"
                    ],
                    "env": {
                      "abc123": "abc123"
                    },
                    "eventName": "aa",
                    "eventPayload": "abc123",
                    "idempotencyKey": "abc123",
                    "ref": "abc123",
                    "refType": "tag",
                    "repository": {
                      "cloneUrl": "abc123",
                      "defaultBranch": "abc123",
                      "id": "abc123",
                      "name": "aa",
                      "owner": "aa"
                    },
                    "sha": "abc123",
                    "templateId": "abc123",
                    "timeoutSeconds": 1,
                    "workflowContent": "abc123",
                    "workflowFiles": {
                      "abc123": "abc123"
                    },
                    "workflowInputs": {
                      "abc123": "abc123"
                    },
                    "workflowPath": "aa"
                  },
                  "startedAt": "abc123",
                  "status": "running",
                  "updatedAt": "abc123",
                  "usage": {
                    "archiveBytes": 1,
                    "artifactBytes": 1,
                    "cancelledCount": 1,
                    "failedCount": 1,
                    "jobCount": 1,
                    "logBytes": 1,
                    "queueSeconds": 1,
                    "queuedCount": 1,
                    "runningCount": 1,
                    "sandboxSeconds": 1,
                    "skippedCount": 1,
                    "succeededCount": 1,
                    "wallClockSeconds": 1
                  },
                  "workflowRunId": "aa"
                }
              }
            }
          }
        }
      }
    },
    "/v1/explore/repositories": {
      "get": {
        "tags": [
          "Profiles and discovery"
        ],
        "summary": "exploreRepositories",
        "description": "Public discovery of public repositories. Optional auth; only public repositories are ever returned.",
        "operationId": "publicapi#exploreRepositories",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Free-text query matched against repository name and description.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Free-text query matched against repository name and description.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "sort",
            "in": "query",
            "description": "One of: stars, forks, updated, created, alpha. Empty for relevance.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "One of: stars, forks, updated, created, alpha. Empty for relevance.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "order",
            "in": "query",
            "description": "asc or desc.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "asc or desc.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "topic_only",
            "in": "query",
            "description": "Match the query against repository topics only.",
            "allowEmptyValue": true,
            "schema": {
              "type": "boolean",
              "description": "Match the query against repository topics only.",
              "example": false
            },
            "example": false
          },
          {
            "name": "include_archived",
            "in": "query",
            "description": "Include archived repositories. Defaults to false.",
            "allowEmptyValue": true,
            "schema": {
              "type": "boolean",
              "description": "Include archived repositories. Defaults to false.",
              "example": false
            },
            "example": false
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/explore/trending": {
      "get": {
        "tags": [
          "Profiles and discovery"
        ],
        "summary": "exploreTrendingRepositories",
        "description": "Public discovery of repositories trending by stars gained within a rolling window. Optional auth; only public repositories are ever returned. Falls back to all-time most-starred when recent activity is insufficient.",
        "operationId": "publicapi#exploreTrendingRepositories",
        "parameters": [
          {
            "name": "window_days",
            "in": "query",
            "description": "Rolling trending window in days. Handler defaults to 7.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Rolling trending window in days. Handler defaults to 7.",
              "example": 1,
              "format": "int64"
            },
            "example": 1
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum repositories to return. Handler defaults to 30.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Maximum repositories to return. Handler defaults to 30.",
              "example": 1,
              "format": "int64"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/explore/users": {
      "get": {
        "tags": [
          "Profiles and discovery"
        ],
        "summary": "exploreUsers",
        "description": "Public discovery of users. Optional auth.",
        "operationId": "publicapi#exploreUsers",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Free-text keyword matched against username, full name, and email.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Free-text keyword matched against username, full name, and email.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Forgejo user sort key (newest, oldest, alphabetically, reversealphabetically).",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Forgejo user sort key (newest, oldest, alphabetically, reversealphabetically).",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/git-credentials/password": {
      "post": {
        "tags": [
          "Credentials"
        ],
        "summary": "setGitPassword",
        "operationId": "publicapi#setGitPassword",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetGitPasswordRequestBody"
              },
              "example": {
                "password": "aaa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/gpg-keys": {
      "get": {
        "tags": [
          "Credentials"
        ],
        "summary": "listViewerGPGKeys",
        "operationId": "publicapi#listViewerGPGKeys",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Credentials"
        ],
        "summary": "createViewerGPGKey",
        "operationId": "publicapi#createViewerGPGKey",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateViewerGPGKeyRequestBody"
              },
              "example": {
                "armoredPublicKey": "aa",
                "armoredSignature": "aaa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/gpg-keys/verification-token": {
      "get": {
        "tags": [
          "Credentials"
        ],
        "summary": "getGPGKeyVerificationToken",
        "operationId": "publicapi#getGPGKeyVerificationToken",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/gpg-keys/verify": {
      "post": {
        "tags": [
          "Credentials"
        ],
        "summary": "verifyViewerGPGKey",
        "operationId": "publicapi#verifyViewerGPGKey",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VerifyViewerGPGKeyRequestBody"
              },
              "example": {
                "armoredSignature": "aa",
                "keyId": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/gpg-keys/{id}": {
      "delete": {
        "tags": [
          "Credentials"
        ],
        "summary": "deleteViewerGPGKey",
        "operationId": "publicapi#deleteViewerGPGKey",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "GPG key id.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "GPG key id.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/inbox/unread": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "listUnreadInbox",
        "description": "List the authenticated viewer's unread, non-archived inbox notifications.",
        "operationId": "publicapi#listUnreadInbox",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum unread notifications to return. The total count is not limited.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Maximum unread notifications to return. The total count is not limited.",
              "default": 20,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UnreadInbox"
                },
                "example": {
                  "items": [
                    {
                      "actorLogin": "abc123",
                      "draft": false,
                      "number": 1,
                      "owner": "aa",
                      "provider": "aa",
                      "reason": "aa",
                      "repo": "aa",
                      "state": "abc123",
                      "subjectId": "aa",
                      "targetKind": "issue",
                      "title": "abc123",
                      "updatedAt": "aa"
                    }
                  ],
                  "total": 1
                }
              }
            }
          }
        }
      }
    },
    "/v1/issues": {
      "get": {
        "tags": [
          "Issues"
        ],
        "summary": "listIssues",
        "operationId": "publicapi#listIssues",
        "parameters": [
          {
            "name": "owner",
            "in": "query",
            "description": "Repository owner query value.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner query value.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "repo",
            "in": "query",
            "description": "Repository name query value.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name query value.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "state",
            "in": "query",
            "description": "Issue state filter forwarded to git-gateway (open, closed, all).",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Issue state filter forwarded to git-gateway (open, closed, all).",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/issues/mine": {
      "get": {
        "tags": [
          "Issues"
        ],
        "summary": "myIssues",
        "operationId": "publicapi#myIssues",
        "parameters": [
          {
            "name": "state",
            "in": "query",
            "description": "Issue state filter forwarded to git-gateway.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Issue state filter forwarded to git-gateway.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/me/org-invitations": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "listMyOrgInvitations",
        "operationId": "publicapi#listMyOrgInvitations",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/me/org-invitations/{invite_id}/accept": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "acceptOrgInvitation",
        "operationId": "publicapi#acceptOrgInvitation",
        "parameters": [
          {
            "name": "invite_id",
            "in": "path",
            "description": "Pending invitation id.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Pending invitation id.",
              "example": 1,
              "format": "int64"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/me/org-invitations/{invite_id}/decline": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "declineOrgInvitation",
        "operationId": "publicapi#declineOrgInvitation",
        "parameters": [
          {
            "name": "invite_id",
            "in": "path",
            "description": "Pending invitation id.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Pending invitation id.",
              "example": 1,
              "format": "int64"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/me/repo-invitations": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "listMyRepoInvitations",
        "operationId": "publicapi#listMyRepoInvitations",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/me/repo-invitations/{invite_id}/accept": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "acceptRepoInvitation",
        "operationId": "publicapi#acceptRepoInvitation",
        "parameters": [
          {
            "name": "invite_id",
            "in": "path",
            "description": "Pending repository invitation id.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Pending repository invitation id.",
              "example": 1,
              "format": "int64"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/me/repo-invitations/{invite_id}/decline": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "declineRepoInvitation",
        "operationId": "publicapi#declineRepoInvitation",
        "parameters": [
          {
            "name": "invite_id",
            "in": "path",
            "description": "Pending repository invitation id.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Pending repository invitation id.",
              "example": 1,
              "format": "int64"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/organizations": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "listMyOrganizations",
        "operationId": "publicapi#listMyOrganizations",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "createOrganization",
        "operationId": "publicapi#createOrganization",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrganizationRequestBody"
              },
              "example": {
                "description": "aaa",
                "displayName": "aa",
                "handle": "aa",
                "isPrivate": false
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/organizations/{handle}": {
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "deleteOrganization",
        "operationId": "publicapi#deleteOrganization",
        "parameters": [
          {
            "name": "handle",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "getOrganization",
        "operationId": "publicapi#getOrganization",
        "parameters": [
          {
            "name": "handle",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Organizations"
        ],
        "summary": "updateOrganization",
        "operationId": "publicapi#updateOrganization",
        "parameters": [
          {
            "name": "handle",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrganizationRequestBody"
              },
              "example": {
                "description": "aaa",
                "displayName": "aa",
                "isPrivate": false,
                "settings": "abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/organizations/{handle}/avatar": {
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "deleteOrganizationAvatar",
        "operationId": "publicapi#deleteOrganizationAvatar",
        "parameters": [
          {
            "name": "handle",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "setOrganizationAvatar",
        "operationId": "publicapi#setOrganizationAvatar",
        "parameters": [
          {
            "name": "handle",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetViewerAvatarRequestBody"
              },
              "example": {
                "image": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/organizations/{handle}/rename": {
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "renameOrganization",
        "operationId": "publicapi#renameOrganization",
        "parameters": [
          {
            "name": "handle",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameOrganizationRequestBody"
              },
              "example": {
                "newHandle": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/organizations/{handle}/transfer-ownership": {
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "transferOrganizationOwnership",
        "operationId": "publicapi#transferOrganizationOwnership",
        "parameters": [
          {
            "name": "handle",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferOrganizationOwnershipRequestBody"
              },
              "example": {
                "newOwner": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "getOrgProfile",
        "operationId": "publicapi#getOrgProfile",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/accounting": {
      "get": {
        "tags": [
          "Organization usage and billing"
        ],
        "summary": "getOrgAccountingSummary",
        "description": "Return an organization's accounting balances and insolvency state.",
        "operationId": "publicapi#getOrgAccountingSummary",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrylleAccountingSummary"
                },
                "example": {
                  "balance": {
                    "aiCreditMicrousd": 1,
                    "ciCreditMicrousd": 1,
                    "hardMicrousd": 1,
                    "hasUnpricedUsage": false,
                    "insolvent": false,
                    "pendingAiMicrousd": 1,
                    "pendingCiMicrousd": 1,
                    "pendingMicrousd": 1,
                    "softMicrousd": 1,
                    "totalMicrousd": 1
                  },
                  "ownerId": "abc123",
                  "ownerType": "organization"
                }
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/accounting/charges": {
      "get": {
        "tags": [
          "Organization usage and billing"
        ],
        "summary": "listOrgAccountingCharges",
        "description": "List organization daily charge allocations, optionally by category.",
        "operationId": "publicapi#listOrgAccountingCharges",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "category",
            "in": "query",
            "description": "Optional spending category.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Optional spending category.",
              "example": "ci",
              "enum": [
                "ai",
                "ci"
              ]
            },
            "example": "ci"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum daily allocation rows.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Maximum daily allocation rows.",
              "default": 100,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 500
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrylleAccountingDailyChargeList"
                },
                "example": {
                  "items": [
                    {
                      "amountMicrousd": 1,
                      "category": "ci",
                      "date": "1970-01-01",
                      "fundingSource": "soft"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/accounting/chart": {
      "get": {
        "tags": [
          "Organization usage and billing"
        ],
        "summary": "getOrgAccountingChart",
        "description": "Return organization resource spending chart data.",
        "operationId": "publicapi#getOrgAccountingChart",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "timeframe",
            "in": "query",
            "description": "Chart timeframe.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Chart timeframe.",
              "default": "last_24_hours",
              "example": "last_7_days",
              "enum": [
                "last_24_hours",
                "last_7_days",
                "month_to_date"
              ]
            },
            "example": "last_7_days"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrylleAccountingChart"
                },
                "example": {
                  "from": "1970-01-01T00:00:01Z",
                  "points": [
                    {
                      "aiCacheReadTokens": 1,
                      "aiCacheWriteTokens": 1,
                      "aiInputTokens": 1,
                      "aiMicrousd": 1,
                      "aiOutputTokens": 1,
                      "ciMicrousd": 1,
                      "ciMinutes": 1,
                      "hasUnpricedUsage": false,
                      "timestamp": "1970-01-01T00:00:01Z",
                      "totalMicrousd": 1
                    }
                  ],
                  "timeframe": "last_7_days",
                  "to": "1970-01-01T00:00:01Z"
                }
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/accounting/coupons/redeem": {
      "post": {
        "tags": [
          "Organization usage and billing"
        ],
        "summary": "redeemOrgAccountingCoupon",
        "description": "Redeem a category-specific coupon for an organization.",
        "operationId": "publicapi#redeemOrgAccountingCoupon",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "description": "Coupon redemption request body.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccountingCouponRequest"
              },
              "example": {
                "code": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TrylleAccountingCouponRedemption"
                },
                "example": {
                  "amountMicrousd": 1,
                  "balance": {
                    "aiCreditMicrousd": 1,
                    "ciCreditMicrousd": 1,
                    "hardMicrousd": 1,
                    "hasUnpricedUsage": false,
                    "insolvent": false,
                    "pendingAiMicrousd": 1,
                    "pendingCiMicrousd": 1,
                    "pendingMicrousd": 1,
                    "softMicrousd": 1,
                    "totalMicrousd": 1
                  },
                  "category": "ci",
                  "code": "abc123"
                }
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/actions/secrets": {
      "get": {
        "tags": [
          "Organization CI configuration"
        ],
        "summary": "listOrgActionsSecrets",
        "operationId": "publicapi#listOrgActionsSecrets",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Organization CI configuration"
        ],
        "summary": "createOrgActionsSecret",
        "operationId": "publicapi#createOrgActionsSecret",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrgActionsSecretRequestBody"
              },
              "example": {
                "name": "aa",
                "repositoryAccess": "private",
                "secret": "abc123"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/actions/secrets/{name}": {
      "delete": {
        "tags": [
          "Organization CI configuration"
        ],
        "summary": "deleteOrgActionsSecret",
        "operationId": "publicapi#deleteOrgActionsSecret",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Secret name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Secret name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/actions/variables": {
      "get": {
        "tags": [
          "Organization CI configuration"
        ],
        "summary": "listOrgActionsVariables",
        "operationId": "publicapi#listOrgActionsVariables",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Organization CI configuration"
        ],
        "summary": "createOrgActionsVariable",
        "operationId": "publicapi#createOrgActionsVariable",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateOrgActionsVariableRequestBody"
              },
              "example": {
                "name": "aa",
                "repositoryAccess": "private",
                "value": "abc123"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/actions/variables/{name}": {
      "delete": {
        "tags": [
          "Organization CI configuration"
        ],
        "summary": "deleteOrgActionsVariable",
        "operationId": "publicapi#deleteOrgActionsVariable",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Variable name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Variable name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Organization CI configuration"
        ],
        "summary": "updateOrgActionsVariable",
        "operationId": "publicapi#updateOrgActionsVariable",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Variable name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Variable name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrgActionsVariableRequestBody"
              },
              "example": {
                "repositoryAccess": "private",
                "value": "abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/billing": {
      "get": {
        "tags": [
          "Organization usage and billing"
        ],
        "summary": "getOrgBillingSummary",
        "description": "Billing summary for an organization.",
        "operationId": "publicapi#getOrgBillingSummary",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/billing/checkout": {
      "post": {
        "tags": [
          "Organization usage and billing"
        ],
        "summary": "startOrgBillingCheckout",
        "description": "Start Stripe Checkout for an organization subscription plan.",
        "operationId": "publicapi#startOrgBillingCheckout",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartUserBillingCheckoutRequestBody"
              },
              "example": {
                "cancelUrl": "aa",
                "planKey": "aa",
                "successUrl": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/billing/portal": {
      "post": {
        "tags": [
          "Organization usage and billing"
        ],
        "summary": "startOrgBillingPortal",
        "description": "Open the Stripe customer portal for an organization.",
        "operationId": "publicapi#startOrgBillingPortal",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StartUserBillingPortalRequestBody"
              },
              "example": {
                "returnUrl": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/invitations": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "listOrgInvitations",
        "operationId": "publicapi#listOrgInvitations",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/invitations/{invite_id}": {
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "revokeOrgInvitation",
        "operationId": "publicapi#revokeOrgInvitation",
        "parameters": [
          {
            "name": "team_id",
            "in": "query",
            "description": "Forgejo team id for the invitation.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Forgejo team id for the invitation.",
              "example": 1,
              "format": "int64"
            },
            "example": 1
          },
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "invite_id",
            "in": "path",
            "description": "Pending invitation id.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Pending invitation id.",
              "example": 1,
              "format": "int64"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/member-candidates": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "searchOrgMemberCandidates",
        "operationId": "publicapi#searchOrgMemberCandidates",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Search by username, email, or display name.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Search by username, email, or display name.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/members": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "listOrgMembers",
        "operationId": "publicapi#listOrgMembers",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "org",
            "in": "path",
            "description": "Organization login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/members/{username}": {
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "removeOrgMember",
        "operationId": "publicapi#removeOrgMember",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "username",
            "in": "path",
            "description": "Forgejo login of the member to remove.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login of the member to remove.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Organizations"
        ],
        "summary": "updateOrgMember",
        "operationId": "publicapi#updateOrgMember",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "username",
            "in": "path",
            "description": "Forgejo login of the member to update.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login of the member to update.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateOrgMemberRequestBody"
              },
              "example": {
                "role": "member"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "addOrgMember",
        "operationId": "publicapi#addOrgMember",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "username",
            "in": "path",
            "description": "Forgejo login, platform username, or email of the user to invite.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login, platform username, or email of the user to invite.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddOrgMemberRequestBody"
              },
              "example": {
                "role": "member"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/members/{username}/visibility": {
      "patch": {
        "tags": [
          "Organizations"
        ],
        "summary": "setOrgMemberVisibility",
        "operationId": "publicapi#setOrgMemberVisibility",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "username",
            "in": "path",
            "description": "Forgejo login of the member to update.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login of the member to update.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetOrgMemberVisibilityRequestBody"
              },
              "example": {
                "public": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/orgs/{org}/pinned-repositories": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "getOrgPinnedRepositories",
        "operationId": "publicapi#getOrgPinnedRepositories",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "setOrgPinnedRepositories",
        "operationId": "publicapi#setOrgPinnedRepositories",
        "parameters": [
          {
            "name": "org",
            "in": "path",
            "description": "Organization handle or Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Organization handle or Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetOrgPinnedRepositoriesRequestBody"
              },
              "example": {
                "repositories": [
                  "abc123"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/profiles/{login}": {
      "get": {
        "tags": [
          "Profiles and discovery"
        ],
        "summary": "getPublicUserProfile",
        "operationId": "publicapi#getPublicUserProfile",
        "parameters": [
          {
            "name": "login",
            "in": "path",
            "description": "Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/profiles/{login}/contributions": {
      "get": {
        "tags": [
          "Profiles and discovery"
        ],
        "summary": "getPublicUserContributions",
        "operationId": "publicapi#getPublicUserContributions",
        "parameters": [
          {
            "name": "login",
            "in": "path",
            "description": "Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/profiles/{login}/follow": {
      "post": {
        "tags": [
          "Profiles and discovery"
        ],
        "summary": "setFollowed",
        "operationId": "publicapi#setFollowed",
        "parameters": [
          {
            "name": "login",
            "in": "path",
            "description": "Forgejo login of the user to follow or unfollow.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login of the user to follow or unfollow.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetFollowedRequestBody"
              },
              "example": {
                "following": false,
                "targetId": 2
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/profiles/{login}/followers": {
      "get": {
        "tags": [
          "Profiles and discovery"
        ],
        "summary": "listProfileFollowers",
        "operationId": "publicapi#listProfileFollowers",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "login",
            "in": "path",
            "description": "Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/profiles/{login}/following": {
      "get": {
        "tags": [
          "Profiles and discovery"
        ],
        "summary": "listProfileFollowing",
        "operationId": "publicapi#listProfileFollowing",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "login",
            "in": "path",
            "description": "Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/profiles/{login}/pinned-repositories": {
      "get": {
        "tags": [
          "Profiles and discovery"
        ],
        "summary": "getUserPinnedRepositories",
        "operationId": "publicapi#getUserPinnedRepositories",
        "parameters": [
          {
            "name": "login",
            "in": "path",
            "description": "Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Profiles and discovery"
        ],
        "summary": "setUserPinnedRepositories",
        "operationId": "publicapi#setUserPinnedRepositories",
        "parameters": [
          {
            "name": "login",
            "in": "path",
            "description": "Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetOrgPinnedRepositoriesRequestBody"
              },
              "example": {
                "repositories": [
                  "abc123"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/profiles/{login}/repositories": {
      "get": {
        "tags": [
          "Profiles and discovery"
        ],
        "summary": "listPublicUserRepositories",
        "operationId": "publicapi#listPublicUserRepositories",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "login",
            "in": "path",
            "description": "Forgejo login.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/pull-requests": {
      "get": {
        "tags": [
          "Pull requests"
        ],
        "summary": "listPullRequests",
        "operationId": "publicapi#listPullRequests",
        "parameters": [
          {
            "name": "owner",
            "in": "query",
            "description": "Repository owner query value.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner query value.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "repo",
            "in": "query",
            "description": "Repository name query value.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name query value.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "state",
            "in": "query",
            "description": "Pull request state filter forwarded to git-gateway (open, closed, all).",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Pull request state filter forwarded to git-gateway (open, closed, all).",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/pulls/mine": {
      "get": {
        "tags": [
          "Pull requests"
        ],
        "summary": "myPulls",
        "operationId": "publicapi#myPulls",
        "parameters": [
          {
            "name": "state",
            "in": "query",
            "description": "Pull request state filter forwarded to git-gateway.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Pull request state filter forwarded to git-gateway.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories": {
      "get": {
        "tags": [
          "Repositories"
        ],
        "summary": "listRepositories",
        "operationId": "publicapi#listRepositories",
        "parameters": [
          {
            "name": "workspaceId",
            "in": "query",
            "description": "Workspace id. Defaults to DEFAULT_WORKSPACE_ID when omitted.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Workspace id. Defaults to DEFAULT_WORKSPACE_ID when omitted.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Repositories"
        ],
        "summary": "createRepository",
        "operationId": "publicapi#createRepository",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRepositoryRequestBody"
              },
              "example": {
                "autoInit": false,
                "defaultBranch": "abc123",
                "description": "abc123",
                "name": "aa",
                "owner": "abc123",
                "private": false,
                "workspaceId": "abc123"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/participation/batch": {
      "post": {
        "tags": [
          "Repositories"
        ],
        "summary": "getParticipationBatch",
        "description": "Load default-branch participation histograms for a bounded repository list using one Redis MGET.",
        "operationId": "publicapi#getParticipationBatch",
        "parameters": [],
        "requestBody": {
          "description": "Bounded repository participation request.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ParticipationBatchRequest"
              },
              "example": {
                "repositories": [
                  {
                    "name": "aa",
                    "owner": "aa"
                  },
                  {
                    "name": "aa",
                    "owner": "aa"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParticipationBatchResult"
                },
                "example": {
                  "items": [
                    {
                      "name": "aa",
                      "owner": "aa",
                      "weeklyCommits": [
                        1,
                        1,
                        1
                      ]
                    },
                    {
                      "name": "aa",
                      "owner": "aa",
                      "weeklyCommits": [
                        1,
                        1,
                        1
                      ]
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}": {
      "delete": {
        "tags": [
          "Repositories"
        ],
        "summary": "deleteRepository",
        "operationId": "publicapi#deleteRepository",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "X-Trylle-Expected-Repository-ID",
            "in": "header",
            "description": "Immutable repository ID required to fence path reuse.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Immutable repository ID required to fence path reuse.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Repositories"
        ],
        "summary": "getRepository",
        "operationId": "publicapi#getRepository",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Repositories"
        ],
        "summary": "editRepository",
        "operationId": "publicapi#editRepository",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditRepositoryRequestBody"
              },
              "example": {
                "allowMergeCommits": false,
                "allowRebase": false,
                "allowRebaseUpdate": false,
                "allowSquashMerge": false,
                "archived": false,
                "defaultAllowMaintainerEdit": false,
                "defaultBranch": "abc123",
                "defaultDeleteBranchAfterMerge": false,
                "description": "abc123",
                "expectedRepositoryId": "aa",
                "hasIssues": false,
                "newName": "abc123",
                "private": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/actions/runtime-settings": {
      "get": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "getRepoActionsRuntimeSettings",
        "description": "Get the repository Actions policy and disabled workflow paths without enumerating workflow files.",
        "operationId": "publicapi#getRepoActionsRuntimeSettings",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepositoryActionsRuntimeSettings"
                },
                "example": {
                  "disabledWorkflowPaths": [
                    "abc123"
                  ],
                  "policy": "trylle"
                }
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/actions/secrets": {
      "get": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "listRepoActionsSecrets",
        "operationId": "publicapi#listRepoActionsSecrets",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/actions/settings": {
      "get": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "getRepoActionsSettings",
        "description": "Get repository Actions policy and workflow availability from .trylle/workflows and .github/workflows.",
        "operationId": "publicapi#getRepoActionsSettings",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepositoryActionsSettings"
                },
                "example": {
                  "disabledWorkflowPaths": [
                    "abc123"
                  ],
                  "policy": "trylle",
                  "workflows": [
                    {
                      "enabled": false,
                      "name": "abc123",
                      "path": "abc123",
                      "platform": "github"
                    }
                  ]
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "updateRepoActionsPolicy",
        "description": "Set which repository workflow platforms may run.",
        "operationId": "publicapi#updateRepoActionsPolicy",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RepositoryActionsPolicyState"
              },
              "example": {
                "policy": "trylle"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepositoryActionsPolicyState"
                },
                "example": {
                  "policy": "trylle"
                }
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/actions/variables": {
      "get": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "listRepoActionsVariables",
        "operationId": "publicapi#listRepoActionsVariables",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/actions/workflows": {
      "patch": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "updateRepoActionWorkflow",
        "description": "Enable or disable one repository workflow file.",
        "operationId": "publicapi#updateRepoActionWorkflow",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRepoActionWorkflowRequestBody"
              },
              "example": {
                "enabled": false,
                "path": ".github/workflows/aa.yml"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RepositoryActionWorkflowState"
                },
                "example": {
                  "enabled": false,
                  "path": "abc123"
                }
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/assignees": {
      "get": {
        "tags": [
          "Repository access"
        ],
        "summary": "listRepoAssignees",
        "description": "List Forgejo-authoritative users eligible for assignment in this repository, including team-derived access.",
        "operationId": "publicapi#listRepoAssignees",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/branch-protection-check-contexts": {
      "get": {
        "tags": [
          "Branch protection"
        ],
        "summary": "listBranchProtectionCheckContexts",
        "description": "List status check context names reported for a repository ref.",
        "operationId": "publicapi#listBranchProtectionCheckContexts",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "ref",
            "in": "query",
            "description": "Branch, tag, or commit ref whose head statuses should be inspected.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Branch, tag, or commit ref whose head statuses should be inspected.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/branch-protections": {
      "get": {
        "tags": [
          "Branch protection"
        ],
        "summary": "listBranchProtections",
        "operationId": "publicapi#listBranchProtections",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Branch protection"
        ],
        "summary": "createBranchProtection",
        "operationId": "publicapi#createBranchProtection",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBranchProtectionRequestBody"
              },
              "example": {
                "applyToAdmins": false,
                "approvalsWhitelistUsernames": [
                  "abc123"
                ],
                "blockOnOfficialReviewRequests": false,
                "blockOnOutdatedBranch": false,
                "blockOnRejectedReviews": false,
                "branchName": "aa",
                "dismissStaleApprovals": false,
                "enableApprovalsWhitelist": false,
                "enableMergeWhitelist": false,
                "enablePush": false,
                "enablePushWhitelist": false,
                "enableStatusCheck": false,
                "ignoreStaleApprovals": false,
                "mergeWhitelistUsernames": [
                  "abc123"
                ],
                "protectedFilePatterns": "abc123",
                "pushWhitelistDeployKeys": false,
                "pushWhitelistUsernames": [
                  "abc123"
                ],
                "requireSignedCommits": false,
                "requiredApprovals": 1,
                "ruleName": "abc123",
                "statusCheckContexts": [
                  "abc123"
                ],
                "unprotectedFilePatterns": "abc123"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/branch-protections/{branchName}": {
      "delete": {
        "tags": [
          "Branch protection"
        ],
        "summary": "deleteBranchProtection",
        "operationId": "publicapi#deleteBranchProtection",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "branchName",
            "in": "path",
            "description": "Branch name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Branch name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Branch protection"
        ],
        "summary": "getBranchProtection",
        "operationId": "publicapi#getBranchProtection",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "branchName",
            "in": "path",
            "description": "Branch name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Branch name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Branch protection"
        ],
        "summary": "editBranchProtection",
        "operationId": "publicapi#editBranchProtection",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "branchName",
            "in": "path",
            "description": "Branch name (literal name only — patterns not yet supported).",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Branch name (literal name only — patterns not yet supported).",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditBranchProtectionRequestBody"
              },
              "example": {
                "applyToAdmins": false,
                "approvalsWhitelistUsernames": [
                  "abc123"
                ],
                "blockOnOfficialReviewRequests": false,
                "blockOnOutdatedBranch": false,
                "blockOnRejectedReviews": false,
                "dismissStaleApprovals": false,
                "enableApprovalsWhitelist": false,
                "enableMergeWhitelist": false,
                "enablePush": false,
                "enablePushWhitelist": false,
                "enableStatusCheck": false,
                "ignoreStaleApprovals": false,
                "mergeWhitelistUsernames": [
                  "abc123"
                ],
                "protectedFilePatterns": "abc123",
                "pushWhitelistDeployKeys": false,
                "pushWhitelistUsernames": [
                  "abc123"
                ],
                "requireSignedCommits": false,
                "requiredApprovals": 1,
                "ruleName": "abc123",
                "statusCheckContexts": [
                  "abc123"
                ],
                "unprotectedFilePatterns": "abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/branches": {
      "get": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "listRepoBranches",
        "operationId": "publicapi#listRepoBranches",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/branches/{branch}": {
      "delete": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "deleteRepoBranch",
        "operationId": "publicapi#deleteRepoBranch",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "branch",
            "in": "path",
            "description": "Branch name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Branch name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/collaborator-candidates": {
      "get": {
        "tags": [
          "Repository access"
        ],
        "summary": "searchRepoCollaboratorCandidates",
        "operationId": "publicapi#searchRepoCollaboratorCandidates",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Search by username, email, or display name.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Search by username, email, or display name.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/collaborators": {
      "get": {
        "tags": [
          "Repository access"
        ],
        "summary": "listRepoCollaborators",
        "operationId": "publicapi#listRepoCollaborators",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/collaborators/{username}": {
      "delete": {
        "tags": [
          "Repository access"
        ],
        "summary": "removeRepoCollaborator",
        "operationId": "publicapi#removeRepoCollaborator",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "username",
            "in": "path",
            "description": "Collaborator username.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Collaborator username.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Repository access"
        ],
        "summary": "addRepoCollaborator",
        "operationId": "publicapi#addRepoCollaborator",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "username",
            "in": "path",
            "description": "Forgejo login, platform username, or email of the collaborator.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login, platform username, or email of the collaborator.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AddRepoCollaboratorRequestBody"
              },
              "example": {
                "permission": "abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/commits/{sha}": {
      "get": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "getCommit",
        "operationId": "publicapi#getCommit",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "sha",
            "in": "path",
            "description": "Commit SHA or ref.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Commit SHA or ref.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/compare": {
      "get": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "compare",
        "operationId": "publicapi#compare",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "base",
            "in": "query",
            "description": "Base ref.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Base ref.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "head",
            "in": "query",
            "description": "Head ref.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Head ref.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/contents": {
      "get": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "listContents",
        "operationId": "publicapi#listContents",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "ref",
            "in": "query",
            "description": "Git ref.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Git ref.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "path",
            "in": "query",
            "description": "Repository path.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Repository path.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/contributors": {
      "get": {
        "tags": [
          "Repositories"
        ],
        "summary": "repoContributors",
        "description": "Top contributors (by commit count) for a public repository's default branch. Optional auth; public repositories only.",
        "operationId": "publicapi#repoContributors",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum contributors to return. Handler defaults to 5.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Maximum contributors to return. Handler defaults to 5.",
              "example": 1,
              "format": "int64"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/file": {
      "get": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "getFile",
        "operationId": "publicapi#getFile",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "ref",
            "in": "query",
            "description": "Git ref.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Git ref.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "path",
            "in": "query",
            "description": "Repository file path.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Repository file path.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "encoding",
            "in": "query",
            "description": "Requested encoding.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Requested encoding.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "createFile",
        "operationId": "publicapi#createFile",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateFileRequestBody"
              },
              "example": {
                "branch": "abc123",
                "content": "abc123",
                "message": "abc123",
                "path": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/fork": {
      "post": {
        "tags": [
          "Repositories"
        ],
        "summary": "forkRepository",
        "operationId": "publicapi#forkRepository",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "description": "Fork request body.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ForkRepositoryRequest"
              },
              "example": {
                "name": "abc123"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/issues": {
      "post": {
        "tags": [
          "Issues"
        ],
        "summary": "createIssue",
        "operationId": "publicapi#createIssue",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateIssueRequestBody"
              },
              "example": {
                "assignees": [
                  "abc123"
                ],
                "body": "abc123",
                "labels": [
                  "abc123"
                ],
                "title": "aa"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/issues/comments/{commentId}": {
      "delete": {
        "tags": [
          "Issues"
        ],
        "summary": "deleteIssueComment",
        "operationId": "publicapi#deleteIssueComment",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "commentId",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/issues/{number}": {
      "get": {
        "tags": [
          "Issues"
        ],
        "summary": "getIssuePage",
        "operationId": "publicapi#getIssuePage",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Issues"
        ],
        "summary": "editIssue",
        "operationId": "publicapi#editIssue",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditIssueRequestBody"
              },
              "example": {
                "assignees": [
                  "abc123"
                ],
                "body": "abc123",
                "state": "abc123",
                "title": "abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/issues/{number}/comments": {
      "get": {
        "tags": [
          "Issues"
        ],
        "summary": "listIssueComments",
        "operationId": "publicapi#listIssueComments",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Issues"
        ],
        "summary": "createIssueComment",
        "operationId": "publicapi#createIssueComment",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplyToPullReviewCommentRequestBody"
              },
              "example": {
                "body": "aa"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/issues/{number}/labels": {
      "put": {
        "tags": [
          "Issues"
        ],
        "summary": "setIssueLabels",
        "operationId": "publicapi#setIssueLabels",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetIssueLabelsRequestBody"
              },
              "example": {
                "labels": [
                  "abc123"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/issues/{number}/reactions": {
      "post": {
        "tags": [
          "Issues"
        ],
        "summary": "toggleIssueCommentReaction",
        "operationId": "publicapi#toggleIssueCommentReaction",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Issue or pull request number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Issue or pull request number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ToggleIssueCommentReactionRequestBody"
              },
              "example": {
                "commentId": 1,
                "content": "aa",
                "remove": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/issues/{number}/timeline": {
      "get": {
        "tags": [
          "Issues"
        ],
        "summary": "getIssueTimelinePage",
        "operationId": "publicapi#getIssueTimelinePage",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/labels": {
      "get": {
        "tags": [
          "Issues"
        ],
        "summary": "listRepoLabels",
        "operationId": "publicapi#listRepoLabels",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Issues"
        ],
        "summary": "createRepoLabel",
        "operationId": "publicapi#createRepoLabel",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "description": "Label request body.",
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRepoLabelRequest"
              },
              "example": {
                "color": "aa",
                "description": "abc123",
                "name": "aa"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/languages": {
      "get": {
        "tags": [
          "Repositories"
        ],
        "summary": "getRepoLanguages",
        "operationId": "publicapi#getRepoLanguages",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/participation": {
      "get": {
        "tags": [
          "Repositories"
        ],
        "summary": "getParticipation",
        "operationId": "publicapi#getParticipation",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "ref",
            "in": "query",
            "description": "Reserved for future bounded custom-ref support; currently the authoritative default branch is always used.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Reserved for future bounded custom-ref support; currently the authoritative default branch is always used.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ParticipationStats"
                },
                "example": {
                  "weeklyCommits": [
                    1,
                    1,
                    1
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls": {
      "post": {
        "tags": [
          "Pull requests"
        ],
        "summary": "createPull",
        "operationId": "publicapi#createPull",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePullRequestBody"
              },
              "example": {
                "assignees": [
                  "abc123"
                ],
                "base": "aa",
                "body": "abc123",
                "draft": false,
                "head": "aa",
                "labels": [
                  "abc123"
                ],
                "reviewers": [
                  "abc123"
                ],
                "teamReviewers": [
                  "abc123"
                ],
                "team_reviewers": [
                  "abc123"
                ],
                "title": "aa"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/checks": {
      "get": {
        "tags": [
          "Pull requests"
        ],
        "summary": "getPullChecksBatch",
        "description": "Return check-run snapshots for a bounded set of pull requests in one repository.",
        "operationId": "publicapi#getPullChecksBatch",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "numbers",
            "in": "query",
            "description": "Repeated pull request numbers (maximum 25).",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "example": 1,
                "format": "int64"
              },
              "description": "Repeated pull request numbers (maximum 25).",
              "example": [
                1,
                1
              ],
              "minItems": 1,
              "maxItems": 25
            },
            "example": [
              1,
              1
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/stack-events": {
      "get": {
        "tags": [
          "Pull requests"
        ],
        "summary": "listPullStackEvents",
        "operationId": "publicapi#listPullStackEvents",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}": {
      "get": {
        "tags": [
          "Pull requests"
        ],
        "summary": "getPullPage",
        "operationId": "publicapi#getPullPage",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Pull requests"
        ],
        "summary": "editPull",
        "operationId": "publicapi#editPull",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditPullRequestBody"
              },
              "example": {
                "assignees": [
                  "abc123"
                ],
                "body": "abc123",
                "draft": false,
                "ready_for_review": false,
                "state": "abc123",
                "title": "abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/changelog": {
      "get": {
        "tags": [
          "Pull requests"
        ],
        "summary": "listPullChangelog",
        "operationId": "publicapi#listPullChangelog",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Pull request number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Pull request number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "head_sha",
            "in": "query",
            "description": "Head commit SHA filter; omit for all heads.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Head commit SHA filter; omit for all heads.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "model",
            "in": "query",
            "description": "AI model identifier (e.g. claude-sonnet-5).",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "AI model identifier (e.g. claude-sonnet-5).",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Pull requests"
        ],
        "summary": "upsertPullChangelog",
        "operationId": "publicapi#upsertPullChangelog",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Pull request number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Pull request number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "X-Trylle-Expected-Repository-ID",
            "in": "header",
            "description": "Immutable repository identity captured by the authorized changelog read.",
            "allowEmptyValue": true,
            "required": true,
            "schema": {
              "type": "string",
              "description": "Immutable repository identity captured by the authorized changelog read.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpsertPullChangelogRequestBody"
              },
              "example": {
                "data": "abc123",
                "file_sha": "abc123",
                "head_sha": "abc123",
                "model": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/merge": {
      "post": {
        "tags": [
          "Pull requests"
        ],
        "summary": "mergePull",
        "operationId": "publicapi#mergePull",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MergePullRequestBody"
              },
              "example": {
                "Do": "aa",
                "MergeMessageField": "abc123",
                "MergeTitleField": "abc123",
                "delete_branch_after_merge": false,
                "force_merge": false,
                "head_commit_id": "abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/requested-reviewers": {
      "delete": {
        "tags": [
          "Pull requests"
        ],
        "summary": "removePullReviewers",
        "operationId": "publicapi#removePullReviewers",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestPullReviewersRequestBody"
              },
              "example": {
                "reviewers": [
                  "abc123"
                ],
                "teamReviewers": [
                  "abc123"
                ],
                "team_reviewers": [
                  "abc123"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Pull requests"
        ],
        "summary": "requestPullReviewers",
        "operationId": "publicapi#requestPullReviewers",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RequestPullReviewersRequestBody"
              },
              "example": {
                "reviewers": [
                  "abc123"
                ],
                "teamReviewers": [
                  "abc123"
                ],
                "team_reviewers": [
                  "abc123"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/review-bundle": {
      "get": {
        "tags": [
          "Pull requests"
        ],
        "summary": "getPullReviewBundle",
        "operationId": "publicapi#getPullReviewBundle",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/review-comments": {
      "get": {
        "tags": [
          "Pull requests"
        ],
        "summary": "getPullReviewComments",
        "operationId": "publicapi#getPullReviewComments",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/review-comments/{commentId}": {
      "delete": {
        "tags": [
          "Pull requests"
        ],
        "summary": "deletePullReviewComment",
        "operationId": "publicapi#deletePullReviewComment",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "commentId",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/review-comments/{commentId}/reply": {
      "post": {
        "tags": [
          "Pull requests"
        ],
        "summary": "replyToPullReviewComment",
        "operationId": "publicapi#replyToPullReviewComment",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "commentId",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplyToPullReviewCommentRequestBody"
              },
              "example": {
                "body": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/review-comments/{commentId}/resolution": {
      "post": {
        "tags": [
          "Pull requests"
        ],
        "summary": "markPullReviewCommentConversation",
        "operationId": "publicapi#markPullReviewCommentConversation",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "commentId",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "resolved": {
                    "type": "boolean",
                    "description": "Whether the review conversation should be marked resolved.",
                    "example": false
                  }
                },
                "example": {
                  "resolved": false
                }
              },
              "example": {
                "resolved": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/reviews": {
      "post": {
        "tags": [
          "Pull requests"
        ],
        "summary": "createPullReview",
        "operationId": "publicapi#createPullReview",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePullReviewRequestBody"
              },
              "example": {
                "body": "abc123",
                "comments": [
                  {
                    "body": "abc123",
                    "new_position": 1,
                    "old_position": 1,
                    "path": "abc123"
                  }
                ],
                "commit_id": "abc123",
                "event": "abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/reviews/{id}/dismiss": {
      "post": {
        "tags": [
          "Pull requests"
        ],
        "summary": "dismissPullReview",
        "operationId": "publicapi#dismissPullReview",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "id",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DismissPullReviewRequestBody"
              },
              "example": {
                "message": "abc123",
                "priors": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/stack-parent": {
      "put": {
        "tags": [
          "Pull requests"
        ],
        "summary": "setPullStackParent",
        "operationId": "publicapi#setPullStackParent",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPullStackParentRequestBody"
              },
              "example": {
                "parentNumber": 1
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/stack-sync-children": {
      "post": {
        "tags": [
          "Pull requests"
        ],
        "summary": "syncPullStackChildren",
        "operationId": "publicapi#syncPullStackChildren",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPullStackParentRequestBody"
              },
              "example": {
                "parentNumber": 1
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/status": {
      "get": {
        "tags": [
          "Pull requests"
        ],
        "summary": "getPullStatus",
        "operationId": "publicapi#getPullStatus",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/pulls/{number}/update": {
      "post": {
        "tags": [
          "Pull requests"
        ],
        "summary": "updatePullBranch",
        "operationId": "publicapi#updatePullBranch",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "number",
            "in": "path",
            "description": "Positive issue, pull, review, or comment number.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Positive issue, pull, review, or comment number.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "style",
            "in": "query",
            "description": "Update style. Defaults to merge.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Update style. Defaults to merge.",
              "default": "merge",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/recent-pushable-branch": {
      "get": {
        "tags": [
          "Repositories"
        ],
        "summary": "getRecentPushableBranch",
        "operationId": "publicapi#getRecentPushableBranch",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/ref-authors": {
      "get": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "listRefCommitAuthors",
        "description": "Distinct commit authors for a git ref. Powers commit-list author pickers without walking ref-commits pages. Response shape is { \"authors\": [{ \"login\": string, \"name\": string, \"avatarUrl\": string, \"commitCount\": number }], \"totalCount\": number }; login is empty for unmatched git authors, and commitCount is used to sort the picker.",
        "operationId": "publicapi#listRefCommitAuthors",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "ref",
            "in": "query",
            "description": "Git ref (branch, tag, or SHA). Defaults to the repository default branch when omitted.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Git ref (branch, tag, or SHA). Defaults to the repository default branch when omitted.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "q",
            "in": "query",
            "description": "Optional substring filter on login or display name.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Optional substring filter on login or display name.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "exclude_bots",
            "in": "query",
            "description": "When true, omit authors whose login ends with [bot]. Defaults to false.",
            "allowEmptyValue": true,
            "schema": {
              "type": "boolean",
              "description": "When true, omit authors whose login ends with [bot]. Defaults to false.",
              "example": false
            },
            "example": false
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Maximum authors to return. Handler defaults to 100 and clamps above 500.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Maximum authors to return. Handler defaults to 100 and clamps above 500.",
              "example": 1,
              "format": "int64"
            },
            "example": 1
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/ref-commits": {
      "get": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "listRefCommits",
        "description": "Paginated commits for a git ref. Optional author and q filters are applied before pagination so page counts stay correct.",
        "operationId": "publicapi#listRefCommits",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "ref",
            "in": "query",
            "description": "Git ref.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Git ref.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "author",
            "in": "query",
            "description": "Restrict to commits whose routable login or git display name matches exactly.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Restrict to commits whose routable login or git display name matches exactly.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "q",
            "in": "query",
            "description": "Substring filter on commit message, SHA, or author login/name.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Substring filter on commit message, SHA, or author login/name.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/ref-head-commit": {
      "get": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "getRefHeadCommit",
        "operationId": "publicapi#getRefHeadCommit",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "ref",
            "in": "query",
            "description": "Git ref.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Git ref.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/ref-state": {
      "get": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "getRepoRefState",
        "operationId": "publicapi#getRepoRefState",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "branch",
            "in": "query",
            "description": "Branch name.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Branch name.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/releases": {
      "get": {
        "tags": [
          "Releases"
        ],
        "summary": "listRepoReleases",
        "operationId": "publicapi#listRepoReleases",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page. Handler clamps values below 1 to 1.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page. Handler clamps values below 1 to 1.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page. Handler defaults to 30 and clamps above 100.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page. Handler defaults to 30 and clamps above 100.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Base64 cursor encoding page and per_page; overrides page/per_page when valid.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "query",
            "in": "query",
            "description": "Forwarded to Forgejo release list filtering when supported.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Forwarded to Forgejo release list filtering when supported.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Releases"
        ],
        "summary": "createRepoRelease",
        "operationId": "publicapi#createRepoRelease",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRepoReleaseRequestBody"
              },
              "example": {
                "hideArchiveLinks": false,
                "isDraft": false,
                "isPrerelease": false,
                "notes": "abc123",
                "tagName": "aa",
                "target": "abc123",
                "title": "aa"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/releases/tags/{tag}": {
      "delete": {
        "tags": [
          "Releases"
        ],
        "summary": "deleteRepoRelease",
        "operationId": "publicapi#deleteRepoRelease",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "tag",
            "in": "path",
            "description": "Release Git tag.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Release Git tag.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Releases"
        ],
        "summary": "getRepoRelease",
        "operationId": "publicapi#getRepoRelease",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "tag",
            "in": "path",
            "description": "Release Git tag.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Release Git tag.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Releases"
        ],
        "summary": "updateRepoRelease",
        "operationId": "publicapi#updateRepoRelease",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "tag",
            "in": "path",
            "description": "Release Git tag.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Release Git tag.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRepoReleaseRequestBody"
              },
              "example": {
                "hideArchiveLinks": false,
                "isDraft": false,
                "isPrerelease": false,
                "notes": "abc123",
                "tagName": "abc123",
                "target": "abc123",
                "title": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/reviewer-teams": {
      "get": {
        "tags": [
          "Repository access"
        ],
        "summary": "listRepoReviewerTeams",
        "description": "List organization teams attached to a repository that may be requested as pull-request reviewers.",
        "operationId": "publicapi#listRepoReviewerTeams",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/reviewer-users": {
      "get": {
        "tags": [
          "Repository access"
        ],
        "summary": "listRepoReviewerUsers",
        "description": "List Forgejo-authoritative users eligible to be requested as pull-request reviewers, including team-derived access.",
        "operationId": "publicapi#listRepoReviewerUsers",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/star": {
      "post": {
        "tags": [
          "Repositories"
        ],
        "summary": "setStarred",
        "operationId": "publicapi#setStarred",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetStarredRequestBody"
              },
              "example": {
                "starred": false
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/teams": {
      "get": {
        "tags": [
          "Repository access"
        ],
        "summary": "listRepoTeams",
        "operationId": "publicapi#listRepoTeams",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/teams/{team}": {
      "delete": {
        "tags": [
          "Repository access"
        ],
        "summary": "removeRepoTeam",
        "operationId": "publicapi#removeRepoTeam",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "team",
            "in": "path",
            "description": "Team slug.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Team slug.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Repository access"
        ],
        "summary": "addRepoTeam",
        "operationId": "publicapi#addRepoTeam",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "team",
            "in": "path",
            "description": "Team slug.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Team slug.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/transfer": {
      "post": {
        "tags": [
          "Repositories"
        ],
        "summary": "transferRepository",
        "operationId": "publicapi#transferRepository",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransferRepositoryRequestBody"
              },
              "example": {
                "expectedRepositoryId": "aa",
                "newOwner": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/tree-commits": {
      "get": {
        "tags": [
          "Repository Git data"
        ],
        "summary": "listTreeCommits",
        "operationId": "publicapi#listTreeCommits",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner namespace.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner namespace.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name from the {name} path segment.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name from the {name} path segment.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "ref",
            "in": "query",
            "description": "Git ref.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Git ref.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "dir",
            "in": "query",
            "description": "Directory path.",
            "allowEmptyValue": true,
            "schema": {
              "type": "string",
              "description": "Directory path.",
              "example": "abc123"
            },
            "example": "abc123"
          },
          {
            "name": "entry",
            "in": "query",
            "description": "Repeated entry query values.",
            "allowEmptyValue": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "example": "abc123"
              },
              "description": "Repeated entry query values.",
              "example": [
                "abc123"
              ]
            },
            "example": [
              "abc123"
            ]
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/webhooks": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "listRepoWebhooks",
        "operationId": "publicapi#listRepoWebhooks",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "createRepoWebhook",
        "operationId": "publicapi#createRepoWebhook",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRepoWebhookRequestBody"
              },
              "example": {
                "active": false,
                "authorizationHeader": "abc123",
                "branchFilter": "abc123",
                "contentType": "abc123",
                "events": [
                  "abc123"
                ],
                "secret": "abc123",
                "type": "abc123",
                "url": "aa"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/webhooks/{id}": {
      "delete": {
        "tags": [
          "Webhooks"
        ],
        "summary": "deleteRepoWebhook",
        "operationId": "publicapi#deleteRepoWebhook",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "id",
            "in": "path",
            "description": "Webhook id.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Webhook id.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Webhooks"
        ],
        "summary": "editRepoWebhook",
        "operationId": "publicapi#editRepoWebhook",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "id",
            "in": "path",
            "description": "Webhook id.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Webhook id.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRepoWebhookRequestBody"
              },
              "example": {
                "active": false,
                "authorizationHeader": "abc123",
                "branchFilter": "abc123",
                "contentType": "abc123",
                "events": [
                  "abc123"
                ],
                "secret": "abc123",
                "type": "abc123",
                "url": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{name}/webhooks/{id}/presence-safe": {
      "patch": {
        "tags": [
          "Webhooks"
        ],
        "summary": "editRepoWebhookV2",
        "operationId": "publicapi#editRepoWebhookV2",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "id",
            "in": "path",
            "description": "Webhook id.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Webhook id.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRepoWebhookRequestBody"
              },
              "example": {
                "active": false,
                "authorizationHeader": "abc123",
                "branchFilter": "abc123",
                "contentType": "abc123",
                "events": [
                  "abc123"
                ],
                "secret": "abc123",
                "type": "abc123",
                "url": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{repo}/actions/secrets": {
      "post": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "createRepoActionsSecret",
        "operationId": "publicapi#createRepoActionsSecret",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRepoActionsSecretRequestBody"
              },
              "example": {
                "name": "aa",
                "secret": "abc123"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{repo}/actions/secrets/{name}": {
      "delete": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "deleteRepoActionsSecret",
        "operationId": "publicapi#deleteRepoActionsSecret",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Secret name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Secret name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "updateRepoActionsSecret",
        "operationId": "publicapi#updateRepoActionsSecret",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Secret name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Secret name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRepoActionsSecretRequestBody"
              },
              "example": {
                "secret": "abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{repo}/actions/variables": {
      "post": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "createRepoActionsVariable",
        "operationId": "publicapi#createRepoActionsVariable",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateRepoActionsVariableRequestBody"
              },
              "example": {
                "name": "aa",
                "value": "abc123"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/repositories/{owner}/{repo}/actions/variables/{name}": {
      "delete": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "deleteRepoActionsVariable",
        "operationId": "publicapi#deleteRepoActionsVariable",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Variable name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Variable name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Repository CI configuration"
        ],
        "summary": "updateRepoActionsVariable",
        "operationId": "publicapi#updateRepoActionsVariable",
        "parameters": [
          {
            "name": "owner",
            "in": "path",
            "description": "Repository owner.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository owner.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "repo",
            "in": "path",
            "description": "Repository name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Repository name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          },
          {
            "name": "name",
            "in": "path",
            "description": "Variable name.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Variable name.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateRepoActionsVariableRequestBody"
              },
              "example": {
                "value": "abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/ssh-keys": {
      "get": {
        "tags": [
          "Credentials"
        ],
        "summary": "listViewerSSHKeys",
        "operationId": "publicapi#listViewerSSHKeys",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "One-indexed page.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "One-indexed page.",
              "default": 1,
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          },
          {
            "name": "per_page",
            "in": "query",
            "description": "Items per page.",
            "allowEmptyValue": true,
            "schema": {
              "type": "integer",
              "description": "Items per page.",
              "default": 30,
              "example": 2,
              "format": "int64",
              "minimum": 1,
              "maximum": 100
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Credentials"
        ],
        "summary": "createViewerSSHKey",
        "operationId": "publicapi#createViewerSSHKey",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateViewerSSHKeyRequestBody"
              },
              "example": {
                "key": "aa",
                "title": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/ssh-keys/{id}": {
      "delete": {
        "tags": [
          "Credentials"
        ],
        "summary": "deleteViewerSSHKey",
        "operationId": "publicapi#deleteViewerSSHKey",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Public key id.",
            "required": true,
            "schema": {
              "type": "integer",
              "description": "Public key id.",
              "example": 2,
              "format": "int64",
              "minimum": 1
            },
            "example": 2
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/users/{id}": {
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "getUser",
        "operationId": "publicapi#getUser",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Platform user id. Must match the authenticated viewer id.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Platform user id. Must match the authenticated viewer id.",
              "example": "abc123"
            },
            "example": "abc123"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/users/{login}/git-ssh-token/rotate": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "rotateUserGitSSHToken",
        "operationId": "publicapi#rotateUserGitSSHToken",
        "parameters": [
          {
            "name": "login",
            "in": "path",
            "description": "Forgejo login whose Git SSH token should be rotated.",
            "required": true,
            "schema": {
              "type": "string",
              "description": "Forgejo login whose Git SSH token should be rotated.",
              "example": "aa",
              "minLength": 1
            },
            "example": "aa"
          }
        ],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      }
    },
    "/v1/viewer": {
      "delete": {
        "tags": [
          "Account"
        ],
        "summary": "deleteViewerAccount",
        "operationId": "publicapi#deleteViewerAccount",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "example": "abc123"
                },
                "example": "abc123"
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "Account"
        ],
        "summary": "getViewer",
        "operationId": "publicapi#getViewer",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Viewer"
                },
                "example": {
                  "admin": false,
                  "avatarUrl": "abc123",
                  "bio": "abc123",
                  "company": "abc123",
                  "email": "abc123",
                  "id": "abc123",
                  "location": "abc123",
                  "login": "abc123",
                  "name": "abc123",
                  "pronouns": "abc123",
                  "settings": "abc123",
                  "website": "abc123"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Account"
        ],
        "summary": "updateViewerProfile",
        "operationId": "publicapi#updateViewerProfile",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateViewerProfileRequestBody"
              },
              "example": {
                "bio": "aaa",
                "company": "aaa",
                "location": "aaa",
                "name": "aaa",
                "pronouns": "aaa",
                "website": "aaa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Viewer"
                },
                "example": {
                  "admin": false,
                  "avatarUrl": "abc123",
                  "bio": "abc123",
                  "company": "abc123",
                  "email": "abc123",
                  "id": "abc123",
                  "location": "abc123",
                  "login": "abc123",
                  "name": "abc123",
                  "pronouns": "abc123",
                  "settings": "abc123",
                  "website": "abc123"
                }
              }
            }
          }
        }
      }
    },
    "/v1/viewer/avatar": {
      "delete": {
        "tags": [
          "Account"
        ],
        "summary": "deleteViewerAvatar",
        "operationId": "publicapi#deleteViewerAvatar",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Viewer"
                },
                "example": {
                  "admin": false,
                  "avatarUrl": "abc123",
                  "bio": "abc123",
                  "company": "abc123",
                  "email": "abc123",
                  "id": "abc123",
                  "location": "abc123",
                  "login": "abc123",
                  "name": "abc123",
                  "pronouns": "abc123",
                  "settings": "abc123",
                  "website": "abc123"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Account"
        ],
        "summary": "setViewerAvatar",
        "operationId": "publicapi#setViewerAvatar",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetViewerAvatarRequestBody"
              },
              "example": {
                "image": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Viewer"
                },
                "example": {
                  "admin": false,
                  "avatarUrl": "abc123",
                  "bio": "abc123",
                  "company": "abc123",
                  "email": "abc123",
                  "id": "abc123",
                  "location": "abc123",
                  "login": "abc123",
                  "name": "abc123",
                  "pronouns": "abc123",
                  "settings": "abc123",
                  "website": "abc123"
                }
              }
            }
          }
        }
      }
    },
    "/v1/viewer/provision": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "provisionViewer",
        "description": "Provision or refresh the authenticated viewer and their Forgejo identity.",
        "operationId": "publicapi#provisionViewer",
        "parameters": [],
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Viewer"
                },
                "example": {
                  "admin": false,
                  "avatarUrl": "abc123",
                  "bio": "abc123",
                  "company": "abc123",
                  "email": "abc123",
                  "id": "abc123",
                  "location": "abc123",
                  "login": "abc123",
                  "name": "abc123",
                  "pronouns": "abc123",
                  "settings": "abc123",
                  "website": "abc123"
                }
              }
            }
          }
        }
      }
    },
    "/v1/viewer/settings": {
      "patch": {
        "tags": [
          "Account"
        ],
        "summary": "updateViewerSettings",
        "operationId": "publicapi#updateViewerSettings",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateViewerSettingsRequestBody"
              },
              "example": {
                "settings": "abc123"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Viewer"
                },
                "example": {
                  "admin": false,
                  "avatarUrl": "abc123",
                  "bio": "abc123",
                  "company": "abc123",
                  "email": "abc123",
                  "id": "abc123",
                  "location": "abc123",
                  "login": "abc123",
                  "name": "abc123",
                  "pronouns": "abc123",
                  "settings": "abc123",
                  "website": "abc123"
                }
              }
            }
          }
        }
      }
    },
    "/v1/viewer/username": {
      "post": {
        "tags": [
          "Account"
        ],
        "summary": "renameViewerUsername",
        "operationId": "publicapi#renameViewerUsername",
        "parameters": [],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameViewerUsernameRequestBody"
              },
              "example": {
                "newLogin": "aa"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Viewer"
                },
                "example": {
                  "admin": false,
                  "avatarUrl": "abc123",
                  "bio": "abc123",
                  "company": "abc123",
                  "email": "abc123",
                  "id": "abc123",
                  "location": "abc123",
                  "login": "abc123",
                  "name": "abc123",
                  "pronouns": "abc123",
                  "settings": "abc123",
                  "website": "abc123"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "AIGatewayKeyVerification": {
        "type": "object",
        "properties": {
          "ok": {
            "type": "boolean",
            "description": "Whether the API key is enabled.",
            "example": false
          }
        },
        "description": "AI gateway API key verification result.",
        "example": {
          "ok": false
        },
        "required": [
          "ok"
        ]
      },
      "AccountingBalance": {
        "type": "object",
        "properties": {
          "aiCreditMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "ciCreditMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "hardMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "hasUnpricedUsage": {
            "type": "boolean",
            "example": false
          },
          "insolvent": {
            "type": "boolean",
            "example": false
          },
          "pendingAiMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "pendingCiMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "pendingMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "softMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "totalMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          }
        },
        "description": "Current wallet, restricted-credit, and solvency state in integer micro-US dollars.",
        "example": {
          "aiCreditMicrousd": 1,
          "ciCreditMicrousd": 1,
          "hardMicrousd": 1,
          "hasUnpricedUsage": false,
          "insolvent": false,
          "pendingAiMicrousd": 1,
          "pendingCiMicrousd": 1,
          "pendingMicrousd": 1,
          "softMicrousd": 1,
          "totalMicrousd": 1
        },
        "required": [
          "hardMicrousd",
          "softMicrousd",
          "aiCreditMicrousd",
          "ciCreditMicrousd",
          "pendingAiMicrousd",
          "pendingCiMicrousd",
          "pendingMicrousd",
          "totalMicrousd",
          "hasUnpricedUsage",
          "insolvent"
        ]
      },
      "AccountingChartPoint": {
        "type": "object",
        "properties": {
          "aiCacheReadTokens": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "aiCacheWriteTokens": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "aiInputTokens": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "aiMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "aiOutputTokens": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "ciMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "ciMinutes": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "hasUnpricedUsage": {
            "type": "boolean",
            "example": false
          },
          "timestamp": {
            "type": "string",
            "example": "1970-01-01T00:00:01Z",
            "format": "date-time"
          },
          "totalMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          }
        },
        "example": {
          "aiCacheReadTokens": 1,
          "aiCacheWriteTokens": 1,
          "aiInputTokens": 1,
          "aiMicrousd": 1,
          "aiOutputTokens": 1,
          "ciMicrousd": 1,
          "ciMinutes": 1,
          "hasUnpricedUsage": false,
          "timestamp": "1970-01-01T00:00:01Z",
          "totalMicrousd": 1
        },
        "required": [
          "timestamp",
          "totalMicrousd",
          "aiMicrousd",
          "ciMicrousd",
          "aiInputTokens",
          "aiOutputTokens",
          "aiCacheWriteTokens",
          "aiCacheReadTokens",
          "ciMinutes",
          "hasUnpricedUsage"
        ]
      },
      "AccountingCouponRequest": {
        "type": "object",
        "properties": {
          "code": {
            "type": "string",
            "description": "Coupon code.",
            "example": "aa",
            "minLength": 1,
            "maxLength": 128
          }
        },
        "description": "Category-credit coupon redemption request.",
        "example": {
          "code": "aa"
        },
        "required": [
          "code"
        ]
      },
      "AccountingDailyCharge": {
        "type": "object",
        "properties": {
          "amountMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "category": {
            "type": "string",
            "example": "ci",
            "enum": [
              "ai",
              "ci"
            ]
          },
          "date": {
            "type": "string",
            "example": "1970-01-01",
            "format": "date"
          },
          "fundingSource": {
            "type": "string",
            "example": "soft",
            "enum": [
              "credit",
              "soft",
              "hard"
            ]
          }
        },
        "example": {
          "amountMicrousd": 1,
          "category": "ci",
          "date": "1970-01-01",
          "fundingSource": "soft"
        },
        "required": [
          "date",
          "category",
          "fundingSource",
          "amountMicrousd"
        ]
      },
      "AddOrgMemberRequestBody": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "description": "Organization role for the new member.",
            "example": "member",
            "enum": [
              "admin",
              "member"
            ]
          }
        },
        "example": {
          "role": "member"
        }
      },
      "AddRepoCollaboratorRequestBody": {
        "type": "object",
        "properties": {
          "permission": {
            "type": "string",
            "description": "One of read, write, admin.",
            "example": "abc123"
          }
        },
        "example": {
          "permission": "abc123"
        }
      },
      "AutomationTriggerInput": {
        "type": "object",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Trigger event type.",
            "example": "abc123"
          },
          "id": {
            "type": "string",
            "description": "Optional client-generated optimistic trigger id.",
            "example": "abc123"
          },
          "repositoryId": {
            "type": "string",
            "description": "Repository id.",
            "example": "abc123"
          },
          "scheduleCron": {
            "type": "string",
            "description": "Schedule cron.",
            "example": "abc123"
          }
        },
        "example": {
          "eventType": "abc123",
          "id": "abc123",
          "repositoryId": "abc123",
          "scheduleCron": "abc123"
        }
      },
      "BotInstallationInput": {
        "type": "object",
        "properties": {
          "accountKind": {
            "type": "string",
            "description": "Whether the account is a user or an org.",
            "example": "org",
            "enum": [
              "user",
              "org"
            ]
          },
          "accountLogin": {
            "type": "string",
            "description": "Forgejo owner login (user or org) to install the bot on.",
            "example": "abc123"
          }
        },
        "example": {
          "accountKind": "org",
          "accountLogin": "abc123"
        },
        "required": [
          "accountLogin",
          "accountKind"
        ]
      },
      "CIActorRef": {
        "type": "object",
        "properties": {
          "avatarUrl": {
            "type": "string",
            "description": "Profile avatar URL.",
            "example": "abc123"
          },
          "id": {
            "type": "integer",
            "description": "Immutable Forgejo user id.",
            "example": 1,
            "format": "int64"
          },
          "login": {
            "type": "string",
            "description": "Actor login.",
            "example": "aa",
            "minLength": 1
          }
        },
        "description": "Forgejo actor that dispatched a trylle-ci run.",
        "example": {
          "avatarUrl": "abc123",
          "id": 1,
          "login": "aa"
        },
        "required": [
          "login"
        ]
      },
      "CIArtifact": {
        "type": "object",
        "properties": {
          "contentType": {
            "type": "string",
            "description": "Artifact media type.",
            "example": "abc123"
          },
          "name": {
            "type": "string",
            "description": "Stable artifact key from the CI orchestrator.",
            "example": "aa",
            "minLength": 1
          },
          "path": {
            "type": "string",
            "description": "Display path for the artifact file.",
            "example": "aa",
            "minLength": 1
          },
          "sizeBytes": {
            "type": "integer",
            "description": "Artifact size in bytes.",
            "example": 1,
            "format": "int64"
          },
          "url": {
            "type": "string",
            "description": "Download URL exposed through the artifact gateway.",
            "example": "aa",
            "minLength": 1
          }
        },
        "description": "Archived trylle-ci log or artifact object.",
        "example": {
          "contentType": "abc123",
          "name": "aa",
          "path": "aa",
          "sizeBytes": 1,
          "url": "aa"
        },
        "required": [
          "name",
          "path",
          "url",
          "sizeBytes"
        ]
      },
      "CIJob": {
        "type": "object",
        "properties": {
          "artifactUrls": {
            "type": "object",
            "description": "Archived log and artifact URLs.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "artifacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CIArtifact"
            },
            "description": "Archived logs and artifacts with display paths and sizes.",
            "example": [
              {
                "contentType": "abc123",
                "name": "aa",
                "path": "aa",
                "sizeBytes": 1,
                "url": "aa"
              }
            ]
          },
          "createdAt": {
            "type": "string",
            "description": "RFC3339 creation timestamp.",
            "example": "abc123"
          },
          "error": {
            "type": "string",
            "description": "Error code or message when the job failed.",
            "example": "abc123"
          },
          "exitCode": {
            "type": "integer",
            "description": "Process exit code when available.",
            "example": 1,
            "format": "int64"
          },
          "finishedAt": {
            "type": "string",
            "description": "RFC3339 finish timestamp.",
            "example": "abc123"
          },
          "idempotencyKey": {
            "type": "string",
            "description": "Caller-supplied dedupe key.",
            "example": "abc123"
          },
          "outputs": {
            "type": "object",
            "description": "Captured step or job outputs.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "request": {
            "$ref": "#/components/schemas/CIJobRequest"
          },
          "runId": {
            "type": "string",
            "description": "CI job run id.",
            "example": "aa",
            "minLength": 1
          },
          "runnerArch": {
            "type": "string",
            "description": "Resolved runner architecture for the sandbox job.",
            "example": "abc123"
          },
          "sandboxId": {
            "type": "string",
            "description": "E2B/Cube sandbox id.",
            "example": "abc123"
          },
          "startedAt": {
            "type": "string",
            "description": "RFC3339 start timestamp.",
            "example": "abc123"
          },
          "status": {
            "type": "string",
            "description": "trylle-ci job or workflow status.",
            "example": "running",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed",
              "skipped",
              "cancelled"
            ]
          },
          "updatedAt": {
            "type": "string",
            "description": "RFC3339 update timestamp.",
            "example": "abc123"
          },
          "usage": {
            "$ref": "#/components/schemas/CIUsage"
          }
        },
        "description": "trylle-ci sandbox job.",
        "example": {
          "artifactUrls": {
            "abc123": "abc123"
          },
          "artifacts": [
            {
              "contentType": "abc123",
              "name": "aa",
              "path": "aa",
              "sizeBytes": 1,
              "url": "aa"
            }
          ],
          "createdAt": "abc123",
          "error": "abc123",
          "exitCode": 1,
          "finishedAt": "abc123",
          "idempotencyKey": "abc123",
          "outputs": {
            "abc123": "abc123"
          },
          "request": {
            "actor": {
              "avatarUrl": "abc123",
              "id": 1,
              "login": "aa"
            },
            "artifactPaths": [
              "abc123"
            ],
            "env": {
              "abc123": "abc123"
            },
            "eventName": "aa",
            "eventPayload": "abc123",
            "idempotencyKey": "abc123",
            "jobId": "abc123",
            "matrix": {
              "abc123": "abc123"
            },
            "ref": "abc123",
            "refType": "tag",
            "repository": {
              "cloneUrl": "abc123",
              "defaultBranch": "abc123",
              "id": "abc123",
              "name": "aa",
              "owner": "aa"
            },
            "runnerArch": "abc123",
            "sha": "abc123",
            "templateId": "abc123",
            "timeoutSeconds": 1,
            "workflowContent": "abc123",
            "workflowFiles": {
              "abc123": "abc123"
            },
            "workflowInputs": {
              "abc123": "abc123"
            },
            "workflowPath": "aa"
          },
          "runId": "aa",
          "runnerArch": "abc123",
          "sandboxId": "abc123",
          "startedAt": "abc123",
          "status": "running",
          "updatedAt": "abc123",
          "usage": {
            "archiveBytes": 1,
            "artifactBytes": 1,
            "cancelledCount": 1,
            "failedCount": 1,
            "jobCount": 1,
            "logBytes": 1,
            "queueSeconds": 1,
            "queuedCount": 1,
            "runningCount": 1,
            "sandboxSeconds": 1,
            "skippedCount": 1,
            "succeededCount": 1,
            "wallClockSeconds": 1
          }
        },
        "required": [
          "runId",
          "status",
          "request",
          "createdAt",
          "updatedAt"
        ]
      },
      "CIJobList": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Number of returned jobs.",
            "example": 1,
            "format": "int64"
          },
          "jobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CIJob"
            },
            "description": "Jobs in reverse update order.",
            "example": [
              {
                "artifactUrls": {
                  "abc123": "abc123"
                },
                "artifacts": [
                  {
                    "contentType": "abc123",
                    "name": "aa",
                    "path": "aa",
                    "sizeBytes": 1,
                    "url": "aa"
                  }
                ],
                "createdAt": "abc123",
                "error": "abc123",
                "exitCode": 1,
                "finishedAt": "abc123",
                "idempotencyKey": "abc123",
                "outputs": {
                  "abc123": "abc123"
                },
                "request": {
                  "actor": {
                    "avatarUrl": "abc123",
                    "id": 1,
                    "login": "aa"
                  },
                  "artifactPaths": [
                    "abc123"
                  ],
                  "env": {
                    "abc123": "abc123"
                  },
                  "eventName": "aa",
                  "eventPayload": "abc123",
                  "idempotencyKey": "abc123",
                  "jobId": "abc123",
                  "matrix": {
                    "abc123": "abc123"
                  },
                  "ref": "abc123",
                  "refType": "tag",
                  "repository": {
                    "cloneUrl": "abc123",
                    "defaultBranch": "abc123",
                    "id": "abc123",
                    "name": "aa",
                    "owner": "aa"
                  },
                  "runnerArch": "abc123",
                  "sha": "abc123",
                  "templateId": "abc123",
                  "timeoutSeconds": 1,
                  "workflowContent": "abc123",
                  "workflowFiles": {
                    "abc123": "abc123"
                  },
                  "workflowInputs": {
                    "abc123": "abc123"
                  },
                  "workflowPath": "aa"
                },
                "runId": "aa",
                "runnerArch": "abc123",
                "sandboxId": "abc123",
                "startedAt": "abc123",
                "status": "running",
                "updatedAt": "abc123",
                "usage": {
                  "archiveBytes": 1,
                  "artifactBytes": 1,
                  "cancelledCount": 1,
                  "failedCount": 1,
                  "jobCount": 1,
                  "logBytes": 1,
                  "queueSeconds": 1,
                  "queuedCount": 1,
                  "runningCount": 1,
                  "sandboxSeconds": 1,
                  "skippedCount": 1,
                  "succeededCount": 1,
                  "wallClockSeconds": 1
                }
              }
            ]
          }
        },
        "description": "Paginated trylle-ci job list.",
        "example": {
          "count": 1,
          "jobs": [
            {
              "artifactUrls": {
                "abc123": "abc123"
              },
              "artifacts": [
                {
                  "contentType": "abc123",
                  "name": "aa",
                  "path": "aa",
                  "sizeBytes": 1,
                  "url": "aa"
                }
              ],
              "createdAt": "abc123",
              "error": "abc123",
              "exitCode": 1,
              "finishedAt": "abc123",
              "idempotencyKey": "abc123",
              "outputs": {
                "abc123": "abc123"
              },
              "request": {
                "actor": {
                  "avatarUrl": "abc123",
                  "id": 1,
                  "login": "aa"
                },
                "artifactPaths": [
                  "abc123"
                ],
                "env": {
                  "abc123": "abc123"
                },
                "eventName": "aa",
                "eventPayload": "abc123",
                "idempotencyKey": "abc123",
                "jobId": "abc123",
                "matrix": {
                  "abc123": "abc123"
                },
                "ref": "abc123",
                "refType": "tag",
                "repository": {
                  "cloneUrl": "abc123",
                  "defaultBranch": "abc123",
                  "id": "abc123",
                  "name": "aa",
                  "owner": "aa"
                },
                "runnerArch": "abc123",
                "sha": "abc123",
                "templateId": "abc123",
                "timeoutSeconds": 1,
                "workflowContent": "abc123",
                "workflowFiles": {
                  "abc123": "abc123"
                },
                "workflowInputs": {
                  "abc123": "abc123"
                },
                "workflowPath": "aa"
              },
              "runId": "aa",
              "runnerArch": "abc123",
              "sandboxId": "abc123",
              "startedAt": "abc123",
              "status": "running",
              "updatedAt": "abc123",
              "usage": {
                "archiveBytes": 1,
                "artifactBytes": 1,
                "cancelledCount": 1,
                "failedCount": 1,
                "jobCount": 1,
                "logBytes": 1,
                "queueSeconds": 1,
                "queuedCount": 1,
                "runningCount": 1,
                "sandboxSeconds": 1,
                "skippedCount": 1,
                "succeededCount": 1,
                "wallClockSeconds": 1
              }
            }
          ]
        },
        "required": [
          "jobs",
          "count"
        ]
      },
      "CIJobLogs": {
        "type": "object",
        "properties": {
          "actionLogs": {
            "type": "object",
            "description": "Current GitHub Actions task and feed log snapshots keyed by log id.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "artifactUrls": {
            "type": "object",
            "description": "Archived log and artifact URLs.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "artifacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CIArtifact"
            },
            "description": "Archived logs and artifacts with display paths and sizes.",
            "example": [
              {
                "contentType": "abc123",
                "name": "aa",
                "path": "aa",
                "sizeBytes": 1,
                "url": "aa"
              }
            ]
          },
          "done": {
            "type": "boolean",
            "description": "Whether the job has finished.",
            "example": false
          },
          "error": {
            "type": "string",
            "description": "Error code or message when the job failed.",
            "example": "abc123"
          },
          "hydrationPending": {
            "type": "boolean",
            "description": "Whether action logs are still being hydrated or reconciled asynchronously.",
            "example": false
          },
          "runId": {
            "type": "string",
            "description": "CI job run id.",
            "example": "aa",
            "minLength": 1
          },
          "status": {
            "type": "string",
            "description": "trylle-ci job or workflow status.",
            "example": "running",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed",
              "skipped",
              "cancelled"
            ]
          },
          "stderr": {
            "type": "string",
            "description": "Stderr snapshot.",
            "example": "abc123"
          },
          "stdout": {
            "type": "string",
            "description": "Stdout snapshot.",
            "example": "abc123"
          },
          "updatedAt": {
            "type": "string",
            "description": "RFC3339 update timestamp.",
            "example": "abc123"
          },
          "usage": {
            "$ref": "#/components/schemas/CIUsage"
          }
        },
        "description": "trylle-ci stdout/stderr snapshot and archived log URLs.",
        "example": {
          "actionLogs": {
            "abc123": "abc123"
          },
          "artifactUrls": {
            "abc123": "abc123"
          },
          "artifacts": [
            {
              "contentType": "abc123",
              "name": "aa",
              "path": "aa",
              "sizeBytes": 1,
              "url": "aa"
            }
          ],
          "done": false,
          "error": "abc123",
          "hydrationPending": false,
          "runId": "aa",
          "status": "running",
          "stderr": "abc123",
          "stdout": "abc123",
          "updatedAt": "abc123",
          "usage": {
            "archiveBytes": 1,
            "artifactBytes": 1,
            "cancelledCount": 1,
            "failedCount": 1,
            "jobCount": 1,
            "logBytes": 1,
            "queueSeconds": 1,
            "queuedCount": 1,
            "runningCount": 1,
            "sandboxSeconds": 1,
            "skippedCount": 1,
            "succeededCount": 1,
            "wallClockSeconds": 1
          }
        },
        "required": [
          "runId",
          "status",
          "stdout",
          "stderr",
          "done",
          "hydrationPending",
          "updatedAt"
        ]
      },
      "CIJobRequest": {
        "type": "object",
        "properties": {
          "actor": {
            "$ref": "#/components/schemas/CIActorRef"
          },
          "artifactPaths": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Sandbox file or directory paths archived after completion.",
            "example": [
              "abc123"
            ]
          },
          "env": {
            "type": "object",
            "description": "Extra sandbox environment variables.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "eventName": {
            "type": "string",
            "description": "GitHub Actions event name.",
            "example": "aa",
            "minLength": 1
          },
          "eventPayload": {
            "description": "Event payload exposed to the runner.",
            "example": "abc123"
          },
          "idempotencyKey": {
            "type": "string",
            "description": "Caller-supplied dedupe key.",
            "example": "abc123"
          },
          "jobId": {
            "type": "string",
            "description": "Workflow jobs.<id> selected for this sandbox.",
            "example": "abc123"
          },
          "matrix": {
            "type": "object",
            "description": "Matrix shard context.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "ref": {
            "type": "string",
            "description": "Git ref for the run.",
            "example": "abc123"
          },
          "refType": {
            "type": "string",
            "description": "Git ref kind for a CI run.",
            "example": "tag",
            "enum": [
              "branch",
              "tag"
            ]
          },
          "repository": {
            "$ref": "#/components/schemas/CIRepositoryInput"
          },
          "runnerArch": {
            "type": "string",
            "description": "Resolved runner architecture for the sandbox job.",
            "example": "abc123"
          },
          "sha": {
            "type": "string",
            "description": "Git commit SHA for the run.",
            "example": "abc123"
          },
          "templateId": {
            "type": "string",
            "description": "E2B/Cube template id.",
            "example": "abc123"
          },
          "timeoutSeconds": {
            "type": "integer",
            "description": "Sandbox timeout in seconds.",
            "example": 1,
            "format": "int64"
          },
          "workflowContent": {
            "type": "string",
            "description": "Raw workflow YAML used for the run.",
            "example": "abc123"
          },
          "workflowFiles": {
            "type": "object",
            "description": "Workflow files available to resolve local reusable workflows.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "workflowInputs": {
            "type": "object",
            "description": "workflow_call inputs supplied to this sandbox job.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "workflowPath": {
            "type": "string",
            "description": "Workflow YAML path.",
            "example": "aa",
            "minLength": 1
          }
        },
        "description": "Request snapshot stored on a trylle-ci job.",
        "example": {
          "actor": {
            "avatarUrl": "abc123",
            "id": 1,
            "login": "aa"
          },
          "artifactPaths": [
            "abc123"
          ],
          "env": {
            "abc123": "abc123"
          },
          "eventName": "aa",
          "eventPayload": "abc123",
          "idempotencyKey": "abc123",
          "jobId": "abc123",
          "matrix": {
            "abc123": "abc123"
          },
          "ref": "abc123",
          "refType": "tag",
          "repository": {
            "cloneUrl": "abc123",
            "defaultBranch": "abc123",
            "id": "abc123",
            "name": "aa",
            "owner": "aa"
          },
          "runnerArch": "abc123",
          "sha": "abc123",
          "templateId": "abc123",
          "timeoutSeconds": 1,
          "workflowContent": "abc123",
          "workflowFiles": {
            "abc123": "abc123"
          },
          "workflowInputs": {
            "abc123": "abc123"
          },
          "workflowPath": "aa"
        },
        "required": [
          "repository",
          "workflowPath",
          "eventName"
        ]
      },
      "CIRepositoryInput": {
        "type": "object",
        "properties": {
          "cloneUrl": {
            "type": "string",
            "description": "HTTP clone URL visible to the sandbox.",
            "example": "abc123"
          },
          "defaultBranch": {
            "type": "string",
            "description": "Default branch name.",
            "example": "abc123"
          },
          "id": {
            "type": "string",
            "description": "Platform repository id.",
            "example": "abc123"
          },
          "name": {
            "type": "string",
            "description": "Repository name.",
            "example": "aa",
            "minLength": 1
          },
          "owner": {
            "type": "string",
            "description": "Repository owner login.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "cloneUrl": "abc123",
          "defaultBranch": "abc123",
          "id": "abc123",
          "name": "aa",
          "owner": "aa"
        },
        "required": [
          "owner",
          "name"
        ]
      },
      "CIUsage": {
        "type": "object",
        "properties": {
          "archiveBytes": {
            "type": "integer",
            "description": "Bytes sent to archival storage by trylle-ci.",
            "example": 1,
            "format": "int64"
          },
          "artifactBytes": {
            "type": "integer",
            "description": "Explicit artifact bytes collected from the sandbox.",
            "example": 1,
            "format": "int64"
          },
          "cancelledCount": {
            "type": "integer",
            "description": "Number of cancelled sandbox jobs included in this usage summary.",
            "example": 1,
            "format": "int64"
          },
          "failedCount": {
            "type": "integer",
            "description": "Number of failed sandbox jobs included in this usage summary.",
            "example": 1,
            "format": "int64"
          },
          "jobCount": {
            "type": "integer",
            "description": "Number of sandbox jobs included in this usage summary.",
            "example": 1,
            "format": "int64"
          },
          "logBytes": {
            "type": "integer",
            "description": "Captured stdout, stderr, and Actions log snapshot bytes.",
            "example": 1,
            "format": "int64"
          },
          "queueSeconds": {
            "type": "integer",
            "description": "Seconds spent queued before sandbox execution.",
            "example": 1,
            "format": "int64"
          },
          "queuedCount": {
            "type": "integer",
            "description": "Number of queued sandbox jobs included in this usage summary.",
            "example": 1,
            "format": "int64"
          },
          "runningCount": {
            "type": "integer",
            "description": "Number of running sandbox jobs included in this usage summary.",
            "example": 1,
            "format": "int64"
          },
          "sandboxSeconds": {
            "type": "integer",
            "description": "Sandbox execution seconds. Workflow runs aggregate child jobs.",
            "example": 1,
            "format": "int64"
          },
          "skippedCount": {
            "type": "integer",
            "description": "Number of skipped sandbox jobs included in this usage summary.",
            "example": 1,
            "format": "int64"
          },
          "succeededCount": {
            "type": "integer",
            "description": "Number of succeeded sandbox jobs included in this usage summary.",
            "example": 1,
            "format": "int64"
          },
          "wallClockSeconds": {
            "type": "integer",
            "description": "Elapsed wall-clock seconds for the job or workflow.",
            "example": 1,
            "format": "int64"
          }
        },
        "description": "Measured trylle-ci usage for billing, quotas, and run diagnostics.",
        "example": {
          "archiveBytes": 1,
          "artifactBytes": 1,
          "cancelledCount": 1,
          "failedCount": 1,
          "jobCount": 1,
          "logBytes": 1,
          "queueSeconds": 1,
          "queuedCount": 1,
          "runningCount": 1,
          "sandboxSeconds": 1,
          "skippedCount": 1,
          "succeededCount": 1,
          "wallClockSeconds": 1
        }
      },
      "CIWorkflowRun": {
        "type": "object",
        "properties": {
          "createdAt": {
            "type": "string",
            "description": "RFC3339 creation timestamp.",
            "example": "abc123"
          },
          "error": {
            "type": "string",
            "description": "Error code or message when the workflow failed.",
            "example": "abc123"
          },
          "finishedAt": {
            "type": "string",
            "description": "RFC3339 finish timestamp.",
            "example": "abc123"
          },
          "idempotencyKey": {
            "type": "string",
            "description": "Caller-supplied dedupe key.",
            "example": "abc123"
          },
          "jobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CIWorkflowRunJob"
            },
            "description": "Child jobs.",
            "example": [
              {
                "artifactUrls": {
                  "abc123": "abc123"
                },
                "artifacts": [
                  {
                    "contentType": "abc123",
                    "name": "aa",
                    "path": "aa",
                    "sizeBytes": 1,
                    "url": "aa"
                  }
                ],
                "error": "abc123",
                "exitCode": 1,
                "finishedAt": "abc123",
                "if": "abc123",
                "jobId": "aa",
                "key": "aa",
                "matrix": {
                  "abc123": "abc123"
                },
                "name": "abc123",
                "needs": [
                  "abc123"
                ],
                "outputs": {
                  "abc123": "abc123"
                },
                "runId": "aa",
                "runnerArch": "abc123",
                "sandboxId": "abc123",
                "startedAt": "abc123",
                "status": "running",
                "usage": {
                  "archiveBytes": 1,
                  "artifactBytes": 1,
                  "cancelledCount": 1,
                  "failedCount": 1,
                  "jobCount": 1,
                  "logBytes": 1,
                  "queueSeconds": 1,
                  "queuedCount": 1,
                  "runningCount": 1,
                  "sandboxSeconds": 1,
                  "skippedCount": 1,
                  "succeededCount": 1,
                  "wallClockSeconds": 1
                }
              }
            ]
          },
          "request": {
            "$ref": "#/components/schemas/CIWorkflowRunRequest"
          },
          "startedAt": {
            "type": "string",
            "description": "RFC3339 start timestamp.",
            "example": "abc123"
          },
          "status": {
            "type": "string",
            "description": "trylle-ci job or workflow status.",
            "example": "running",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed",
              "skipped",
              "cancelled"
            ]
          },
          "updatedAt": {
            "type": "string",
            "description": "RFC3339 update timestamp.",
            "example": "abc123"
          },
          "usage": {
            "$ref": "#/components/schemas/CIUsage"
          },
          "workflowRunId": {
            "type": "string",
            "description": "Workflow run id.",
            "example": "aa",
            "minLength": 1
          }
        },
        "description": "trylle-ci workflow run.",
        "example": {
          "createdAt": "abc123",
          "error": "abc123",
          "finishedAt": "abc123",
          "idempotencyKey": "abc123",
          "jobs": [
            {
              "artifactUrls": {
                "abc123": "abc123"
              },
              "artifacts": [
                {
                  "contentType": "abc123",
                  "name": "aa",
                  "path": "aa",
                  "sizeBytes": 1,
                  "url": "aa"
                }
              ],
              "error": "abc123",
              "exitCode": 1,
              "finishedAt": "abc123",
              "if": "abc123",
              "jobId": "aa",
              "key": "aa",
              "matrix": {
                "abc123": "abc123"
              },
              "name": "abc123",
              "needs": [
                "abc123"
              ],
              "outputs": {
                "abc123": "abc123"
              },
              "runId": "aa",
              "runnerArch": "abc123",
              "sandboxId": "abc123",
              "startedAt": "abc123",
              "status": "running",
              "usage": {
                "archiveBytes": 1,
                "artifactBytes": 1,
                "cancelledCount": 1,
                "failedCount": 1,
                "jobCount": 1,
                "logBytes": 1,
                "queueSeconds": 1,
                "queuedCount": 1,
                "runningCount": 1,
                "sandboxSeconds": 1,
                "skippedCount": 1,
                "succeededCount": 1,
                "wallClockSeconds": 1
              }
            }
          ],
          "request": {
            "actor": {
              "avatarUrl": "abc123",
              "id": 1,
              "login": "aa"
            },
            "artifactPaths": [
              "abc123"
            ],
            "env": {
              "abc123": "abc123"
            },
            "eventName": "aa",
            "eventPayload": "abc123",
            "idempotencyKey": "abc123",
            "ref": "abc123",
            "refType": "tag",
            "repository": {
              "cloneUrl": "abc123",
              "defaultBranch": "abc123",
              "id": "abc123",
              "name": "aa",
              "owner": "aa"
            },
            "sha": "abc123",
            "templateId": "abc123",
            "timeoutSeconds": 1,
            "workflowContent": "abc123",
            "workflowFiles": {
              "abc123": "abc123"
            },
            "workflowInputs": {
              "abc123": "abc123"
            },
            "workflowPath": "aa"
          },
          "startedAt": "abc123",
          "status": "running",
          "updatedAt": "abc123",
          "usage": {
            "archiveBytes": 1,
            "artifactBytes": 1,
            "cancelledCount": 1,
            "failedCount": 1,
            "jobCount": 1,
            "logBytes": 1,
            "queueSeconds": 1,
            "queuedCount": 1,
            "runningCount": 1,
            "sandboxSeconds": 1,
            "skippedCount": 1,
            "succeededCount": 1,
            "wallClockSeconds": 1
          },
          "workflowRunId": "aa"
        },
        "required": [
          "workflowRunId",
          "status",
          "request",
          "createdAt",
          "updatedAt"
        ]
      },
      "CIWorkflowRunJob": {
        "type": "object",
        "properties": {
          "artifactUrls": {
            "type": "object",
            "description": "Archived log and artifact URLs.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "artifacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CIArtifact"
            },
            "description": "Archived logs and artifacts with display paths and sizes.",
            "example": [
              {
                "contentType": "abc123",
                "name": "aa",
                "path": "aa",
                "sizeBytes": 1,
                "url": "aa"
              }
            ]
          },
          "error": {
            "type": "string",
            "description": "Error code or message when the job failed.",
            "example": "abc123"
          },
          "exitCode": {
            "type": "integer",
            "description": "Process exit code when available.",
            "example": 1,
            "format": "int64"
          },
          "finishedAt": {
            "type": "string",
            "description": "RFC3339 finish timestamp.",
            "example": "abc123"
          },
          "if": {
            "type": "string",
            "description": "Workflow job condition.",
            "example": "abc123"
          },
          "jobId": {
            "type": "string",
            "description": "Workflow jobs.<id>.",
            "example": "aa",
            "minLength": 1
          },
          "key": {
            "type": "string",
            "description": "Unique planned job key, including matrix index when present.",
            "example": "aa",
            "minLength": 1
          },
          "matrix": {
            "type": "object",
            "description": "Matrix shard context.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "name": {
            "type": "string",
            "description": "Resolved workflow job display name, falling back to the workflow job id.",
            "example": "abc123"
          },
          "needs": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Upstream workflow job ids.",
            "example": [
              "abc123"
            ]
          },
          "outputs": {
            "type": "object",
            "description": "Captured step or job outputs.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "runId": {
            "type": "string",
            "description": "Child CI job run id.",
            "example": "aa",
            "minLength": 1
          },
          "runnerArch": {
            "type": "string",
            "description": "Resolved runner architecture for this child sandbox job.",
            "example": "abc123"
          },
          "sandboxId": {
            "type": "string",
            "description": "E2B/Cube sandbox id.",
            "example": "abc123"
          },
          "startedAt": {
            "type": "string",
            "description": "RFC3339 start timestamp.",
            "example": "abc123"
          },
          "status": {
            "type": "string",
            "description": "trylle-ci job or workflow status.",
            "example": "running",
            "enum": [
              "queued",
              "running",
              "succeeded",
              "failed",
              "skipped",
              "cancelled"
            ]
          },
          "usage": {
            "$ref": "#/components/schemas/CIUsage"
          }
        },
        "description": "A child job inside a trylle-ci workflow run.",
        "example": {
          "artifactUrls": {
            "abc123": "abc123"
          },
          "artifacts": [
            {
              "contentType": "abc123",
              "name": "aa",
              "path": "aa",
              "sizeBytes": 1,
              "url": "aa"
            }
          ],
          "error": "abc123",
          "exitCode": 1,
          "finishedAt": "abc123",
          "if": "abc123",
          "jobId": "aa",
          "key": "aa",
          "matrix": {
            "abc123": "abc123"
          },
          "name": "abc123",
          "needs": [
            "abc123"
          ],
          "outputs": {
            "abc123": "abc123"
          },
          "runId": "aa",
          "runnerArch": "abc123",
          "sandboxId": "abc123",
          "startedAt": "abc123",
          "status": "running",
          "usage": {
            "archiveBytes": 1,
            "artifactBytes": 1,
            "cancelledCount": 1,
            "failedCount": 1,
            "jobCount": 1,
            "logBytes": 1,
            "queueSeconds": 1,
            "queuedCount": 1,
            "runningCount": 1,
            "sandboxSeconds": 1,
            "skippedCount": 1,
            "succeededCount": 1,
            "wallClockSeconds": 1
          }
        },
        "required": [
          "key",
          "jobId",
          "runId",
          "status"
        ]
      },
      "CIWorkflowRunRequest": {
        "type": "object",
        "properties": {
          "actor": {
            "$ref": "#/components/schemas/CIActorRef"
          },
          "artifactPaths": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Sandbox file or directory paths archived after completion.",
            "example": [
              "abc123"
            ]
          },
          "env": {
            "type": "object",
            "description": "Extra sandbox environment variables.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "eventName": {
            "type": "string",
            "description": "GitHub Actions event name.",
            "example": "aa",
            "minLength": 1
          },
          "eventPayload": {
            "description": "Event payload exposed to the runner.",
            "example": "abc123"
          },
          "idempotencyKey": {
            "type": "string",
            "description": "Caller-supplied dedupe key.",
            "example": "abc123"
          },
          "ref": {
            "type": "string",
            "description": "Git ref for the run.",
            "example": "abc123"
          },
          "refType": {
            "type": "string",
            "description": "Git ref kind for a CI run.",
            "example": "tag",
            "enum": [
              "branch",
              "tag"
            ]
          },
          "repository": {
            "$ref": "#/components/schemas/CIRepositoryInput"
          },
          "sha": {
            "type": "string",
            "description": "Git commit SHA for the run.",
            "example": "abc123"
          },
          "templateId": {
            "type": "string",
            "description": "E2B/Cube template id.",
            "example": "abc123"
          },
          "timeoutSeconds": {
            "type": "integer",
            "description": "Sandbox timeout in seconds.",
            "example": 1,
            "format": "int64"
          },
          "workflowContent": {
            "type": "string",
            "description": "Raw workflow YAML used for the run.",
            "example": "abc123"
          },
          "workflowFiles": {
            "type": "object",
            "description": "Workflow files available to resolve local reusable workflows.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "workflowInputs": {
            "type": "object",
            "description": "Workflow dispatch inputs supplied to top-level sandbox jobs.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "workflowPath": {
            "type": "string",
            "description": "Workflow YAML path.",
            "example": "aa",
            "minLength": 1
          }
        },
        "description": "Request snapshot stored on a trylle-ci workflow run.",
        "example": {
          "actor": {
            "avatarUrl": "abc123",
            "id": 1,
            "login": "aa"
          },
          "artifactPaths": [
            "abc123"
          ],
          "env": {
            "abc123": "abc123"
          },
          "eventName": "aa",
          "eventPayload": "abc123",
          "idempotencyKey": "abc123",
          "ref": "abc123",
          "refType": "tag",
          "repository": {
            "cloneUrl": "abc123",
            "defaultBranch": "abc123",
            "id": "abc123",
            "name": "aa",
            "owner": "aa"
          },
          "sha": "abc123",
          "templateId": "abc123",
          "timeoutSeconds": 1,
          "workflowContent": "abc123",
          "workflowFiles": {
            "abc123": "abc123"
          },
          "workflowInputs": {
            "abc123": "abc123"
          },
          "workflowPath": "aa"
        },
        "required": [
          "repository",
          "workflowPath",
          "eventName"
        ]
      },
      "CreateAutomationRequestBody": {
        "type": "object",
        "properties": {
          "accountKind": {
            "type": "string",
            "description": "Account kind: 'user' or 'org'.",
            "example": "org",
            "enum": [
              "user",
              "org"
            ]
          },
          "accountLogin": {
            "type": "string",
            "description": "Account (Forgejo owner login) this automation belongs to.",
            "example": "aa",
            "minLength": 1
          },
          "botId": {
            "type": "string",
            "description": "Bot id.",
            "example": "aa",
            "minLength": 1
          },
          "definition": {
            "description": "Automation definition JSON.",
            "example": "abc123"
          },
          "description": {
            "type": "string",
            "description": "Automation description.",
            "example": "abc123"
          },
          "id": {
            "type": "string",
            "description": "Optional client-generated optimistic automation id.",
            "example": "abc123"
          },
          "name": {
            "type": "string",
            "description": "Automation name.",
            "example": "aa",
            "minLength": 1
          },
          "templateId": {
            "type": "string",
            "description": "Template id.",
            "example": "abc123"
          },
          "triggers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutomationTriggerInput"
            },
            "description": "Automation triggers.",
            "example": [
              {
                "eventType": "abc123",
                "id": "abc123",
                "repositoryId": "abc123",
                "scheduleCron": "abc123"
              },
              {
                "eventType": "abc123",
                "id": "abc123",
                "repositoryId": "abc123",
                "scheduleCron": "abc123"
              }
            ],
            "minItems": 1
          }
        },
        "example": {
          "accountKind": "org",
          "accountLogin": "aa",
          "botId": "aa",
          "definition": "abc123",
          "description": "abc123",
          "id": "abc123",
          "name": "aa",
          "templateId": "abc123",
          "triggers": [
            {
              "eventType": "abc123",
              "id": "abc123",
              "repositoryId": "abc123",
              "scheduleCron": "abc123"
            },
            {
              "eventType": "abc123",
              "id": "abc123",
              "repositoryId": "abc123",
              "scheduleCron": "abc123"
            }
          ]
        },
        "required": [
          "botId",
          "name",
          "definition",
          "triggers",
          "accountLogin",
          "accountKind"
        ]
      },
      "CreateBotRequestBody": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Bot description.",
            "example": "abc123"
          },
          "id": {
            "type": "string",
            "description": "Optional client-generated optimistic bot id.",
            "example": "abc123"
          },
          "installations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BotInstallationInput"
            },
            "description": "Accounts to install this bot on at creation time. Can be empty; installations are managed separately via /v1/bots/{botId}/installations.",
            "example": [
              {
                "accountKind": "org",
                "accountLogin": "abc123"
              }
            ]
          },
          "name": {
            "type": "string",
            "description": "Bot display name.",
            "example": "aa",
            "minLength": 1
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Granted permission scopes (e.g. issues:read).",
            "example": [
              "abc123"
            ]
          },
          "slug": {
            "type": "string",
            "description": "Bot slug.",
            "example": "aa",
            "pattern": "^[a-z0-9](?:[a-z0-9-]{0,37}[a-z0-9])?$",
            "minLength": 1,
            "maxLength": 39
          }
        },
        "example": {
          "description": "abc123",
          "id": "abc123",
          "installations": [
            {
              "accountKind": "org",
              "accountLogin": "abc123"
            }
          ],
          "name": "aa",
          "scopes": [
            "abc123"
          ],
          "slug": "aa"
        },
        "required": [
          "slug",
          "name"
        ]
      },
      "CreateBranchProtectionRequestBody": {
        "type": "object",
        "properties": {
          "applyToAdmins": {
            "type": "boolean",
            "example": false
          },
          "approvalsWhitelistUsernames": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "example": [
              "abc123"
            ]
          },
          "blockOnOfficialReviewRequests": {
            "type": "boolean",
            "example": false
          },
          "blockOnOutdatedBranch": {
            "type": "boolean",
            "example": false
          },
          "blockOnRejectedReviews": {
            "type": "boolean",
            "example": false
          },
          "branchName": {
            "type": "string",
            "description": "Branch name (literal name only — patterns not yet supported).",
            "example": "aa",
            "minLength": 1
          },
          "dismissStaleApprovals": {
            "type": "boolean",
            "example": false
          },
          "enableApprovalsWhitelist": {
            "type": "boolean",
            "example": false
          },
          "enableMergeWhitelist": {
            "type": "boolean",
            "example": false
          },
          "enablePush": {
            "type": "boolean",
            "description": "If true, direct pushes are allowed for whitelisted users.",
            "example": false
          },
          "enablePushWhitelist": {
            "type": "boolean",
            "example": false
          },
          "enableStatusCheck": {
            "type": "boolean",
            "example": false
          },
          "ignoreStaleApprovals": {
            "type": "boolean",
            "example": false
          },
          "mergeWhitelistUsernames": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "example": [
              "abc123"
            ]
          },
          "protectedFilePatterns": {
            "type": "string",
            "example": "abc123"
          },
          "pushWhitelistDeployKeys": {
            "type": "boolean",
            "example": false
          },
          "pushWhitelistUsernames": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "example": [
              "abc123"
            ]
          },
          "requireSignedCommits": {
            "type": "boolean",
            "example": false
          },
          "requiredApprovals": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "ruleName": {
            "type": "string",
            "description": "Display name for the rule.",
            "example": "abc123"
          },
          "statusCheckContexts": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "example": [
              "abc123"
            ]
          },
          "unprotectedFilePatterns": {
            "type": "string",
            "example": "abc123"
          }
        },
        "example": {
          "applyToAdmins": false,
          "approvalsWhitelistUsernames": [
            "abc123"
          ],
          "blockOnOfficialReviewRequests": false,
          "blockOnOutdatedBranch": false,
          "blockOnRejectedReviews": false,
          "branchName": "aa",
          "dismissStaleApprovals": false,
          "enableApprovalsWhitelist": false,
          "enableMergeWhitelist": false,
          "enablePush": false,
          "enablePushWhitelist": false,
          "enableStatusCheck": false,
          "ignoreStaleApprovals": false,
          "mergeWhitelistUsernames": [
            "abc123"
          ],
          "protectedFilePatterns": "abc123",
          "pushWhitelistDeployKeys": false,
          "pushWhitelistUsernames": [
            "abc123"
          ],
          "requireSignedCommits": false,
          "requiredApprovals": 1,
          "ruleName": "abc123",
          "statusCheckContexts": [
            "abc123"
          ],
          "unprotectedFilePatterns": "abc123"
        },
        "required": [
          "branchName"
        ]
      },
      "CreateCIJobRequestBody": {
        "type": "object",
        "properties": {
          "artifactPaths": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Sandbox file or directory paths to snapshot and archive after the run.",
            "example": [
              "abc123"
            ]
          },
          "env": {
            "type": "object",
            "description": "Extra environment variables passed to the sandbox.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "eventName": {
            "type": "string",
            "description": "GitHub Actions event name, e.g. push or workflow_dispatch.",
            "example": "aa",
            "minLength": 1
          },
          "eventPayload": {
            "description": "Event payload exposed to the runner.",
            "example": "abc123"
          },
          "idempotencyKey": {
            "type": "string",
            "description": "Optional caller-supplied dedupe key.",
            "example": "abc123"
          },
          "jobId": {
            "type": "string",
            "description": "Optional workflow jobs.<id> to run. Defaults to the first job in workflow order.",
            "example": "aa",
            "minLength": 1
          },
          "matrix": {
            "type": "object",
            "description": "Matrix context for a single matrix job shard.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "ref": {
            "type": "string",
            "description": "Git ref for the run.",
            "example": "abc123"
          },
          "refType": {
            "type": "string",
            "description": "Git ref kind for the run when ref is supplied.",
            "example": "tag",
            "enum": [
              "branch",
              "tag"
            ]
          },
          "repository": {
            "$ref": "#/components/schemas/CIRepositoryInput"
          },
          "sha": {
            "type": "string",
            "description": "Git commit SHA for the run.",
            "example": "abc123"
          },
          "templateId": {
            "type": "string",
            "description": "Optional E2B/Cube template override.",
            "example": "abc123"
          },
          "timeoutSeconds": {
            "type": "integer",
            "description": "Sandbox lifetime and command timeout in seconds.",
            "example": 2,
            "format": "int64",
            "minimum": 1,
            "maximum": 86400
          },
          "workflowFiles": {
            "type": "object",
            "description": "Optional workflow file map keyed by repository path, used to resolve local reusable workflows.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "workflowInputs": {
            "type": "object",
            "description": "Workflow dispatch or workflow_call inputs exposed through the Actions inputs context.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "workflowPath": {
            "type": "string",
            "description": "Workflow YAML path, e.g. .github/workflows/ci.yml.",
            "example": "aa",
            "minLength": 1
          },
          "workflowYaml": {
            "type": "string",
            "description": "Optional raw workflow YAML. When omitted, platform-api loads workflowPath from the repository when possible.",
            "example": "abc123"
          }
        },
        "example": {
          "artifactPaths": [
            "abc123"
          ],
          "env": {
            "abc123": "abc123"
          },
          "eventName": "aa",
          "eventPayload": "abc123",
          "idempotencyKey": "abc123",
          "jobId": "aa",
          "matrix": {
            "abc123": "abc123"
          },
          "ref": "abc123",
          "refType": "tag",
          "repository": {
            "cloneUrl": "abc123",
            "defaultBranch": "abc123",
            "id": "abc123",
            "name": "aa",
            "owner": "aa"
          },
          "sha": "abc123",
          "templateId": "abc123",
          "timeoutSeconds": 2,
          "workflowFiles": {
            "abc123": "abc123"
          },
          "workflowInputs": {
            "abc123": "abc123"
          },
          "workflowPath": "aa",
          "workflowYaml": "abc123"
        },
        "required": [
          "repository",
          "workflowPath",
          "eventName"
        ]
      },
      "CreateCIWorkflowRunRequestBody": {
        "type": "object",
        "properties": {
          "artifactPaths": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Sandbox file or directory paths to snapshot and archive after each job.",
            "example": [
              "abc123"
            ]
          },
          "env": {
            "type": "object",
            "description": "Extra environment variables passed to each sandbox.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "eventName": {
            "type": "string",
            "description": "GitHub Actions event name, e.g. push or workflow_dispatch.",
            "example": "aa",
            "minLength": 1
          },
          "eventPayload": {
            "description": "Event payload exposed to the runner.",
            "example": "abc123"
          },
          "idempotencyKey": {
            "type": "string",
            "description": "Optional caller-supplied dedupe key.",
            "example": "abc123"
          },
          "ref": {
            "type": "string",
            "description": "Git ref for the run.",
            "example": "abc123"
          },
          "refType": {
            "type": "string",
            "description": "Git ref kind for the run when ref is supplied.",
            "example": "tag",
            "enum": [
              "branch",
              "tag"
            ]
          },
          "repository": {
            "$ref": "#/components/schemas/CIRepositoryInput"
          },
          "sha": {
            "type": "string",
            "description": "Git commit SHA for the run.",
            "example": "abc123"
          },
          "templateId": {
            "type": "string",
            "description": "Optional E2B/Cube template override.",
            "example": "abc123"
          },
          "timeoutSeconds": {
            "type": "integer",
            "description": "Sandbox lifetime and command timeout in seconds.",
            "example": 2,
            "format": "int64",
            "minimum": 1,
            "maximum": 86400
          },
          "workflowFiles": {
            "type": "object",
            "description": "Optional workflow file map keyed by repository path, used to resolve local reusable workflows.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "workflowInputs": {
            "type": "object",
            "description": "Workflow dispatch inputs exposed through the Actions inputs context for top-level jobs.",
            "example": {
              "abc123": "abc123"
            },
            "additionalProperties": {
              "type": "string",
              "example": "abc123"
            }
          },
          "workflowPath": {
            "type": "string",
            "description": "Workflow YAML path, e.g. .github/workflows/ci.yml.",
            "example": "aa",
            "minLength": 1
          },
          "workflowYaml": {
            "type": "string",
            "description": "Optional raw workflow YAML. When omitted, platform-api loads workflowPath from the repository.",
            "example": "abc123"
          }
        },
        "example": {
          "artifactPaths": [
            "abc123"
          ],
          "env": {
            "abc123": "abc123"
          },
          "eventName": "aa",
          "eventPayload": "abc123",
          "idempotencyKey": "abc123",
          "ref": "abc123",
          "refType": "tag",
          "repository": {
            "cloneUrl": "abc123",
            "defaultBranch": "abc123",
            "id": "abc123",
            "name": "aa",
            "owner": "aa"
          },
          "sha": "abc123",
          "templateId": "abc123",
          "timeoutSeconds": 2,
          "workflowFiles": {
            "abc123": "abc123"
          },
          "workflowInputs": {
            "abc123": "abc123"
          },
          "workflowPath": "aa",
          "workflowYaml": "abc123"
        },
        "required": [
          "repository",
          "workflowPath",
          "eventName"
        ]
      },
      "CreateFileRequestBody": {
        "type": "object",
        "properties": {
          "branch": {
            "type": "string",
            "description": "Target branch.",
            "example": "abc123"
          },
          "content": {
            "type": "string",
            "description": "UTF-8 file content.",
            "example": "abc123"
          },
          "message": {
            "type": "string",
            "description": "Commit message.",
            "example": "abc123"
          },
          "path": {
            "type": "string",
            "description": "Repository path to create.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "branch": "abc123",
          "content": "abc123",
          "message": "abc123",
          "path": "aa"
        },
        "required": [
          "path"
        ]
      },
      "CreateIssueRequestBody": {
        "type": "object",
        "properties": {
          "assignees": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Assignees to apply after creation.",
            "example": [
              "abc123"
            ]
          },
          "body": {
            "type": "string",
            "description": "Issue body.",
            "example": "abc123"
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Label names to apply after creation.",
            "example": [
              "abc123"
            ]
          },
          "title": {
            "type": "string",
            "description": "Issue title.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "assignees": [
            "abc123"
          ],
          "body": "abc123",
          "labels": [
            "abc123"
          ],
          "title": "aa"
        },
        "required": [
          "title"
        ]
      },
      "CreateOrgActionsSecretRequestBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Secret name (GITHUB_ACTIONS style).",
            "example": "aa",
            "minLength": 1
          },
          "repositoryAccess": {
            "type": "string",
            "description": "Repository access scope.",
            "example": "private",
            "enum": [
              "all",
              "private",
              "selected"
            ]
          },
          "secret": {
            "type": "string",
            "description": "Secret value.",
            "example": "abc123"
          }
        },
        "example": {
          "name": "aa",
          "repositoryAccess": "private",
          "secret": "abc123"
        },
        "required": [
          "name",
          "secret"
        ]
      },
      "CreateOrgActionsVariableRequestBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Variable name (GITHUB_ACTIONS style).",
            "example": "aa",
            "minLength": 1
          },
          "repositoryAccess": {
            "type": "string",
            "description": "Repository access scope.",
            "example": "private",
            "enum": [
              "all",
              "private",
              "selected"
            ]
          },
          "value": {
            "type": "string",
            "description": "Variable value.",
            "example": "abc123"
          }
        },
        "example": {
          "name": "aa",
          "repositoryAccess": "private",
          "value": "abc123"
        },
        "required": [
          "name"
        ]
      },
      "CreateOrganizationRequestBody": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Organization description.",
            "example": "aaa",
            "maxLength": 240
          },
          "displayName": {
            "type": "string",
            "description": "Organization display name.",
            "example": "aa",
            "minLength": 1,
            "maxLength": 80
          },
          "handle": {
            "type": "string",
            "description": "Organization handle (URL slug).",
            "example": "aa",
            "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]{0,37}[A-Za-z0-9])?$",
            "minLength": 1,
            "maxLength": 39
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Whether the organization is private.",
            "example": false
          }
        },
        "example": {
          "description": "aaa",
          "displayName": "aa",
          "handle": "aa",
          "isPrivate": false
        },
        "required": [
          "handle",
          "displayName"
        ]
      },
      "CreatePullRequestBody": {
        "type": "object",
        "properties": {
          "assignees": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Assignees to apply after creation.",
            "example": [
              "abc123"
            ]
          },
          "base": {
            "type": "string",
            "description": "Base branch.",
            "example": "aa",
            "minLength": 1
          },
          "body": {
            "type": "string",
            "description": "Pull request body.",
            "example": "abc123"
          },
          "draft": {
            "type": "boolean",
            "description": "Whether the pull request is a draft.",
            "example": false
          },
          "head": {
            "type": "string",
            "description": "Head branch.",
            "example": "aa",
            "minLength": 1
          },
          "labels": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Label names to apply after creation.",
            "example": [
              "abc123"
            ]
          },
          "reviewers": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Reviewers to request after creation.",
            "example": [
              "abc123"
            ]
          },
          "teamReviewers": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Team reviewers to request after creation.",
            "example": [
              "abc123"
            ]
          },
          "team_reviewers": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Snake-case team reviewers fallback.",
            "example": [
              "abc123"
            ]
          },
          "title": {
            "type": "string",
            "description": "Pull request title.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "assignees": [
            "abc123"
          ],
          "base": "aa",
          "body": "abc123",
          "draft": false,
          "head": "aa",
          "labels": [
            "abc123"
          ],
          "reviewers": [
            "abc123"
          ],
          "teamReviewers": [
            "abc123"
          ],
          "team_reviewers": [
            "abc123"
          ],
          "title": "aa"
        },
        "required": [
          "base",
          "head",
          "title"
        ]
      },
      "CreatePullReviewRequestBody": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "description": "Review body.",
            "example": "abc123"
          },
          "comments": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PullReviewCommentInput"
            },
            "description": "Inline review comments.",
            "example": [
              {
                "body": "abc123",
                "new_position": 1,
                "old_position": 1,
                "path": "abc123"
              }
            ]
          },
          "commit_id": {
            "type": "string",
            "description": "Commit id.",
            "example": "abc123"
          },
          "event": {
            "type": "string",
            "description": "Review event.",
            "example": "abc123"
          }
        },
        "example": {
          "body": "abc123",
          "comments": [
            {
              "body": "abc123",
              "new_position": 1,
              "old_position": 1,
              "path": "abc123"
            }
          ],
          "commit_id": "abc123",
          "event": "abc123"
        }
      },
      "CreateRepoActionsSecretRequestBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Secret name (GitHub Actions style).",
            "example": "aa",
            "minLength": 1
          },
          "secret": {
            "type": "string",
            "description": "Secret value.",
            "example": "abc123"
          }
        },
        "example": {
          "name": "aa",
          "secret": "abc123"
        },
        "required": [
          "name",
          "secret"
        ]
      },
      "CreateRepoActionsVariableRequestBody": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Variable name (GitHub Actions style).",
            "example": "aa",
            "minLength": 1
          },
          "value": {
            "type": "string",
            "description": "Variable value.",
            "example": "abc123"
          }
        },
        "example": {
          "name": "aa",
          "value": "abc123"
        },
        "required": [
          "name"
        ]
      },
      "CreateRepoLabelRequest": {
        "type": "object",
        "properties": {
          "color": {
            "type": "string",
            "description": "Label color.",
            "example": "aa",
            "minLength": 1
          },
          "description": {
            "type": "string",
            "description": "Label description.",
            "example": "abc123"
          },
          "name": {
            "type": "string",
            "description": "Label name.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "color": "aa",
          "description": "abc123",
          "name": "aa"
        },
        "required": [
          "color",
          "name"
        ]
      },
      "CreateRepoReleaseRequestBody": {
        "type": "object",
        "properties": {
          "hideArchiveLinks": {
            "type": "boolean",
            "description": "Omits tarball/zip links on Forgejo.",
            "example": false
          },
          "isDraft": {
            "type": "boolean",
            "description": "Draft releases are restricted to collaborators.",
            "example": false
          },
          "isPrerelease": {
            "type": "boolean",
            "description": "Marks beta / RC style releases.",
            "example": false
          },
          "notes": {
            "type": "string",
            "description": "Release notes (Markdown); may be empty.",
            "example": "abc123"
          },
          "tagName": {
            "type": "string",
            "description": "Git tag for the release (e.g. v1.0.0).",
            "example": "aa",
            "minLength": 1
          },
          "target": {
            "type": "string",
            "description": "Commitish Forgejo attaches the tag to (repository default branch when omitted).",
            "example": "abc123"
          },
          "title": {
            "type": "string",
            "description": "Release title.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "hideArchiveLinks": false,
          "isDraft": false,
          "isPrerelease": false,
          "notes": "abc123",
          "tagName": "aa",
          "target": "abc123",
          "title": "aa"
        },
        "required": [
          "tagName",
          "title"
        ]
      },
      "CreateRepoWebhookRequestBody": {
        "type": "object",
        "properties": {
          "active": {
            "type": "boolean",
            "description": "Whether the hook is enabled.",
            "example": false
          },
          "authorizationHeader": {
            "type": "string",
            "description": "Optional Authorization header to send.",
            "example": "abc123"
          },
          "branchFilter": {
            "type": "string",
            "description": "Glob filter for branches (default: all).",
            "example": "abc123"
          },
          "contentType": {
            "type": "string",
            "description": "json or form.",
            "example": "abc123"
          },
          "events": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Event names to subscribe to (e.g. push, pull_request).",
            "example": [
              "abc123"
            ]
          },
          "secret": {
            "type": "string",
            "description": "Secret used to sign payloads.",
            "example": "abc123"
          },
          "type": {
            "type": "string",
            "description": "Hook type (gitea, slack, discord, etc.). Defaults to gitea.",
            "example": "abc123"
          },
          "url": {
            "type": "string",
            "description": "Payload delivery URL.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "active": false,
          "authorizationHeader": "abc123",
          "branchFilter": "abc123",
          "contentType": "abc123",
          "events": [
            "abc123"
          ],
          "secret": "abc123",
          "type": "abc123",
          "url": "aa"
        },
        "required": [
          "url"
        ]
      },
      "CreateRepositoryRequestBody": {
        "type": "object",
        "properties": {
          "autoInit": {
            "type": "boolean",
            "description": "Whether to initialize the repository.",
            "example": false
          },
          "defaultBranch": {
            "type": "string",
            "description": "Initial default branch.",
            "example": "abc123"
          },
          "description": {
            "type": "string",
            "description": "Repository description.",
            "example": "abc123"
          },
          "name": {
            "type": "string",
            "description": "Repository name.",
            "example": "aa",
            "minLength": 1
          },
          "owner": {
            "type": "string",
            "description": "Owner handle. Defaults to the authenticated viewer; may also be an organization the viewer is a member of.",
            "example": "abc123"
          },
          "private": {
            "type": "boolean",
            "description": "Whether the repository is private.",
            "example": false
          },
          "workspaceId": {
            "type": "string",
            "description": "Workspace id. Defaults to DEFAULT_WORKSPACE_ID when omitted.",
            "example": "abc123"
          }
        },
        "example": {
          "autoInit": false,
          "defaultBranch": "abc123",
          "description": "abc123",
          "name": "aa",
          "owner": "abc123",
          "private": false,
          "workspaceId": "abc123"
        },
        "required": [
          "name"
        ]
      },
      "CreateViewerGPGKeyRequestBody": {
        "type": "object",
        "properties": {
          "armoredPublicKey": {
            "type": "string",
            "description": "ASCII-armored GPG public key block.",
            "example": "aa",
            "minLength": 1,
            "maxLength": 16384
          },
          "armoredSignature": {
            "type": "string",
            "description": "Optional ASCII-armored signature of the verification token.",
            "example": "aaa",
            "maxLength": 16384
          }
        },
        "example": {
          "armoredPublicKey": "aa",
          "armoredSignature": "aaa"
        },
        "required": [
          "armoredPublicKey"
        ]
      },
      "CreateViewerSSHKeyRequestBody": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "Public key content (OpenSSH or SSH2 format).",
            "example": "aa",
            "minLength": 1,
            "maxLength": 8192
          },
          "title": {
            "type": "string",
            "description": "Display name for the key.",
            "example": "aa",
            "minLength": 1,
            "maxLength": 50
          }
        },
        "example": {
          "key": "aa",
          "title": "aa"
        },
        "required": [
          "title",
          "key"
        ]
      },
      "DismissPullReviewRequestBody": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Dismissal message. Defaults to Dismissed via Trylle.",
            "example": "abc123"
          },
          "priors": {
            "type": "boolean",
            "description": "Whether to dismiss prior reviews.",
            "example": false
          }
        },
        "example": {
          "message": "abc123",
          "priors": false
        }
      },
      "EditBranchProtectionRequestBody": {
        "type": "object",
        "properties": {
          "applyToAdmins": {
            "type": "boolean",
            "example": false
          },
          "approvalsWhitelistUsernames": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "example": [
              "abc123"
            ]
          },
          "blockOnOfficialReviewRequests": {
            "type": "boolean",
            "example": false
          },
          "blockOnOutdatedBranch": {
            "type": "boolean",
            "example": false
          },
          "blockOnRejectedReviews": {
            "type": "boolean",
            "example": false
          },
          "dismissStaleApprovals": {
            "type": "boolean",
            "example": false
          },
          "enableApprovalsWhitelist": {
            "type": "boolean",
            "example": false
          },
          "enableMergeWhitelist": {
            "type": "boolean",
            "example": false
          },
          "enablePush": {
            "type": "boolean",
            "description": "If true, direct pushes are allowed for whitelisted users.",
            "example": false
          },
          "enablePushWhitelist": {
            "type": "boolean",
            "example": false
          },
          "enableStatusCheck": {
            "type": "boolean",
            "example": false
          },
          "ignoreStaleApprovals": {
            "type": "boolean",
            "example": false
          },
          "mergeWhitelistUsernames": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "example": [
              "abc123"
            ]
          },
          "protectedFilePatterns": {
            "type": "string",
            "example": "abc123"
          },
          "pushWhitelistDeployKeys": {
            "type": "boolean",
            "example": false
          },
          "pushWhitelistUsernames": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "example": [
              "abc123"
            ]
          },
          "requireSignedCommits": {
            "type": "boolean",
            "example": false
          },
          "requiredApprovals": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "ruleName": {
            "type": "string",
            "description": "Display name for the rule.",
            "example": "abc123"
          },
          "statusCheckContexts": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "example": [
              "abc123"
            ]
          },
          "unprotectedFilePatterns": {
            "type": "string",
            "example": "abc123"
          }
        },
        "example": {
          "applyToAdmins": false,
          "approvalsWhitelistUsernames": [
            "abc123"
          ],
          "blockOnOfficialReviewRequests": false,
          "blockOnOutdatedBranch": false,
          "blockOnRejectedReviews": false,
          "dismissStaleApprovals": false,
          "enableApprovalsWhitelist": false,
          "enableMergeWhitelist": false,
          "enablePush": false,
          "enablePushWhitelist": false,
          "enableStatusCheck": false,
          "ignoreStaleApprovals": false,
          "mergeWhitelistUsernames": [
            "abc123"
          ],
          "protectedFilePatterns": "abc123",
          "pushWhitelistDeployKeys": false,
          "pushWhitelistUsernames": [
            "abc123"
          ],
          "requireSignedCommits": false,
          "requiredApprovals": 1,
          "ruleName": "abc123",
          "statusCheckContexts": [
            "abc123"
          ],
          "unprotectedFilePatterns": "abc123"
        }
      },
      "EditIssueRequestBody": {
        "type": "object",
        "properties": {
          "assignees": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Issue assignees.",
            "example": [
              "abc123"
            ]
          },
          "body": {
            "type": "string",
            "description": "Issue body.",
            "example": "abc123"
          },
          "state": {
            "type": "string",
            "description": "Issue state.",
            "example": "abc123"
          },
          "title": {
            "type": "string",
            "description": "Issue title.",
            "example": "abc123"
          }
        },
        "example": {
          "assignees": [
            "abc123"
          ],
          "body": "abc123",
          "state": "abc123",
          "title": "abc123"
        }
      },
      "EditPullRequestBody": {
        "type": "object",
        "properties": {
          "assignees": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Pull request assignees.",
            "example": [
              "abc123"
            ]
          },
          "body": {
            "type": "string",
            "description": "Pull request body.",
            "example": "abc123"
          },
          "draft": {
            "type": "boolean",
            "description": "Set draft state independently of the pull request title.",
            "example": false
          },
          "ready_for_review": {
            "type": "boolean",
            "description": "Deprecated compatibility alias for draft=false.",
            "example": false
          },
          "state": {
            "type": "string",
            "description": "Pull request state.",
            "example": "abc123"
          },
          "title": {
            "type": "string",
            "description": "Pull request title.",
            "example": "abc123"
          }
        },
        "example": {
          "assignees": [
            "abc123"
          ],
          "body": "abc123",
          "draft": false,
          "ready_for_review": false,
          "state": "abc123",
          "title": "abc123"
        }
      },
      "EditRepositoryRequestBody": {
        "type": "object",
        "properties": {
          "allowMergeCommits": {
            "type": "boolean",
            "description": "Whether merge commits are allowed.",
            "example": false
          },
          "allowRebase": {
            "type": "boolean",
            "description": "Whether rebase merges are allowed.",
            "example": false
          },
          "allowRebaseUpdate": {
            "type": "boolean",
            "description": "Whether contributor branches can be updated by rebase.",
            "example": false
          },
          "allowSquashMerge": {
            "type": "boolean",
            "description": "Whether squash merges are allowed.",
            "example": false
          },
          "archived": {
            "type": "boolean",
            "description": "Whether the repository is archived.",
            "example": false
          },
          "defaultAllowMaintainerEdit": {
            "type": "boolean",
            "description": "Whether maintainers can edit contributor branches by default.",
            "example": false
          },
          "defaultBranch": {
            "type": "string",
            "description": "Default branch name.",
            "example": "abc123"
          },
          "defaultDeleteBranchAfterMerge": {
            "type": "boolean",
            "description": "Whether to delete the head branch after merge by default.",
            "example": false
          },
          "description": {
            "type": "string",
            "description": "Repository description.",
            "example": "abc123"
          },
          "expectedRepositoryId": {
            "type": "string",
            "description": "Immutable repository ID required to fence path reuse.",
            "example": "aa",
            "minLength": 1
          },
          "hasIssues": {
            "type": "boolean",
            "description": "Whether the issue tracker is enabled.",
            "example": false
          },
          "newName": {
            "type": "string",
            "description": "New repository name (rename). Changes the repository URL.",
            "example": "abc123"
          },
          "private": {
            "type": "boolean",
            "description": "Whether the repository is private.",
            "example": false
          }
        },
        "example": {
          "allowMergeCommits": false,
          "allowRebase": false,
          "allowRebaseUpdate": false,
          "allowSquashMerge": false,
          "archived": false,
          "defaultAllowMaintainerEdit": false,
          "defaultBranch": "abc123",
          "defaultDeleteBranchAfterMerge": false,
          "description": "abc123",
          "expectedRepositoryId": "aa",
          "hasIssues": false,
          "newName": "abc123",
          "private": false
        },
        "required": [
          "expectedRepositoryId"
        ]
      },
      "ForkRepositoryRequest": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Optional fork name.",
            "example": "abc123"
          }
        },
        "example": {
          "name": "abc123"
        }
      },
      "InboxNotification": {
        "type": "object",
        "properties": {
          "actorLogin": {
            "type": "string",
            "description": "Login responsible for the latest notification activity.",
            "example": "abc123"
          },
          "draft": {
            "type": "boolean",
            "description": "Whether the pull request subject is a draft.",
            "example": false
          },
          "number": {
            "type": "integer",
            "description": "Pull request or issue number.",
            "example": 1,
            "format": "int64"
          },
          "owner": {
            "type": "string",
            "description": "Repository owner namespace.",
            "example": "aa",
            "minLength": 1
          },
          "provider": {
            "type": "string",
            "description": "Git provider that owns the subject.",
            "example": "aa",
            "minLength": 1
          },
          "reason": {
            "type": "string",
            "description": "Why the notification is in the viewer's inbox.",
            "example": "aa",
            "minLength": 1
          },
          "repo": {
            "type": "string",
            "description": "Repository name.",
            "example": "aa",
            "minLength": 1
          },
          "state": {
            "type": "string",
            "description": "Notification subject state.",
            "example": "abc123"
          },
          "subjectId": {
            "type": "string",
            "description": "Stable notification subject id.",
            "example": "aa",
            "minLength": 1
          },
          "targetKind": {
            "type": "string",
            "description": "Notification target kind.",
            "example": "issue",
            "enum": [
              "pull",
              "issue"
            ]
          },
          "title": {
            "type": "string",
            "description": "Notification subject title.",
            "example": "abc123"
          },
          "updatedAt": {
            "type": "string",
            "description": "RFC3339 timestamp of the latest notification activity.",
            "example": "aa",
            "minLength": 1
          }
        },
        "description": "Unread inbox notification backed by Trylle's durable notification model.",
        "example": {
          "actorLogin": "abc123",
          "draft": false,
          "number": 1,
          "owner": "aa",
          "provider": "aa",
          "reason": "aa",
          "repo": "aa",
          "state": "abc123",
          "subjectId": "aa",
          "targetKind": "issue",
          "title": "abc123",
          "updatedAt": "aa"
        },
        "required": [
          "subjectId",
          "targetKind",
          "provider",
          "owner",
          "repo",
          "number",
          "title",
          "state",
          "draft",
          "reason",
          "updatedAt"
        ]
      },
      "InstallBotOnAccountRequestBody": {
        "type": "object",
        "properties": {
          "accountKind": {
            "type": "string",
            "description": "Whether the account is a user or an org.",
            "example": "org",
            "enum": [
              "user",
              "org"
            ]
          },
          "accountLogin": {
            "type": "string",
            "description": "Forgejo owner login (user or org) to install the bot on.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "accountKind": "org",
          "accountLogin": "aa"
        },
        "required": [
          "accountLogin",
          "accountKind"
        ]
      },
      "IssueBotTokenRequestBody": {
        "type": "object",
        "properties": {
          "expiresIn": {
            "type": "string",
            "description": "Optional Go time.ParseDuration value.",
            "example": "abc123"
          },
          "name": {
            "type": "string",
            "description": "Token name.",
            "example": "abc123"
          }
        },
        "example": {
          "expiresIn": "abc123",
          "name": "abc123"
        }
      },
      "MergePullRequestBody": {
        "type": "object",
        "properties": {
          "Do": {
            "type": "string",
            "description": "Merge method.",
            "example": "aa",
            "minLength": 1
          },
          "MergeMessageField": {
            "type": "string",
            "description": "Merge message.",
            "example": "abc123"
          },
          "MergeTitleField": {
            "type": "string",
            "description": "Merge title.",
            "example": "abc123"
          },
          "delete_branch_after_merge": {
            "type": "boolean",
            "description": "Whether to delete the branch after merge.",
            "example": false
          },
          "force_merge": {
            "type": "boolean",
            "description": "Whether to force merge.",
            "example": false
          },
          "head_commit_id": {
            "type": "string",
            "description": "Expected head commit id.",
            "example": "abc123"
          }
        },
        "example": {
          "Do": "aa",
          "MergeMessageField": "abc123",
          "MergeTitleField": "abc123",
          "delete_branch_after_merge": false,
          "force_merge": false,
          "head_commit_id": "abc123"
        },
        "required": [
          "Do"
        ]
      },
      "ParticipationBatchItem": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Authoritative repository name.",
            "example": "aa",
            "minLength": 1
          },
          "owner": {
            "type": "string",
            "description": "Authoritative repository owner namespace.",
            "example": "aa",
            "minLength": 1
          },
          "weeklyCommits": {
            "type": "array",
            "items": {
              "type": "integer",
              "example": 1,
              "format": "int64"
            },
            "description": "Exactly 52 weekly commit totals, oldest first.",
            "example": [
              1,
              1,
              1
            ],
            "minItems": 52,
            "maxItems": 52
          }
        },
        "example": {
          "name": "aa",
          "owner": "aa",
          "weeklyCommits": [
            1,
            1,
            1
          ]
        },
        "required": [
          "owner",
          "name",
          "weeklyCommits"
        ]
      },
      "ParticipationBatchRequest": {
        "type": "object",
        "properties": {
          "repositories": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ParticipationRepositoryInput"
            },
            "description": "Repositories to load in input order.",
            "example": [
              {
                "name": "aa",
                "owner": "aa"
              },
              {
                "name": "aa",
                "owner": "aa"
              }
            ],
            "minItems": 1,
            "maxItems": 50
          }
        },
        "example": {
          "repositories": [
            {
              "name": "aa",
              "owner": "aa"
            },
            {
              "name": "aa",
              "owner": "aa"
            }
          ]
        },
        "required": [
          "repositories"
        ]
      },
      "ParticipationBatchResult": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ParticipationBatchItem"
            },
            "description": "Histograms in request order.",
            "example": [
              {
                "name": "aa",
                "owner": "aa",
                "weeklyCommits": [
                  1,
                  1,
                  1
                ]
              },
              {
                "name": "aa",
                "owner": "aa",
                "weeklyCommits": [
                  1,
                  1,
                  1
                ]
              }
            ],
            "minItems": 1,
            "maxItems": 50
          }
        },
        "example": {
          "items": [
            {
              "name": "aa",
              "owner": "aa",
              "weeklyCommits": [
                1,
                1,
                1
              ]
            },
            {
              "name": "aa",
              "owner": "aa",
              "weeklyCommits": [
                1,
                1,
                1
              ]
            }
          ]
        },
        "required": [
          "items"
        ]
      },
      "ParticipationRepositoryInput": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Repository name.",
            "example": "aa",
            "minLength": 1
          },
          "owner": {
            "type": "string",
            "description": "Repository owner namespace.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "name": "aa",
          "owner": "aa"
        },
        "required": [
          "owner",
          "name"
        ]
      },
      "ParticipationStats": {
        "type": "object",
        "properties": {
          "weeklyCommits": {
            "type": "array",
            "items": {
              "type": "integer",
              "example": 1,
              "format": "int64"
            },
            "description": "Exactly 52 weekly commit totals, oldest first.",
            "example": [
              1,
              1,
              1
            ],
            "minItems": 52,
            "maxItems": 52
          }
        },
        "example": {
          "weeklyCommits": [
            1,
            1,
            1
          ]
        },
        "required": [
          "weeklyCommits"
        ]
      },
      "PullReviewCommentInput": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "description": "Review comment body.",
            "example": "abc123"
          },
          "new_position": {
            "type": "integer",
            "description": "New diff position.",
            "example": 1,
            "format": "int64"
          },
          "old_position": {
            "type": "integer",
            "description": "Old diff position.",
            "example": 1,
            "format": "int64"
          },
          "path": {
            "type": "string",
            "description": "File path.",
            "example": "abc123"
          }
        },
        "example": {
          "body": "abc123",
          "new_position": 1,
          "old_position": 1,
          "path": "abc123"
        }
      },
      "RenameOrganizationRequestBody": {
        "type": "object",
        "properties": {
          "newHandle": {
            "type": "string",
            "description": "New organization handle (URL slug).",
            "example": "aa",
            "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]{0,37}[A-Za-z0-9])?$",
            "minLength": 1,
            "maxLength": 39
          }
        },
        "example": {
          "newHandle": "aa"
        },
        "required": [
          "newHandle"
        ]
      },
      "RenameViewerUsernameRequestBody": {
        "type": "object",
        "properties": {
          "newLogin": {
            "type": "string",
            "description": "New Forgejo login.",
            "example": "aa",
            "pattern": "^[A-Za-z0-9](?:[A-Za-z0-9-]{0,37}[A-Za-z0-9])?$",
            "minLength": 1,
            "maxLength": 39
          }
        },
        "example": {
          "newLogin": "aa"
        },
        "required": [
          "newLogin"
        ]
      },
      "ReplyToPullReviewCommentRequestBody": {
        "type": "object",
        "properties": {
          "body": {
            "type": "string",
            "description": "Reply body.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "body": "aa"
        },
        "required": [
          "body"
        ]
      },
      "RepositoryActionWorkflow": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether this workflow may run when its platform is allowed.",
            "example": false
          },
          "name": {
            "type": "string",
            "description": "Workflow display name.",
            "example": "abc123"
          },
          "path": {
            "type": "string",
            "description": "Repository-relative workflow file path.",
            "example": "abc123"
          },
          "platform": {
            "type": "string",
            "description": "Workflow directory platform.",
            "example": "github",
            "enum": [
              "trylle",
              "github"
            ]
          }
        },
        "example": {
          "enabled": false,
          "name": "abc123",
          "path": "abc123",
          "platform": "github"
        },
        "required": [
          "name",
          "path",
          "platform",
          "enabled"
        ]
      },
      "RepositoryActionWorkflowState": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Updated individual workflow state.",
            "example": false
          },
          "path": {
            "type": "string",
            "description": "Repository-relative workflow file path.",
            "example": "abc123"
          }
        },
        "example": {
          "enabled": false,
          "path": "abc123"
        },
        "required": [
          "path",
          "enabled"
        ]
      },
      "RepositoryActionsPolicyState": {
        "type": "object",
        "properties": {
          "policy": {
            "type": "string",
            "description": "Repository-level Actions execution policy.",
            "example": "trylle",
            "enum": [
              "all",
              "trylle",
              "disabled"
            ]
          }
        },
        "example": {
          "policy": "trylle"
        },
        "required": [
          "policy"
        ]
      },
      "RepositoryActionsRuntimeSettings": {
        "type": "object",
        "properties": {
          "disabledWorkflowPaths": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "All individually disabled workflow paths.",
            "example": [
              "abc123"
            ]
          },
          "policy": {
            "type": "string",
            "description": "Repository-level Actions execution policy.",
            "example": "trylle",
            "enum": [
              "all",
              "trylle",
              "disabled"
            ]
          }
        },
        "example": {
          "disabledWorkflowPaths": [
            "abc123"
          ],
          "policy": "trylle"
        },
        "required": [
          "policy",
          "disabledWorkflowPaths"
        ]
      },
      "RepositoryActionsSettings": {
        "type": "object",
        "properties": {
          "disabledWorkflowPaths": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "All individually disabled workflow paths, including files absent from the default branch.",
            "example": [
              "abc123"
            ]
          },
          "policy": {
            "type": "string",
            "description": "Repository-level Actions execution policy.",
            "example": "trylle",
            "enum": [
              "all",
              "trylle",
              "disabled"
            ]
          },
          "workflows": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RepositoryActionWorkflow"
            },
            "description": "Available workflow files from both supported directories.",
            "example": [
              {
                "enabled": false,
                "name": "abc123",
                "path": "abc123",
                "platform": "github"
              }
            ]
          }
        },
        "example": {
          "disabledWorkflowPaths": [
            "abc123"
          ],
          "policy": "trylle",
          "workflows": [
            {
              "enabled": false,
              "name": "abc123",
              "path": "abc123",
              "platform": "github"
            }
          ]
        },
        "required": [
          "policy",
          "workflows",
          "disabledWorkflowPaths"
        ]
      },
      "RequestPullReviewersRequestBody": {
        "type": "object",
        "properties": {
          "reviewers": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "User reviewers.",
            "example": [
              "abc123"
            ]
          },
          "teamReviewers": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Team reviewers.",
            "example": [
              "abc123"
            ]
          },
          "team_reviewers": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Snake-case team reviewers fallback.",
            "example": [
              "abc123"
            ]
          }
        },
        "example": {
          "reviewers": [
            "abc123"
          ],
          "teamReviewers": [
            "abc123"
          ],
          "team_reviewers": [
            "abc123"
          ]
        }
      },
      "SetFollowedRequestBody": {
        "type": "object",
        "properties": {
          "following": {
            "type": "boolean",
            "description": "Whether the viewer follows the user.",
            "example": false
          },
          "targetId": {
            "type": "integer",
            "description": "Immutable Forgejo user ID captured with the profile.",
            "example": 2,
            "format": "int64",
            "minimum": 1
          }
        },
        "example": {
          "following": false,
          "targetId": 2
        },
        "required": [
          "targetId"
        ]
      },
      "SetGitPasswordRequestBody": {
        "type": "object",
        "properties": {
          "password": {
            "type": "string",
            "description": "New git password.",
            "example": "aaa",
            "minLength": 8,
            "maxLength": 128
          }
        },
        "example": {
          "password": "aaa"
        },
        "required": [
          "password"
        ]
      },
      "SetIssueLabelsRequestBody": {
        "type": "object",
        "properties": {
          "labels": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Replacement label names.",
            "example": [
              "abc123"
            ]
          }
        },
        "example": {
          "labels": [
            "abc123"
          ]
        }
      },
      "SetOrgMemberVisibilityRequestBody": {
        "type": "object",
        "properties": {
          "public": {
            "type": "boolean",
            "description": "Whether this member is visible on the public organization profile.",
            "example": false
          }
        },
        "example": {
          "public": false
        },
        "required": [
          "public"
        ]
      },
      "SetOrgPinnedRepositoriesRequestBody": {
        "type": "object",
        "properties": {
          "repositories": {
            "type": "array",
            "items": {
              "type": "string",
              "example": "abc123"
            },
            "description": "Ordered repository full names (owner/name) to pin.",
            "example": [
              "abc123"
            ]
          }
        },
        "example": {
          "repositories": [
            "abc123"
          ]
        }
      },
      "SetPullStackParentRequestBody": {
        "type": "object",
        "properties": {
          "parentNumber": {
            "type": "integer",
            "description": "New parent pull number. Null or omitted clears the parent.",
            "example": 1,
            "format": "int64"
          }
        },
        "example": {
          "parentNumber": 1
        }
      },
      "SetStarredRequestBody": {
        "type": "object",
        "properties": {
          "starred": {
            "type": "boolean",
            "description": "Whether the viewer has starred the repository.",
            "example": false
          }
        },
        "example": {
          "starred": false
        }
      },
      "SetViewerAvatarRequestBody": {
        "type": "object",
        "properties": {
          "image": {
            "type": "string",
            "description": "Raw base64 avatar image without a data URI prefix.",
            "example": "aa",
            "minLength": 1,
            "maxLength": 1400000
          }
        },
        "example": {
          "image": "aa"
        },
        "required": [
          "image"
        ]
      },
      "StartUserBillingCheckoutRequestBody": {
        "type": "object",
        "properties": {
          "cancelUrl": {
            "type": "string",
            "description": "URL Stripe redirects to when checkout is cancelled.",
            "example": "aa",
            "minLength": 1
          },
          "planKey": {
            "type": "string",
            "description": "Plan key to purchase.",
            "example": "aa",
            "minLength": 1
          },
          "successUrl": {
            "type": "string",
            "description": "URL Stripe redirects to after successful checkout.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "cancelUrl": "aa",
          "planKey": "aa",
          "successUrl": "aa"
        },
        "required": [
          "planKey",
          "successUrl",
          "cancelUrl"
        ]
      },
      "StartUserBillingPortalRequestBody": {
        "type": "object",
        "properties": {
          "returnUrl": {
            "type": "string",
            "description": "URL to return to after leaving the portal.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "returnUrl": "aa"
        },
        "required": [
          "returnUrl"
        ]
      },
      "ToggleIssueCommentReactionRequestBody": {
        "type": "object",
        "properties": {
          "commentId": {
            "type": "integer",
            "description": "Issue comment id; 0 toggles a reaction on the issue/PR body.",
            "example": 1,
            "format": "int64"
          },
          "content": {
            "type": "string",
            "description": "Reaction content (+1, -1, laugh, confused, heart, hooray, rocket, eyes).",
            "example": "aa",
            "minLength": 1
          },
          "remove": {
            "type": "boolean",
            "description": "When true, remove the reaction instead of adding it.",
            "example": false
          }
        },
        "example": {
          "commentId": 1,
          "content": "aa",
          "remove": false
        },
        "required": [
          "content"
        ]
      },
      "TransferOrganizationOwnershipRequestBody": {
        "type": "object",
        "properties": {
          "newOwner": {
            "type": "string",
            "description": "Forgejo login of the member who will become owner.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "newOwner": "aa"
        },
        "required": [
          "newOwner"
        ]
      },
      "TransferRepositoryRequestBody": {
        "type": "object",
        "properties": {
          "expectedRepositoryId": {
            "type": "string",
            "description": "Immutable repository ID required to fence path reuse.",
            "example": "aa",
            "minLength": 1
          },
          "newOwner": {
            "type": "string",
            "description": "New owner login.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "expectedRepositoryId": "aa",
          "newOwner": "aa"
        },
        "required": [
          "expectedRepositoryId",
          "newOwner"
        ]
      },
      "TrylleAccountingChart": {
        "type": "object",
        "properties": {
          "from": {
            "type": "string",
            "example": "1970-01-01T00:00:01Z",
            "format": "date-time"
          },
          "points": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountingChartPoint"
            },
            "example": [
              {
                "aiCacheReadTokens": 1,
                "aiCacheWriteTokens": 1,
                "aiInputTokens": 1,
                "aiMicrousd": 1,
                "aiOutputTokens": 1,
                "ciMicrousd": 1,
                "ciMinutes": 1,
                "hasUnpricedUsage": false,
                "timestamp": "1970-01-01T00:00:01Z",
                "totalMicrousd": 1
              }
            ]
          },
          "timeframe": {
            "type": "string",
            "example": "last_7_days",
            "enum": [
              "last_24_hours",
              "last_7_days",
              "month_to_date"
            ]
          },
          "to": {
            "type": "string",
            "example": "1970-01-01T00:00:01Z",
            "format": "date-time"
          }
        },
        "example": {
          "from": "1970-01-01T00:00:01Z",
          "points": [
            {
              "aiCacheReadTokens": 1,
              "aiCacheWriteTokens": 1,
              "aiInputTokens": 1,
              "aiMicrousd": 1,
              "aiOutputTokens": 1,
              "ciMicrousd": 1,
              "ciMinutes": 1,
              "hasUnpricedUsage": false,
              "timestamp": "1970-01-01T00:00:01Z",
              "totalMicrousd": 1
            }
          ],
          "timeframe": "last_7_days",
          "to": "1970-01-01T00:00:01Z"
        },
        "required": [
          "timeframe",
          "from",
          "to",
          "points"
        ]
      },
      "TrylleAccountingCouponRedemption": {
        "type": "object",
        "properties": {
          "amountMicrousd": {
            "type": "integer",
            "example": 1,
            "format": "int64"
          },
          "balance": {
            "$ref": "#/components/schemas/AccountingBalance"
          },
          "category": {
            "type": "string",
            "example": "ci",
            "enum": [
              "ai",
              "ci"
            ]
          },
          "code": {
            "type": "string",
            "example": "abc123"
          }
        },
        "example": {
          "amountMicrousd": 1,
          "balance": {
            "aiCreditMicrousd": 1,
            "ciCreditMicrousd": 1,
            "hardMicrousd": 1,
            "hasUnpricedUsage": false,
            "insolvent": false,
            "pendingAiMicrousd": 1,
            "pendingCiMicrousd": 1,
            "pendingMicrousd": 1,
            "softMicrousd": 1,
            "totalMicrousd": 1
          },
          "category": "ci",
          "code": "abc123"
        },
        "required": [
          "code",
          "category",
          "amountMicrousd",
          "balance"
        ]
      },
      "TrylleAccountingDailyChargeList": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AccountingDailyCharge"
            },
            "example": [
              {
                "amountMicrousd": 1,
                "category": "ci",
                "date": "1970-01-01",
                "fundingSource": "soft"
              }
            ]
          }
        },
        "example": {
          "items": [
            {
              "amountMicrousd": 1,
              "category": "ci",
              "date": "1970-01-01",
              "fundingSource": "soft"
            }
          ]
        },
        "required": [
          "items"
        ]
      },
      "TrylleAccountingSummary": {
        "type": "object",
        "properties": {
          "balance": {
            "$ref": "#/components/schemas/AccountingBalance"
          },
          "ownerId": {
            "type": "string",
            "example": "abc123"
          },
          "ownerType": {
            "type": "string",
            "example": "organization",
            "enum": [
              "user",
              "organization"
            ]
          }
        },
        "example": {
          "balance": {
            "aiCreditMicrousd": 1,
            "ciCreditMicrousd": 1,
            "hardMicrousd": 1,
            "hasUnpricedUsage": false,
            "insolvent": false,
            "pendingAiMicrousd": 1,
            "pendingCiMicrousd": 1,
            "pendingMicrousd": 1,
            "softMicrousd": 1,
            "totalMicrousd": 1
          },
          "ownerId": "abc123",
          "ownerType": "organization"
        },
        "required": [
          "ownerType",
          "ownerId",
          "balance"
        ]
      },
      "UnreadInbox": {
        "type": "object",
        "properties": {
          "items": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InboxNotification"
            },
            "description": "Unread notifications in reverse activity order.",
            "example": [
              {
                "actorLogin": "abc123",
                "draft": false,
                "number": 1,
                "owner": "aa",
                "provider": "aa",
                "reason": "aa",
                "repo": "aa",
                "state": "abc123",
                "subjectId": "aa",
                "targetKind": "issue",
                "title": "abc123",
                "updatedAt": "aa"
              }
            ]
          },
          "total": {
            "type": "integer",
            "description": "Total unread notification count before the item limit is applied.",
            "example": 1,
            "format": "int64"
          }
        },
        "description": "The authenticated viewer's unread inbox snapshot.",
        "example": {
          "items": [
            {
              "actorLogin": "abc123",
              "draft": false,
              "number": 1,
              "owner": "aa",
              "provider": "aa",
              "reason": "aa",
              "repo": "aa",
              "state": "abc123",
              "subjectId": "aa",
              "targetKind": "issue",
              "title": "abc123",
              "updatedAt": "aa"
            }
          ],
          "total": 1
        },
        "required": [
          "items",
          "total"
        ]
      },
      "UpdateAutomationRequestBody": {
        "type": "object",
        "properties": {
          "botId": {
            "type": "string",
            "description": "Bot id.",
            "example": "aa",
            "minLength": 1
          },
          "definition": {
            "description": "Automation definition JSON.",
            "example": "abc123"
          },
          "description": {
            "type": "string",
            "description": "Automation description.",
            "example": "abc123"
          },
          "enabled": {
            "type": "boolean",
            "description": "Enabled state. Defaults to true when omitted.",
            "example": false
          },
          "name": {
            "type": "string",
            "description": "Automation name.",
            "example": "aa",
            "minLength": 1
          },
          "triggers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutomationTriggerInput"
            },
            "description": "Automation triggers.",
            "example": [
              {
                "eventType": "abc123",
                "id": "abc123",
                "repositoryId": "abc123",
                "scheduleCron": "abc123"
              },
              {
                "eventType": "abc123",
                "id": "abc123",
                "repositoryId": "abc123",
                "scheduleCron": "abc123"
              }
            ],
            "minItems": 1
          }
        },
        "example": {
          "botId": "aa",
          "definition": "abc123",
          "description": "abc123",
          "enabled": false,
          "name": "aa",
          "triggers": [
            {
              "eventType": "abc123",
              "id": "abc123",
              "repositoryId": "abc123",
              "scheduleCron": "abc123"
            },
            {
              "eventType": "abc123",
              "id": "abc123",
              "repositoryId": "abc123",
              "scheduleCron": "abc123"
            }
          ]
        },
        "required": [
          "botId",
          "name",
          "definition",
          "triggers"
        ]
      },
      "UpdateOrgActionsVariableRequestBody": {
        "type": "object",
        "properties": {
          "repositoryAccess": {
            "type": "string",
            "description": "Repository access scope.",
            "example": "private",
            "enum": [
              "all",
              "private",
              "selected"
            ]
          },
          "value": {
            "type": "string",
            "description": "Variable value.",
            "example": "abc123"
          }
        },
        "example": {
          "repositoryAccess": "private",
          "value": "abc123"
        }
      },
      "UpdateOrgMemberRequestBody": {
        "type": "object",
        "properties": {
          "role": {
            "type": "string",
            "description": "New organization role.",
            "example": "member",
            "enum": [
              "admin",
              "member"
            ]
          }
        },
        "example": {
          "role": "member"
        },
        "required": [
          "role"
        ]
      },
      "UpdateOrganizationRequestBody": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "Organization description.",
            "example": "aaa",
            "maxLength": 240
          },
          "displayName": {
            "type": "string",
            "description": "Organization display name.",
            "example": "aa",
            "minLength": 1,
            "maxLength": 80
          },
          "isPrivate": {
            "type": "boolean",
            "description": "Whether the organization is private.",
            "example": false
          },
          "settings": {
            "description": "Organization settings (member privileges and repository defaults).",
            "example": "abc123"
          }
        },
        "example": {
          "description": "aaa",
          "displayName": "aa",
          "isPrivate": false,
          "settings": "abc123"
        }
      },
      "UpdateRepoActionWorkflowRequestBody": {
        "type": "object",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether the workflow may run.",
            "example": false
          },
          "path": {
            "type": "string",
            "description": "Workflow path under .trylle/workflows or .github/workflows.",
            "example": ".github/workflows/aa.yml",
            "pattern": "^\\.(trylle|github)/workflows/.+\\.ya?ml$"
          }
        },
        "example": {
          "enabled": false,
          "path": ".github/workflows/aa.yml"
        },
        "required": [
          "path",
          "enabled"
        ]
      },
      "UpdateRepoActionsSecretRequestBody": {
        "type": "object",
        "properties": {
          "secret": {
            "type": "string",
            "description": "Replacement secret value.",
            "example": "abc123"
          }
        },
        "example": {
          "secret": "abc123"
        },
        "required": [
          "secret"
        ]
      },
      "UpdateRepoActionsVariableRequestBody": {
        "type": "object",
        "properties": {
          "value": {
            "type": "string",
            "description": "Variable value.",
            "example": "abc123"
          }
        },
        "example": {
          "value": "abc123"
        }
      },
      "UpdateRepoReleaseRequestBody": {
        "type": "object",
        "properties": {
          "hideArchiveLinks": {
            "type": "boolean",
            "description": "Omits tarball/zip links on Forgejo.",
            "example": false
          },
          "isDraft": {
            "type": "boolean",
            "description": "Draft releases are restricted to collaborators.",
            "example": false
          },
          "isPrerelease": {
            "type": "boolean",
            "description": "Marks beta / RC style releases.",
            "example": false
          },
          "notes": {
            "type": "string",
            "description": "Release notes (Markdown); may be empty.",
            "example": "abc123"
          },
          "tagName": {
            "type": "string",
            "description": "New Git tag when renaming a draft release.",
            "example": "abc123"
          },
          "target": {
            "type": "string",
            "description": "Commitish Forgejo attaches the tag to (repository default branch when omitted).",
            "example": "abc123"
          },
          "title": {
            "type": "string",
            "description": "Release title.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "hideArchiveLinks": false,
          "isDraft": false,
          "isPrerelease": false,
          "notes": "abc123",
          "tagName": "abc123",
          "target": "abc123",
          "title": "aa"
        },
        "required": [
          "title"
        ]
      },
      "UpdateViewerProfileRequestBody": {
        "type": "object",
        "properties": {
          "bio": {
            "type": "string",
            "description": "Bio.",
            "example": "aaa",
            "maxLength": 200
          },
          "company": {
            "type": "string",
            "description": "Company.",
            "example": "aaa",
            "maxLength": 100
          },
          "location": {
            "type": "string",
            "description": "Location.",
            "example": "aaa",
            "maxLength": 100
          },
          "name": {
            "type": "string",
            "description": "Display name.",
            "example": "aaa",
            "maxLength": 80
          },
          "pronouns": {
            "type": "string",
            "description": "Pronouns.",
            "example": "aaa",
            "maxLength": 50
          },
          "website": {
            "type": "string",
            "description": "Website.",
            "example": "aaa",
            "maxLength": 250
          }
        },
        "example": {
          "bio": "aaa",
          "company": "aaa",
          "location": "aaa",
          "name": "aaa",
          "pronouns": "aaa",
          "website": "aaa"
        }
      },
      "UpdateViewerSettingsRequestBody": {
        "type": "object",
        "properties": {
          "settings": {
            "description": "User settings (notifications and repository defaults).",
            "example": "abc123"
          }
        },
        "example": {
          "settings": "abc123"
        },
        "required": [
          "settings"
        ]
      },
      "UpsertPullChangelogRequestBody": {
        "type": "object",
        "properties": {
          "data": {
            "description": "Changelog payload (any JSON).",
            "example": "abc123"
          },
          "file_sha": {
            "type": "string",
            "description": "File content SHA. Empty string for the PR-level summary.",
            "example": "abc123"
          },
          "head_sha": {
            "type": "string",
            "description": "Head commit SHA the changelog is keyed to. Empty for per-file rows.",
            "example": "abc123"
          },
          "model": {
            "type": "string",
            "description": "AI model identifier.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "data": "abc123",
          "file_sha": "abc123",
          "head_sha": "abc123",
          "model": "aa"
        },
        "required": [
          "head_sha",
          "model",
          "data"
        ]
      },
      "VerifyAIGatewayKeyRequestBody": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "API key presented to the AI gateway.",
            "example": "aa",
            "minLength": 1
          }
        },
        "example": {
          "key": "aa"
        },
        "required": [
          "key"
        ]
      },
      "VerifyViewerGPGKeyRequestBody": {
        "type": "object",
        "properties": {
          "armoredSignature": {
            "type": "string",
            "description": "ASCII-armored signature of the verification token.",
            "example": "aa",
            "minLength": 1,
            "maxLength": 16384
          },
          "keyId": {
            "type": "string",
            "description": "Short or long GPG key id.",
            "example": "aa",
            "minLength": 1,
            "maxLength": 64
          }
        },
        "example": {
          "armoredSignature": "aa",
          "keyId": "aa"
        },
        "required": [
          "keyId",
          "armoredSignature"
        ]
      },
      "Viewer": {
        "type": "object",
        "properties": {
          "admin": {
            "type": "boolean",
            "description": "Whether the viewer is a site administrator.",
            "example": false
          },
          "avatarUrl": {
            "type": "string",
            "description": "Profile avatar URL.",
            "example": "abc123"
          },
          "bio": {
            "type": "string",
            "description": "Profile biography.",
            "example": "abc123"
          },
          "company": {
            "type": "string",
            "description": "Profile company.",
            "example": "abc123"
          },
          "email": {
            "type": "string",
            "description": "Account email address.",
            "example": "abc123"
          },
          "id": {
            "type": "string",
            "description": "Platform user id.",
            "example": "abc123"
          },
          "location": {
            "type": "string",
            "description": "Profile location.",
            "example": "abc123"
          },
          "login": {
            "type": "string",
            "description": "Forgejo login used as the repository owner namespace.",
            "example": "abc123"
          },
          "name": {
            "type": "string",
            "description": "Display name.",
            "example": "abc123"
          },
          "pronouns": {
            "type": "string",
            "description": "Profile pronouns.",
            "example": "abc123"
          },
          "settings": {
            "description": "Notification and repository preferences.",
            "example": "abc123"
          },
          "website": {
            "type": "string",
            "description": "Profile website.",
            "example": "abc123"
          }
        },
        "description": "Authenticated Trylle account and profile settings.",
        "example": {
          "admin": false,
          "avatarUrl": "abc123",
          "bio": "abc123",
          "company": "abc123",
          "email": "abc123",
          "id": "abc123",
          "location": "abc123",
          "login": "abc123",
          "name": "abc123",
          "pronouns": "abc123",
          "settings": "abc123",
          "website": "abc123"
        },
        "required": [
          "admin",
          "email",
          "id",
          "name"
        ]
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "Trylle CLI Key or bot token"
      }
    }
  },
  "tags": [
    {
      "name": "System",
      "description": "Service health and AI gateway credential verification.",
      "x-displayName": "System"
    },
    {
      "name": "Account",
      "description": "Authenticated account settings, invitations, inbox state, and user lookup.",
      "x-displayName": "Account"
    },
    {
      "name": "Profiles and discovery",
      "description": "Public profiles, follows, contributions, repositories, and discovery.",
      "x-displayName": "Profiles and discovery"
    },
    {
      "name": "Credentials",
      "description": "Git passwords, SSH keys, and GPG signing keys.",
      "x-displayName": "Credentials"
    },
    {
      "name": "Usage and billing",
      "description": "Personal balances, charges, AI usage, checkout, and billing portal access.",
      "x-displayName": "Usage and billing"
    },
    {
      "name": "Organizations",
      "description": "Organization lifecycle, membership, invitations, and pinned repositories.",
      "x-displayName": "Organizations"
    },
    {
      "name": "Organization usage and billing",
      "description": "Organization balances, charges, checkout, and billing portal access.",
      "x-displayName": "Organization usage and billing"
    },
    {
      "name": "Organization CI configuration",
      "description": "Organization-level CI secrets and variables.",
      "x-displayName": "Organization CI configuration"
    },
    {
      "name": "Automations",
      "description": "Automation definitions, templates, and run history.",
      "x-displayName": "Automations"
    },
    {
      "name": "Bots",
      "description": "Bot identities, installations, and access tokens.",
      "x-displayName": "Bots"
    },
    {
      "name": "CI runs",
      "description": "CI jobs, workflow runs, logs, cancellation, and usage.",
      "x-displayName": "CI runs"
    },
    {
      "name": "Repositories",
      "description": "Repository lifecycle, metadata, participation, and ownership.",
      "x-displayName": "Repositories"
    },
    {
      "name": "Repository Git data",
      "description": "Branches, commits, comparisons, files, contents, and refs.",
      "x-displayName": "Repository Git data"
    },
    {
      "name": "Repository access",
      "description": "Repository collaborators, teams, reviewers, and assignees.",
      "x-displayName": "Repository access"
    },
    {
      "name": "Repository CI configuration",
      "description": "Repository-level CI policy, workflows, secrets, and variables.",
      "x-displayName": "Repository CI configuration"
    },
    {
      "name": "Branch protection",
      "description": "Branch protection rules and required check contexts.",
      "x-displayName": "Branch protection"
    },
    {
      "name": "Webhooks",
      "description": "Repository webhook configuration.",
      "x-displayName": "Webhooks"
    },
    {
      "name": "Releases",
      "description": "Repository releases and release tags.",
      "x-displayName": "Releases"
    },
    {
      "name": "Issues",
      "description": "Issues, comments, labels, reactions, and timelines.",
      "x-displayName": "Issues"
    },
    {
      "name": "Pull requests",
      "description": "Pull requests, reviews, checks, merges, and stacks.",
      "x-displayName": "Pull requests"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ]
}
