naftiko: 1.0.0-alpha2 info: label: HubSpot CMS Pages API — Site Pages description: 'HubSpot CMS Pages API — Site Pages. 6 operations. Lead operation: Hubspot List Site Pages. Self-contained Naftiko capability covering one Hubspot business surface.' tags: - Hubspot - Site 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-site-pages baseUri: https://api.hubapi.com description: HubSpot CMS Pages API — Site Pages business capability. Self-contained, no shared references. resources: - name: cms-v3-pages-site-pages path: /cms/v3/pages/site-pages operations: - name: listsitepages method: GET description: Hubspot List Site 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 pages created at this timestamp. - name: updatedAt in: query type: string description: Filter pages updated at this timestamp. - name: archived in: query type: boolean description: Whether to return archived pages. - name: createsitepage method: POST description: Hubspot Create a Site 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-site-pages-objectId path: /cms/v3/pages/site-pages/{objectId} operations: - name: getsitepage method: GET description: Hubspot Get a Site Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: objectId in: path type: string description: The ID of the site page to retrieve. required: true - name: archived in: query type: boolean description: Whether to return archived pages. - name: updatesitepage method: PATCH description: Hubspot Update a Site Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: objectId in: path type: string description: The ID of the site page to update. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletesitepage method: DELETE description: Hubspot Delete a Site Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: objectId in: path type: string description: The ID of the site page to delete. required: true - name: cms-v3-pages-site-pages-objectId-draft-push-live path: /cms/v3/pages/site-pages/{objectId}/draft/push-live operations: - name: publishsitepage method: POST description: Hubspot Publish a Site Page outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: objectId in: path type: string description: The ID of the site page to publish. required: true authentication: type: bearer token: '{{env.HUBSPOT_API_KEY}}' exposes: - type: rest namespace: cms-pages-site-pages-rest port: 8080 description: REST adapter for HubSpot CMS Pages API — Site Pages. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/cms/v3/pages/site-pages name: cms-v3-pages-site-pages description: REST surface for cms-v3-pages-site-pages. operations: - method: GET name: listsitepages description: Hubspot List Site Pages call: cms-pages-site-pages.listsitepages 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: createsitepage description: Hubspot Create a Site Page call: cms-pages-site-pages.createsitepage with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/cms/v3/pages/site-pages/{objectid} name: cms-v3-pages-site-pages-objectid description: REST surface for cms-v3-pages-site-pages-objectId. operations: - method: GET name: getsitepage description: Hubspot Get a Site Page call: cms-pages-site-pages.getsitepage with: objectId: rest.objectId archived: rest.archived outputParameters: - type: object mapping: $. - method: PATCH name: updatesitepage description: Hubspot Update a Site Page call: cms-pages-site-pages.updatesitepage with: objectId: rest.objectId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletesitepage description: Hubspot Delete a Site Page call: cms-pages-site-pages.deletesitepage with: objectId: rest.objectId outputParameters: - type: object mapping: $. - path: /v1/cms/v3/pages/site-pages/{objectid}/draft/push-live name: cms-v3-pages-site-pages-objectid-draft-push-live description: REST surface for cms-v3-pages-site-pages-objectId-draft-push-live. operations: - method: POST name: publishsitepage description: Hubspot Publish a Site Page call: cms-pages-site-pages.publishsitepage with: objectId: rest.objectId outputParameters: - type: object mapping: $. - type: mcp namespace: cms-pages-site-pages-mcp port: 9090 transport: http description: MCP adapter for HubSpot CMS Pages API — Site Pages. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: hubspot-list-site-pages description: Hubspot List Site Pages hints: readOnly: true destructive: false idempotent: true call: cms-pages-site-pages.listsitepages 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-site-page description: Hubspot Create a Site Page hints: readOnly: false destructive: false idempotent: false call: cms-pages-site-pages.createsitepage with: body: tools.body outputParameters: - type: object mapping: $. - name: hubspot-get-site-page description: Hubspot Get a Site Page hints: readOnly: true destructive: false idempotent: true call: cms-pages-site-pages.getsitepage with: objectId: tools.objectId archived: tools.archived outputParameters: - type: object mapping: $. - name: hubspot-update-site-page description: Hubspot Update a Site Page hints: readOnly: false destructive: false idempotent: true call: cms-pages-site-pages.updatesitepage with: objectId: tools.objectId body: tools.body outputParameters: - type: object mapping: $. - name: hubspot-delete-site-page description: Hubspot Delete a Site Page hints: readOnly: false destructive: true idempotent: true call: cms-pages-site-pages.deletesitepage with: objectId: tools.objectId outputParameters: - type: object mapping: $. - name: hubspot-publish-site-page description: Hubspot Publish a Site Page hints: readOnly: false destructive: false idempotent: false call: cms-pages-site-pages.publishsitepage with: objectId: tools.objectId outputParameters: - type: object mapping: $.