
{/*
TODO checklist for each new L3 page:
1. Add nav entry in zudoku.config.tsx under Positions items[]
2. Update prev on this page and next on the preceding page
3. Update next on this page and prev on the following page (if exists)
4. Add redirect in zudoku.config.tsx: { from: "/prediction-markets/[operationId]", to: "/prediction-markets/rest-api/positions/[slug]" }
*/}

<EndpointPage
  breadcrumbs={[
    { label: "Prediction Markets", href: "/prediction-markets/prediction-markets" },
    { label: "Prediction Markets", href: "/prediction-markets/prediction-markets" },
    { label: "Positions", href: "/prediction-markets/rest-api/positions" },
    { label: "TODO: Endpoint Title" },
  ]}
  title="TODO: Endpoint Title"
  method="POST"
  url="https://api.gemini.com/v1/prediction-markets/TODO"
  description="TODO: description"
  example={{
    request: {
      method: "POST",
      url: "https://api.gemini.com/v1/prediction-markets/TODO",
      headers: [
        { name: "X-GEMINI-APIKEY", value: "<string>" },
        { name: "X-GEMINI-PAYLOAD", value: "<string>" },
        { name: "X-GEMINI-SIGNATURE", value: "<string>" },
      ],
      body: {},
    },
  }}
  sections={[
    {
      heading: "Roles",
      children: (
        <p style={{ margin: 0 }}>The API key you use to access this endpoint must have the Trader role assigned. See <a href="https://docs.gemini.com/roles#roles" style={{ color: "inherit", textDecorationLine: "underline" }}>Roles</a> for more information.</p>
      ),
    },
    {
      heading: "Headers",
      children: <PMSpecHeaders />,
    },
    {
      heading: "Request Body",
      children: (
        <ParamList
          exampleCode={`{}`}
          exampleLabel="Example request body"
          params={[]}
        />
      ),
    },
    {
      heading: "Responses",
      children: (
        <ResponsesSection tabs={[
          {
            code: "200",
            description: "TODO: success description",
            params: [],
            example: `{}`,
          },
          { code: "400", description: "Bad request - malformed request or invalid parameters", params: [{ name: "result", type: "string", description: "Error" }, { name: "reason", type: "string", description: "A short description" }, { name: "message", type: "string", description: "Detailed error message" }], example: `{\n  "result": "error",\n  "reason": "InvalidSignature",\n  "message": "Invalid signature for this request"\n}` },
          { code: "401", description: "Unauthorized - missing or invalid authentication", params: [{ name: "result", type: "string", description: "Error" }, { name: "reason", type: "string", description: "A short description" }, { name: "message", type: "string", description: "Detailed error message" }], example: `{\n  "result": "error",\n  "reason": "MissingApikeyHeader",\n  "message": "Must provide 'X-GEMINI-APIKEY' header"\n}` },
          { code: "404", description: "Resource not found", params: [{ name: "error", type: "string", description: "Error code" }, { name: "message", type: "string", description: "Human-readable error message" }], example: `{\n  "error": "NotFound",\n  "message": "Resource not found"\n}` },
          { code: "500", description: "Internal server error", params: [{ name: "result", type: "string", description: "Error" }, { name: "reason", type: "string", description: "A short description" }, { name: "message", type: "string", description: "Detailed error message" }], example: `{\n  "result": "error",\n  "reason": "Internal Server Error",\n  "message": "Unexpected server error occurred."\n}` },
        ]} />
      ),
    },
  ]}
/>

<PageNavigation
  prev={{ label: "TODO: prev label", href: "/prediction-markets/rest-api/positions/TODO-prev-slug" }}
  next={{ label: "TODO: next label", href: "/prediction-markets/rest-api/positions/TODO-next-slug" }}
/>
