Stacker · Capability
Stacker API — Records
Stacker API — Records. 6 operations. Lead operation: Bulk Upsert Records. Self-contained Naftiko capability covering one Stacker business surface.
What You Can Do
POST
Bulkupsertrecords
— Bulk Upsert Records
/v1/api/external/objects/{object-sid}/bulk-records
POST
Createrecord
— Create Record
/v1/api/external/objects/{object-sid}/records
GET
Getrecord
— Get Record
/v1/api/external/objects/{object-sid}/records/{record-sid}
PATCH
Updaterecord
— Update Record
/v1/api/external/objects/{object-sid}/records/{record-sid}
DELETE
Deleterecord
— Delete Record
/v1/api/external/objects/{object-sid}/records/{record-sid}
POST
Searchrecords
— Search Records
/v1/api/external/objects/{object-sid}/search
MCP Tools
bulk-upsert-records
Bulk Upsert Records
create-record
Create Record
get-record
Get Record
read-only
idempotent
update-record
Update Record
idempotent
delete-record
Delete Record
idempotent
search-records
Search Records
read-only
Capability Spec
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: $.