naftiko: "1.0.0-alpha2" info: label: "Polygon Options REST API — Snapshots" description: >- Options — Snapshots. 2 operations. Lead operation: Get Option Contract Snapshot. Self-contained Naftiko capability covering one Polygon business surface. tags: - Polygon - Options - Snapshots created: "2026-05-29" modified: "2026-05-29" binds: - namespace: env keys: POLYGON_API_KEY: POLYGON_API_KEY capability: consumes: - type: http namespace: "options-snapshots" baseUri: "https://api.polygon.io" description: "Polygon Options REST API — Snapshots business capability." authentication: type: bearer token: "{{env.POLYGON_API_KEY}}" resources: - name: "snapshot-options-underlyingasset-optioncontract" path: "/v3/snapshot/options/{underlyingAsset}/{optionContract}" operations: - name: "getOptionContractSnapshot" method: GET description: "Get Option Contract Snapshot" inputParameters: - name: "underlyingAsset" in: path type: string required: true - name: "optionContract" in: path type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: "$." - name: "snapshot-options-underlyingasset" path: "/v3/snapshot/options/{underlyingAsset}" operations: - name: "getOptionsChainSnapshot" method: GET description: "Get Options Chain Snapshot" inputParameters: - name: "underlyingAsset" in: path type: string required: true - name: "strike_price" in: query type: number required: false - name: "expiration_date" in: query type: string required: false - name: "contract_type" in: query type: string required: false - name: "limit" in: query type: integer required: false outputRawFormat: json outputParameters: - name: result type: object value: "$." exposes: - type: rest namespace: "options-snapshots-rest" port: 8080 description: "REST adapter for Polygon Options REST API — Snapshots." resources: - path: "/v1/v3/snapshot/options/{underlying-asset}/{option-contract}" name: "snapshot-options-underlyingasset-optioncontract" description: "REST surface for snapshot-options-underlyingasset-optioncontract." operations: - method: GET name: "getOptionContractSnapshot" description: "Get Option Contract Snapshot" call: "options-snapshots.getOptionContractSnapshot" with: underlyingAsset: "rest.underlyingAsset" optionContract: "rest.optionContract" outputParameters: - type: object mapping: "$." - path: "/v1/v3/snapshot/options/{underlying-asset}" name: "snapshot-options-underlyingasset" description: "REST surface for snapshot-options-underlyingasset." operations: - method: GET name: "getOptionsChainSnapshot" description: "Get Options Chain Snapshot" call: "options-snapshots.getOptionsChainSnapshot" with: underlyingAsset: "rest.underlyingAsset" strike_price: "rest.strike_price" expiration_date: "rest.expiration_date" contract_type: "rest.contract_type" limit: "rest.limit" outputParameters: - type: object mapping: "$." - type: mcp namespace: "options-snapshots-mcp" port: 9090 transport: http description: "MCP adapter for Polygon Options REST API — Snapshots." tools: - name: "get-option-contract-snapshot" description: "Get Option Contract Snapshot" hints: readOnly: true destructive: false idempotent: true call: "options-snapshots.getOptionContractSnapshot" with: underlyingAsset: "tools.underlyingAsset" optionContract: "tools.optionContract" outputParameters: - type: object mapping: "$." - name: "get-options-chain-snapshot" description: "Get Options Chain Snapshot" hints: readOnly: true destructive: false idempotent: true call: "options-snapshots.getOptionsChainSnapshot" with: underlyingAsset: "tools.underlyingAsset" strike_price: "tools.strike_price" expiration_date: "tools.expiration_date" contract_type: "tools.contract_type" limit: "tools.limit" outputParameters: - type: object mapping: "$."