# Get Open Positions

<EndpointPage
  breadcrumbs={[
    { label: "Trading", href: "/trading/trading" },
    { label: "Derivatives", href: "/trading/rest-api/derivatives" },
    { label: "Get Open Positions" },
  ]}
  title="Get Open Positions"
  method="POST"
  url="https://api.gemini.com/v1/positions"
  description="Retrieves all open positions for the account."
  example={{
    request: {
      method: "POST",
      url: "https://api.gemini.com/v1/positions",
      headers: [
        { name: "X-GEMINI-APIKEY", value: "<string>" },
        { name: "X-GEMINI-PAYLOAD", value: "<string>" },
        { name: "X-GEMINI-SIGNATURE", value: "<string>" },
      ],
      body: {
        request: "/v1/positions",
        nonce: "<nonce>",
        account: "primary",
      },
    },
  }}
  sections={[
    {
      heading: "Roles",
      children: (
        <>
          <p style={{ margin: "0 0 2px" }}>The API key you use to access this endpoint must have the Trader or Auditor role assigned. See <a href="https://docs.gemini.com/roles#roles" style={{ color: "inherit", textDecorationLine: "underline" }}>Roles</a> for more information.</p>
          <p style={{ margin: 0 }}>The OAuth scope must have <InlineBadge>orders:read</InlineBadge> assigned to access this endpoint. See <a href="/authentication/oauth#oauth-scopes" style={{ color: "inherit", textDecorationLine: "underline" }}>OAuth Scopes</a> for more information.</p>
        </>
      ),
    },
    {
      heading: "Headers",
      children: <SpecHeaders operationId="getOpenPositions" />,
    },
    {
      heading: "Request Body",
      children: <SpecParams operationId="getOpenPositions" />,
    },
    {
      heading: "Responses",
      children: <SpecResponses operationId="getOpenPositions" />,
    },
  ]}
/>

<PageNavigation
  prev={{ label: "Derivatives", href: "/trading/rest-api/derivatives" }}
  next={{ label: "Get Account Margin", href: "/trading/rest-api/derivatives/get-account-margin" }}
/>
