{
  "openapi": "3.0.3",
  "info": {
    "title": "AGNT Sandbox",
    "version": "1.0.0",
    "description": "See /llms.txt for request bodies, units, limits, and lifecycle semantics."
  },
  "servers": [
    {
      "url": "https://sandbox.agnt.gg/sandbox/v1"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    }
  },
  "paths": {
    "/plans": {
      "get": {
        "summary": "GET /plans",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/capabilities": {
      "get": {
        "summary": "GET /capabilities",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/agents": {
      "post": {
        "summary": "POST /agents",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/usage": {
      "get": {
        "summary": "GET /usage",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/hosting/purchase": {
      "post": {
        "summary": "POST /hosting/purchase",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/hosting/preferences": {
      "put": {
        "summary": "PUT /hosting/preferences",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/funding/checkout": {
      "post": {
        "summary": "POST /funding/checkout",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/funding/x402": {
      "post": {
        "summary": "POST /funding/x402",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/funding/x402/{id}": {
      "get": {
        "summary": "GET /funding/x402/{id}",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      },
      "post": {
        "summary": "POST /funding/x402/{id}",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/sandboxes": {
      "get": {
        "summary": "GET /sandboxes",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      },
      "post": {
        "summary": "POST /sandboxes",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/sandboxes/{id}": {
      "get": {
        "summary": "GET /sandboxes/{id}",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      },
      "delete": {
        "summary": "DELETE /sandboxes/{id}",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/sandboxes/{id}/executions": {
      "post": {
        "summary": "POST /sandboxes/{id}/executions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/executions/{id}": {
      "get": {
        "summary": "GET /executions/{id}",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/sandboxes/{id}/uploads": {
      "post": {
        "summary": "POST /sandboxes/{id}/uploads",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/sandboxes/{id}/exports": {
      "post": {
        "summary": "POST /sandboxes/{id}/exports",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/transfers/{id}": {
      "get": {
        "summary": "GET /transfers/{id}",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/artifacts/{id}": {
      "get": {
        "summary": "GET /artifacts/{id}",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/keys": {
      "get": {
        "summary": "GET /keys",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      },
      "post": {
        "summary": "POST /keys",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/keys/{id}": {
      "delete": {
        "summary": "DELETE /keys/{id}",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/webhooks": {
      "get": {
        "summary": "GET /webhooks",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      },
      "post": {
        "summary": "POST /webhooks",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/webhooks/{id}": {
      "delete": {
        "summary": "DELETE /webhooks/{id}",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/notifications": {
      "get": {
        "summary": "GET /notifications",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    },
    "/webhook-deliveries": {
      "get": {
        "summary": "GET /webhook-deliveries",
        "responses": {
          "200": {
            "description": "Success; see the API guide for response fields"
          },
          "400": {
            "description": "Invalid input"
          },
          "401": {
            "description": "Authentication required"
          },
          "402": {
            "description": "Funding or hosting required"
          },
          "409": {
            "description": "State or quota conflict"
          }
        }
      }
    }
  }
}