naftiko: 1.0.0-alpha2 info: label: Coda API — Analytics description: 'Coda API — Analytics. 7 operations. Lead operation: List doc analytics. Self-contained Naftiko capability covering one Coda business surface.' tags: - Coda - Analytics created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CODA_API_KEY: CODA_API_KEY capability: consumes: - type: http namespace: coda-analytics baseUri: https://coda.io/apis/v1 description: Coda API — Analytics business capability. Self-contained, no shared references. resources: - name: analytics-docs path: /analytics/docs operations: - name: listdocanalytics method: GET description: List doc analytics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Maximum number of results to return in this query. - name: analytics-docs-summary path: /analytics/docs/summary operations: - name: listdocanalyticssummary method: GET description: Get doc analytics summary outputRawFormat: json outputParameters: - name: result type: object value: $. - name: analytics-docs-docId-pages path: /analytics/docs/{docId}/pages operations: - name: listpageanalytics method: GET description: List page analytics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Maximum number of results to return in this query. - name: analytics-packs path: /analytics/packs operations: - name: listpackanalytics method: GET description: List Pack analytics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Maximum number of results to return in this query. - name: analytics-packs-summary path: /analytics/packs/summary operations: - name: listpackanalyticssummary method: GET description: Get Pack analytics summary outputRawFormat: json outputParameters: - name: result type: object value: $. - name: analytics-packs-packId-formulas path: /analytics/packs/{packId}/formulas operations: - name: listpackformulaanalytics method: GET description: List Pack formula analytics outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: packFormulaNames in: query type: array description: A list of Pack formula names (case-sensitive) for which to retrieve analytics. - name: packFormulaTypes in: query type: array description: A list of Pack formula types corresponding to the `packFormulaNames`. If specified, this must have the same length as `packFormulaNames`. - name: limit in: query type: integer description: Maximum number of results to return in this query. - name: analytics-updated path: /analytics/updated operations: - name: getanalyticslastupdated method: GET description: Get analytics last updated day outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.CODA_API_KEY}}' exposes: - type: rest namespace: coda-analytics-rest port: 8080 description: REST adapter for Coda API — Analytics. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/analytics/docs name: analytics-docs description: REST surface for analytics-docs. operations: - method: GET name: listdocanalytics description: List doc analytics call: coda-analytics.listdocanalytics with: limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/analytics/docs/summary name: analytics-docs-summary description: REST surface for analytics-docs-summary. operations: - method: GET name: listdocanalyticssummary description: Get doc analytics summary call: coda-analytics.listdocanalyticssummary outputParameters: - type: object mapping: $. - path: /v1/analytics/docs/{docid}/pages name: analytics-docs-docid-pages description: REST surface for analytics-docs-docId-pages. operations: - method: GET name: listpageanalytics description: List page analytics call: coda-analytics.listpageanalytics with: limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/analytics/packs name: analytics-packs description: REST surface for analytics-packs. operations: - method: GET name: listpackanalytics description: List Pack analytics call: coda-analytics.listpackanalytics with: limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/analytics/packs/summary name: analytics-packs-summary description: REST surface for analytics-packs-summary. operations: - method: GET name: listpackanalyticssummary description: Get Pack analytics summary call: coda-analytics.listpackanalyticssummary outputParameters: - type: object mapping: $. - path: /v1/analytics/packs/{packid}/formulas name: analytics-packs-packid-formulas description: REST surface for analytics-packs-packId-formulas. operations: - method: GET name: listpackformulaanalytics description: List Pack formula analytics call: coda-analytics.listpackformulaanalytics with: packFormulaNames: rest.packFormulaNames packFormulaTypes: rest.packFormulaTypes limit: rest.limit outputParameters: - type: object mapping: $. - path: /v1/analytics/updated name: analytics-updated description: REST surface for analytics-updated. operations: - method: GET name: getanalyticslastupdated description: Get analytics last updated day call: coda-analytics.getanalyticslastupdated outputParameters: - type: object mapping: $. - type: mcp namespace: coda-analytics-mcp port: 9090 transport: http description: MCP adapter for Coda API — Analytics. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-doc-analytics description: List doc analytics hints: readOnly: true destructive: false idempotent: true call: coda-analytics.listdocanalytics with: limit: tools.limit outputParameters: - type: object mapping: $. - name: get-doc-analytics-summary description: Get doc analytics summary hints: readOnly: true destructive: false idempotent: true call: coda-analytics.listdocanalyticssummary outputParameters: - type: object mapping: $. - name: list-page-analytics description: List page analytics hints: readOnly: true destructive: false idempotent: true call: coda-analytics.listpageanalytics with: limit: tools.limit outputParameters: - type: object mapping: $. - name: list-pack-analytics description: List Pack analytics hints: readOnly: true destructive: false idempotent: true call: coda-analytics.listpackanalytics with: limit: tools.limit outputParameters: - type: object mapping: $. - name: get-pack-analytics-summary description: Get Pack analytics summary hints: readOnly: true destructive: false idempotent: true call: coda-analytics.listpackanalyticssummary outputParameters: - type: object mapping: $. - name: list-pack-formula-analytics description: List Pack formula analytics hints: readOnly: true destructive: false idempotent: true call: coda-analytics.listpackformulaanalytics with: packFormulaNames: tools.packFormulaNames packFormulaTypes: tools.packFormulaTypes limit: tools.limit outputParameters: - type: object mapping: $. - name: get-analytics-last-updated-day description: Get analytics last updated day hints: readOnly: true destructive: false idempotent: true call: coda-analytics.getanalyticslastupdated outputParameters: - type: object mapping: $.