Polygon · Capability

Polygon Options REST API — Contracts

Options — Contracts. 1 operation. Lead operation: List Options Contracts. Self-contained Naftiko capability covering one Polygon business surface.

Run with Naftiko PolygonOptionsContracts

What You Can Do

GET
Listoptionscontracts — List Options Contracts
/v1/v3/reference/options/contracts

MCP Tools

list-options-contracts

List Options Contracts

read-only idempotent

Capability Spec

options-contracts.yaml Raw ↑
naftiko: "1.0.0-alpha2"

info:
  label: "Polygon Options REST API — Contracts"
  description: >-
    Options — Contracts. 1 operation. Lead operation: List Options Contracts.
    Self-contained Naftiko capability covering one Polygon business surface.
  tags:
    - Polygon
    - Options
    - Contracts
  created: "2026-05-29"
  modified: "2026-05-29"

binds:
  - namespace: env
    keys:
      POLYGON_API_KEY: POLYGON_API_KEY

capability:

  consumes:
    - type: http
      namespace: "options-contracts"
      baseUri: "https://api.polygon.io"
      description: "Polygon Options REST API — Contracts business capability."
      authentication:
        type: bearer
        token: "{{env.POLYGON_API_KEY}}"
      resources:
        - name: "reference-options-contracts"
          path: "/v3/reference/options/contracts"
          operations:
            - name: "listOptionsContracts"
              method: GET
              description: "List Options Contracts"
              inputParameters:
                - name: "underlying_ticker"
                  in: query
                  type: string
                  required: false
                - name: "contract_type"
                  in: query
                  type: string
                  required: false
                - name: "expiration_date"
                  in: query
                  type: string
                  required: false
                - name: "as_of"
                  in: query
                  type: string
                  required: false
                - name: "strike_price"
                  in: query
                  type: number
                  required: false
                - name: "expired"
                  in: query
                  type: boolean
                  required: false
                - name: "limit"
                  in: query
                  type: integer
                  required: false
              outputRawFormat: json
              outputParameters:
                - name: result
                  type: object
                  value: "$."

  exposes:
    - type: rest
      namespace: "options-contracts-rest"
      port: 8080
      description: "REST adapter for Polygon Options REST API — Contracts."
      resources:
        - path: "/v1/v3/reference/options/contracts"
          name: "reference-options-contracts"
          description: "REST surface for reference-options-contracts."
          operations:
            - method: GET
              name: "listOptionsContracts"
              description: "List Options Contracts"
              call: "options-contracts.listOptionsContracts"
              with:
                underlying_ticker: "rest.underlying_ticker"
                contract_type: "rest.contract_type"
                expiration_date: "rest.expiration_date"
                as_of: "rest.as_of"
                strike_price: "rest.strike_price"
                expired: "rest.expired"
                limit: "rest.limit"
              outputParameters:
                - type: object
                  mapping: "$."

    - type: mcp
      namespace: "options-contracts-mcp"
      port: 9090
      transport: http
      description: "MCP adapter for Polygon Options REST API — Contracts."
      tools:
        - name: "list-options-contracts"
          description: "List Options Contracts"
          hints:
            readOnly: true
            destructive: false
            idempotent: true
          call: "options-contracts.listOptionsContracts"
          with:
            underlying_ticker: "tools.underlying_ticker"
            contract_type: "tools.contract_type"
            expiration_date: "tools.expiration_date"
            as_of: "tools.as_of"
            strike_price: "tools.strike_price"
            expired: "tools.expired"
            limit: "tools.limit"
          outputParameters:
            - type: object
              mapping: "$."