Modern Treasury · Capability
Modern Treasury — Hold
Modern Treasury — Hold. 4 operations. Lead operation: list holds. Self-contained Naftiko capability covering one Modern Treasury business surface.
What You Can Do
GET
Listholds
— list holds
/v1/api/holds
POST
Createhold
— create hold
/v1/api/holds
GET
Showhold
— show hold
/v1/api/holds/{id}
PATCH
Updatehold
— update hold
/v1/api/holds/{id}
MCP Tools
list-holds
list holds
read-only
idempotent
create-hold
create hold
show-hold
show hold
read-only
idempotent
update-hold
update hold
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Modern Treasury — Hold
description: 'Modern Treasury — Hold. 4 operations. Lead operation: list holds. Self-contained Naftiko capability covering
one Modern Treasury business surface.'
tags:
- Modern Treasury
- Hold
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
MODERN_TREASURY_API_KEY: MODERN_TREASURY_API_KEY
capability:
consumes:
- type: http
namespace: modern-treasury-hold
baseUri: http://localhost:3000
description: Modern Treasury — Hold business capability. Self-contained, no shared references.
resources:
- name: api-holds
path: /api/holds
operations:
- name: listholds
method: GET
description: list holds
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: after_cursor
in: query
type: string
- name: per_page
in: query
type: integer
- name: target_id
in: query
type: string
description: 'Translation missing: en.openapi.descriptions.payment_order.query_params.target_id'
- name: target_type
in: query
type: string
description: 'Translation missing: en.openapi.descriptions.payment_order.query_params.target_type'
- name: status
in: query
type: string
description: 'Translation missing: en.openapi.descriptions.payment_order.query_params.status'
- name: createhold
method: POST
description: create hold
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: Idempotency-Key
in: header
type: string
description: This key should be something unique, preferably something like an UUID.
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: api-holds-id
path: /api/holds/{id}
operations:
- name: showhold
method: GET
description: show hold
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: hold id
required: true
- name: updatehold
method: PATCH
description: update hold
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: hold id
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
authentication:
type: basic
username: '{{env.MODERN_TREASURY_USER}}'
password: '{{env.MODERN_TREASURY_PASS}}'
exposes:
- type: rest
namespace: modern-treasury-hold-rest
port: 8080
description: REST adapter for Modern Treasury — Hold. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/api/holds
name: api-holds
description: REST surface for api-holds.
operations:
- method: GET
name: listholds
description: list holds
call: modern-treasury-hold.listholds
with:
after_cursor: rest.after_cursor
per_page: rest.per_page
target_id: rest.target_id
target_type: rest.target_type
status: rest.status
outputParameters:
- type: object
mapping: $.
- method: POST
name: createhold
description: create hold
call: modern-treasury-hold.createhold
with:
Idempotency-Key: rest.Idempotency-Key
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/api/holds/{id}
name: api-holds-id
description: REST surface for api-holds-id.
operations:
- method: GET
name: showhold
description: show hold
call: modern-treasury-hold.showhold
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: updatehold
description: update hold
call: modern-treasury-hold.updatehold
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: modern-treasury-hold-mcp
port: 9090
transport: http
description: MCP adapter for Modern Treasury — Hold. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: list-holds
description: list holds
hints:
readOnly: true
destructive: false
idempotent: true
call: modern-treasury-hold.listholds
with:
after_cursor: tools.after_cursor
per_page: tools.per_page
target_id: tools.target_id
target_type: tools.target_type
status: tools.status
outputParameters:
- type: object
mapping: $.
- name: create-hold
description: create hold
hints:
readOnly: false
destructive: false
idempotent: false
call: modern-treasury-hold.createhold
with:
Idempotency-Key: tools.Idempotency-Key
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: show-hold
description: show hold
hints:
readOnly: true
destructive: false
idempotent: true
call: modern-treasury-hold.showhold
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: update-hold
description: update hold
hints:
readOnly: false
destructive: false
idempotent: true
call: modern-treasury-hold.updatehold
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.