naftiko: 1.0.0-alpha2 info: label: Stacker Data Management description: Unified workflow capability for managing data within Stacker no-code applications. Covers account and stack discovery, object (table) inspection, and full record lifecycle operations including search, create, update, delete, and bulk upsert. Designed for developers, data teams, and automation engineers building integrations on top of Stacker portals. tags: - No-Code - Records - Data Management - Portals - Application Development created: '2026-05-02' modified: '2026-05-06' binds: - namespace: env keys: STACKER_INTEGRATION_KEY: STACKER_INTEGRATION_KEY capability: consumes: - type: http namespace: stacker baseUri: https://api.go.stackerhq.com description: Stacker no-code platform API for managing records, objects, and accounts. authentication: type: apikey key: X-Integration-Key value: '{{STACKER_INTEGRATION_KEY}}' placement: header resources: - name: hello path: /api/external/hello/ description: Health check endpoint operations: - name: get-hello method: GET description: Health check - verify API connectivity outputRawFormat: json outputParameters: - name: result type: object value: $. - name: accounts path: /api/external/accounts/ description: Manage Stacker accounts operations: - name: list-accounts method: GET description: List all accounts accessible by the integration key outputRawFormat: json outputParameters: - name: result type: object value: $. - name: objects path: /api/external/objects/ description: List objects (tables) in a stack operations: - name: list-objects method: GET description: List all objects for an account and stack inputParameters: - name: X-Account-Id in: header type: string required: true description: The Stacker account ID - name: X-Stack-Id in: header type: string required: true description: The Stacker stack ID outputRawFormat: json outputParameters: - name: result type: object value: $. - name: records path: /api/external/objects/{object_sid}/search/ description: Search and paginate records within an object operations: - name: search-records method: POST description: Search records in an object with filtering and pagination inputParameters: - name: object_sid in: path type: string required: true description: The object SID - name: X-Account-Id in: header type: string required: true description: The Stacker account ID - name: X-Stack-Id in: header type: string required: true description: The Stacker stack ID body: type: json data: search: '{{tools.search}}' count: '{{tools.count}}' start: '{{tools.start}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: create-record method: POST description: Create a new record in an object inputParameters: - name: object_sid in: path type: string required: true description: The object SID - name: X-Account-Id in: header type: string required: true - name: X-Stack-Id in: header type: string required: true body: type: json data: fields: '{{tools.fields}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: get-record method: GET description: Retrieve a single record by SID inputParameters: - name: object_sid in: path type: string required: true - name: record_sid in: path type: string required: true - name: X-Account-Id in: header type: string required: true - name: X-Stack-Id in: header type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: update-record method: PATCH description: Partially update a record inputParameters: - name: object_sid in: path type: string required: true - name: record_sid in: path type: string required: true - name: X-Account-Id in: header type: string required: true - name: X-Stack-Id in: header type: string required: true body: type: json data: fields: '{{tools.fields}}' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: delete-record method: DELETE description: Delete a record by SID inputParameters: - name: object_sid in: path type: string required: true - name: record_sid in: path type: string required: true - name: X-Account-Id in: header type: string required: true - name: X-Stack-Id in: header type: string required: true outputRawFormat: json outputParameters: - name: result type: object value: $. - name: bulk-upsert-records method: POST description: Create or update up to 1000 records in a single request inputParameters: - name: object_sid in: path type: string required: true - name: X-Account-Id in: header type: string required: true - name: X-Stack-Id in: header type: string required: true body: type: json data: records: '{{tools.records}}' outputRawFormat: json outputParameters: - name: result type: object value: $. exposes: - type: rest port: 8080 namespace: stacker-data-api description: Unified REST API for Stacker data management. resources: - path: /v1/accounts name: accounts description: Stacker accounts operations: - method: GET name: list-accounts description: List all accounts accessible by the integration key call: stacker.list-accounts outputParameters: - type: object mapping: $. - path: /v1/stacks/{stack_id}/objects name: objects description: Objects (tables) in a Stacker stack operations: - method: GET name: list-objects description: List all objects for a given stack call: stacker.list-objects with: X-Stack-Id: rest.stack_id outputParameters: - type: object mapping: $. - path: /v1/stacks/{stack_id}/objects/{object_sid}/records name: records description: Records within a Stacker object operations: - method: POST name: search-records description: Search and filter records call: stacker.search-records with: object_sid: rest.object_sid X-Stack-Id: rest.stack_id outputParameters: - type: object mapping: $. - method: POST name: create-record description: Create a new record call: stacker.create-record with: object_sid: rest.object_sid X-Stack-Id: rest.stack_id outputParameters: - type: object mapping: $. - path: /v1/stacks/{stack_id}/objects/{object_sid}/records/{record_sid} name: record description: Single record operations operations: - method: GET name: get-record description: Get a record by SID call: stacker.get-record with: object_sid: rest.object_sid record_sid: rest.record_sid X-Stack-Id: rest.stack_id outputParameters: - type: object mapping: $. - method: PATCH name: update-record description: Update record fields call: stacker.update-record with: object_sid: rest.object_sid record_sid: rest.record_sid X-Stack-Id: rest.stack_id outputParameters: - type: object mapping: $. - method: DELETE name: delete-record description: Delete a record call: stacker.delete-record with: object_sid: rest.object_sid record_sid: rest.record_sid X-Stack-Id: rest.stack_id outputParameters: - type: object mapping: $. - path: /v1/stacks/{stack_id}/objects/{object_sid}/bulk-records name: bulk-records description: Bulk record operations operations: - method: POST name: bulk-upsert-records description: Create or update up to 1000 records call: stacker.bulk-upsert-records with: object_sid: rest.object_sid X-Stack-Id: rest.stack_id outputParameters: - type: object mapping: $. - type: mcp port: 9090 namespace: stacker-data-mcp transport: http description: MCP server for AI-assisted Stacker data management. tools: - name: list-accounts description: List all Stacker accounts accessible via the integration key hints: readOnly: true call: stacker.list-accounts outputParameters: - type: object mapping: $. - name: list-objects description: List all objects (tables) in a Stacker application stack hints: readOnly: true call: stacker.list-objects with: X-Account-Id: tools.account_id X-Stack-Id: tools.stack_id outputParameters: - type: object mapping: $. - name: search-records description: Search, filter, and paginate records within a Stacker object hints: readOnly: true openWorld: true call: stacker.search-records with: object_sid: tools.object_sid search: tools.search outputParameters: - type: object mapping: $. - name: get-record description: Get a single Stacker record by SID hints: readOnly: true call: stacker.get-record with: object_sid: tools.object_sid record_sid: tools.record_sid outputParameters: - type: object mapping: $. - name: create-record description: Create a new record in a Stacker object hints: readOnly: false call: stacker.create-record with: object_sid: tools.object_sid outputParameters: - type: object mapping: $. - name: update-record description: Update one or more fields on an existing Stacker record hints: readOnly: false idempotent: true call: stacker.update-record with: object_sid: tools.object_sid record_sid: tools.record_sid outputParameters: - type: object mapping: $. - name: delete-record description: Permanently delete a Stacker record hints: readOnly: false destructive: true idempotent: true call: stacker.delete-record with: object_sid: tools.object_sid record_sid: tools.record_sid outputParameters: - type: object mapping: $. - name: bulk-upsert-records description: Create or update up to 1000 Stacker records in a single operation hints: readOnly: false call: stacker.bulk-upsert-records with: object_sid: tools.object_sid outputParameters: - type: object mapping: $.