naftiko: 1.0.0-alpha2 info: label: Stacker API — Records description: 'Stacker API — Records. 6 operations. Lead operation: Bulk Upsert Records. Self-contained Naftiko capability covering one Stacker business surface.' tags: - Stacker - Records created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: STACKER_API_KEY: STACKER_API_KEY capability: consumes: - type: http namespace: stacker-records baseUri: https://api.go.stackerhq.com description: Stacker API — Records business capability. Self-contained, no shared references. resources: - name: api-external-objects-object_sid-bulk-records path: /api/external/objects/{object_sid}/bulk-records/ operations: - name: bulkupsertrecords method: POST description: Bulk Upsert Records outputRawFormat: json outputParameters: - name: result type: object value: $. 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 - name: body in: body type: object description: Request body (JSON). required: true - name: api-external-objects-object_sid-records path: /api/external/objects/{object_sid}/records/ operations: - name: createrecord method: POST description: Create Record outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: object_sid in: path type: string description: The object SID required: true - name: X-Account-Id in: header type: string required: true - name: X-Stack-Id in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: api-external-objects-object_sid-records-record_sid path: /api/external/objects/{object_sid}/records/{record_sid}/ operations: - name: getrecord method: GET description: Get Record outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: object_sid in: path type: string required: true - name: record_sid in: path type: string required: true - name: include_fields in: query type: string description: JSON array string of field API names to include in response - name: X-Account-Id in: header type: string required: true - name: X-Stack-Id in: header type: string required: true - name: updaterecord method: PATCH description: Update Record outputRawFormat: json outputParameters: - name: result type: object value: $. 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 - name: body in: body type: object description: Request body (JSON). required: true - name: deleterecord method: DELETE description: Delete Record outputRawFormat: json outputParameters: - name: result type: object value: $. 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 - name: api-external-objects-object_sid-search path: /api/external/objects/{object_sid}/search/ operations: - name: searchrecords method: POST description: Search Records outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: object_sid in: path type: string description: The object SID required: true - name: X-Account-Id in: header type: string required: true - name: X-Stack-Id in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: apikey key: X-Integration-Key value: '{{env.STACKER_API_KEY}}' placement: header exposes: - type: rest namespace: stacker-records-rest port: 8080 description: REST adapter for Stacker API — Records. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/external/objects/{object-sid}/bulk-records name: api-external-objects-object-sid-bulk-records description: REST surface for api-external-objects-object_sid-bulk-records. operations: - method: POST name: bulkupsertrecords description: Bulk Upsert Records call: stacker-records.bulkupsertrecords with: object_sid: rest.object_sid X-Account-Id: rest.X-Account-Id X-Stack-Id: rest.X-Stack-Id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/external/objects/{object-sid}/records name: api-external-objects-object-sid-records description: REST surface for api-external-objects-object_sid-records. operations: - method: POST name: createrecord description: Create Record call: stacker-records.createrecord with: object_sid: rest.object_sid X-Account-Id: rest.X-Account-Id X-Stack-Id: rest.X-Stack-Id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/api/external/objects/{object-sid}/records/{record-sid} name: api-external-objects-object-sid-records-record-sid description: REST surface for api-external-objects-object_sid-records-record_sid. operations: - method: GET name: getrecord description: Get Record call: stacker-records.getrecord with: object_sid: rest.object_sid record_sid: rest.record_sid include_fields: rest.include_fields X-Account-Id: rest.X-Account-Id X-Stack-Id: rest.X-Stack-Id outputParameters: - type: object mapping: $. - method: PATCH name: updaterecord description: Update Record call: stacker-records.updaterecord with: object_sid: rest.object_sid record_sid: rest.record_sid X-Account-Id: rest.X-Account-Id X-Stack-Id: rest.X-Stack-Id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleterecord description: Delete Record call: stacker-records.deleterecord with: object_sid: rest.object_sid record_sid: rest.record_sid X-Account-Id: rest.X-Account-Id X-Stack-Id: rest.X-Stack-Id outputParameters: - type: object mapping: $. - path: /v1/api/external/objects/{object-sid}/search name: api-external-objects-object-sid-search description: REST surface for api-external-objects-object_sid-search. operations: - method: POST name: searchrecords description: Search Records call: stacker-records.searchrecords with: object_sid: rest.object_sid X-Account-Id: rest.X-Account-Id X-Stack-Id: rest.X-Stack-Id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: stacker-records-mcp port: 9090 transport: http description: MCP adapter for Stacker API — Records. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: bulk-upsert-records description: Bulk Upsert Records hints: readOnly: false destructive: false idempotent: false call: stacker-records.bulkupsertrecords with: object_sid: tools.object_sid X-Account-Id: tools.X-Account-Id X-Stack-Id: tools.X-Stack-Id body: tools.body outputParameters: - type: object mapping: $. - name: create-record description: Create Record hints: readOnly: false destructive: false idempotent: false call: stacker-records.createrecord with: object_sid: tools.object_sid X-Account-Id: tools.X-Account-Id X-Stack-Id: tools.X-Stack-Id body: tools.body outputParameters: - type: object mapping: $. - name: get-record description: Get Record hints: readOnly: true destructive: false idempotent: true call: stacker-records.getrecord with: object_sid: tools.object_sid record_sid: tools.record_sid include_fields: tools.include_fields X-Account-Id: tools.X-Account-Id X-Stack-Id: tools.X-Stack-Id outputParameters: - type: object mapping: $. - name: update-record description: Update Record hints: readOnly: false destructive: false idempotent: true call: stacker-records.updaterecord with: object_sid: tools.object_sid record_sid: tools.record_sid X-Account-Id: tools.X-Account-Id X-Stack-Id: tools.X-Stack-Id body: tools.body outputParameters: - type: object mapping: $. - name: delete-record description: Delete Record hints: readOnly: false destructive: true idempotent: true call: stacker-records.deleterecord with: object_sid: tools.object_sid record_sid: tools.record_sid X-Account-Id: tools.X-Account-Id X-Stack-Id: tools.X-Stack-Id outputParameters: - type: object mapping: $. - name: search-records description: Search Records hints: readOnly: true destructive: false idempotent: false call: stacker-records.searchrecords with: object_sid: tools.object_sid X-Account-Id: tools.X-Account-Id X-Stack-Id: tools.X-Stack-Id body: tools.body outputParameters: - type: object mapping: $.