naftiko: 1.0.0-alpha2 info: label: HubSpot CMS Pages API — Landing Pages description: 'HubSpot CMS Pages API — Landing Pages. 4 operations. Lead operation: Hubspot List Landing Pages. Self-contained Naftiko capability covering one Hubspot business surface.' tags: - Hubspot - Landing Pages created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: HUBSPOT_API_KEY: HUBSPOT_API_KEY capability: consumes: - type: http namespace: cms-pages-landing-pages baseUri: https://api.hubapi.com description: HubSpot CMS Pages API — Landing Pages business capability. Self-contained, no shared references. resources: - name: cms-v3-pages-landing-pages path: /cms/v3/pages/landing-pages operations: - name: listlandingpages method: GET description: Hubspot List Landing Pages outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sort in: query type: string description: Field to sort results by. - name: after in: query type: string description: The cursor for pagination to get the next page of results. - name: limit in: query type: integer description: The maximum number of results to return per page. - name: createdAt in: query type: string description: Filter landing pages created at this timestamp. - name: updatedAt in: query type: string description: Filter landing pages updated at this timestamp. - name: archived in: query type: boolean description: Whether to return archived landing pages. - name: createlandingpage method: POST description: Hubspot Create a Landing Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: cms-v3-pages-landing-pages-objectId path: /cms/v3/pages/landing-pages/{objectId} operations: - name: getlandingpage method: GET description: Hubspot Get a Landing Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: objectId in: path type: string description: The ID of the landing page to retrieve. required: true - name: archived in: query type: boolean description: Whether to return archived landing pages. - name: deletelandingpage method: DELETE description: Hubspot Delete a Landing Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: objectId in: path type: string description: The ID of the landing page to delete. required: true authentication: type: bearer token: '{{env.HUBSPOT_API_KEY}}' exposes: - type: rest namespace: cms-pages-landing-pages-rest port: 8080 description: REST adapter for HubSpot CMS Pages API — Landing Pages. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/cms/v3/pages/landing-pages name: cms-v3-pages-landing-pages description: REST surface for cms-v3-pages-landing-pages. operations: - method: GET name: listlandingpages description: Hubspot List Landing Pages call: cms-pages-landing-pages.listlandingpages with: sort: rest.sort after: rest.after limit: rest.limit createdAt: rest.createdAt updatedAt: rest.updatedAt archived: rest.archived outputParameters: - type: object mapping: $. - method: POST name: createlandingpage description: Hubspot Create a Landing Page call: cms-pages-landing-pages.createlandingpage with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/cms/v3/pages/landing-pages/{objectid} name: cms-v3-pages-landing-pages-objectid description: REST surface for cms-v3-pages-landing-pages-objectId. operations: - method: GET name: getlandingpage description: Hubspot Get a Landing Page call: cms-pages-landing-pages.getlandingpage with: objectId: rest.objectId archived: rest.archived outputParameters: - type: object mapping: $. - method: DELETE name: deletelandingpage description: Hubspot Delete a Landing Page call: cms-pages-landing-pages.deletelandingpage with: objectId: rest.objectId outputParameters: - type: object mapping: $. - type: mcp namespace: cms-pages-landing-pages-mcp port: 9090 transport: http description: MCP adapter for HubSpot CMS Pages API — Landing Pages. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: hubspot-list-landing-pages description: Hubspot List Landing Pages hints: readOnly: true destructive: false idempotent: true call: cms-pages-landing-pages.listlandingpages with: sort: tools.sort after: tools.after limit: tools.limit createdAt: tools.createdAt updatedAt: tools.updatedAt archived: tools.archived outputParameters: - type: object mapping: $. - name: hubspot-create-landing-page description: Hubspot Create a Landing Page hints: readOnly: false destructive: false idempotent: false call: cms-pages-landing-pages.createlandingpage with: body: tools.body outputParameters: - type: object mapping: $. - name: hubspot-get-landing-page description: Hubspot Get a Landing Page hints: readOnly: true destructive: false idempotent: true call: cms-pages-landing-pages.getlandingpage with: objectId: tools.objectId archived: tools.archived outputParameters: - type: object mapping: $. - name: hubspot-delete-landing-page description: Hubspot Delete a Landing Page hints: readOnly: false destructive: true idempotent: true call: cms-pages-landing-pages.deletelandingpage with: objectId: tools.objectId outputParameters: - type: object mapping: $.