Factset · Capability
FactSet Portfolio Metadata API — Account
FactSet Portfolio Metadata API — Account. 10 operations. Lead operation: Account. Self-contained Naftiko capability covering one Factset business surface.
What You Can Do
POST
Createaccount
— Create a new account
/v1/account
GET
Listaccount
— List account
/v1/account
POST
Createaccountcomposite
— Create a new account composite
/v1/account-composite
GET
Listaccountcomposite
— List account composite
/v1/account-composite
DELETE
Deleteaccountcomposite
— Remove a account composite
/v1/account-composite/{id}
GET
Readaccountcomposite
— Read a account composite
/v1/account-composite/{id}
PUT
Updateaccountcomposite
— Modify a account composite
/v1/account-composite/{id}
DELETE
Deleteaccount
— Remove a account
/v1/account/{id}
GET
Readaccount
— Read a account
/v1/account/{id}
PUT
Updateaccount
— Modify a account
/v1/account/{id}
MCP Tools
create-new-account
Create a new account
list-account
List account
read-only
idempotent
create-new-account-composite
Create a new account composite
list-account-composite
List account composite
read-only
idempotent
remove-account-composite
Remove a account composite
idempotent
read-account-composite
Read a account composite
read-only
idempotent
modify-account-composite
Modify a account composite
idempotent
remove-account
Remove a account
idempotent
read-account
Read a account
read-only
idempotent
modify-account
Modify a account
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: FactSet Portfolio Metadata API — Account
description: 'FactSet Portfolio Metadata API — Account. 10 operations. Lead operation: Account. Self-contained Naftiko capability
covering one Factset business surface.'
tags:
- Factset
- Account
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
FACTSET_API_KEY: FACTSET_API_KEY
capability:
consumes:
- type: http
namespace: portfolio-metadata-account
baseUri: https://api.factset.com/analytics/portfolio-metadata/v1
description: FactSet Portfolio Metadata API — Account business capability. Self-contained, no shared references.
resources:
- name: account
path: /account
operations:
- name: createaccount
method: POST
description: Create a new account
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: listaccount
method: GET
description: List account
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: path
in: query
type: string
description: Directory to list
- name: name
in: query
type: string
description: Return only files whose name includes this query
- name: description
in: query
type: string
description: Return only files whose name includes this query
- name: _paginationLimit
in: query
type: number
description: Number of directory items to return
- name: _paginationCursor
in: query
type: string
description: Cursor used for paging. Fetch items after the specified cursor
- name: account-composite
path: /account-composite
operations:
- name: createaccountcomposite
method: POST
description: Create a new account composite
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: listaccountcomposite
method: GET
description: List account composite
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: path
in: query
type: string
description: Directory to list
- name: name
in: query
type: string
description: Return only files whose name includes this query
- name: description
in: query
type: string
description: Return only files whose name includes this query
- name: _paginationLimit
in: query
type: number
description: Number of directory items to return
- name: _paginationCursor
in: query
type: string
description: Cursor used for paging. Fetch items after the specified cursor
- name: account-composite-id
path: /account-composite/{id}
operations:
- name: deleteaccountcomposite
method: DELETE
description: Remove a account composite
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Unique identifier for the account composite to be deleted
required: true
- name: reason
in: query
type: string
description: User auditable reason that the account composite is being removed
- name: readaccountcomposite
method: GET
description: Read a account composite
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Unique identifier of the account composite to be read
required: true
- name: updateaccountcomposite
method: PUT
description: Modify a account composite
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Unique identifier for the account composite to be updated
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
- name: account-id
path: /account/{id}
operations:
- name: deleteaccount
method: DELETE
description: Remove a account
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Unique identifier for the account to be deleted
required: true
- name: reason
in: query
type: string
description: User auditable reason that the account is being removed
- name: readaccount
method: GET
description: Read a account
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Unique identifier of the account to be read
required: true
- name: updateaccount
method: PUT
description: Modify a account
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: id
in: path
type: string
description: Unique identifier for the account to be updated
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: true
authentication:
type: bearer
token: '{{env.FACTSET_API_KEY}}'
exposes:
- type: rest
namespace: portfolio-metadata-account-rest
port: 8080
description: REST adapter for FactSet Portfolio Metadata API — Account. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/account
name: account
description: REST surface for account.
operations:
- method: POST
name: createaccount
description: Create a new account
call: portfolio-metadata-account.createaccount
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: listaccount
description: List account
call: portfolio-metadata-account.listaccount
with:
path: rest.path
name: rest.name
description: rest.description
_paginationLimit: rest._paginationLimit
_paginationCursor: rest._paginationCursor
outputParameters:
- type: object
mapping: $.
- path: /v1/account-composite
name: account-composite
description: REST surface for account-composite.
operations:
- method: POST
name: createaccountcomposite
description: Create a new account composite
call: portfolio-metadata-account.createaccountcomposite
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: GET
name: listaccountcomposite
description: List account composite
call: portfolio-metadata-account.listaccountcomposite
with:
path: rest.path
name: rest.name
description: rest.description
_paginationLimit: rest._paginationLimit
_paginationCursor: rest._paginationCursor
outputParameters:
- type: object
mapping: $.
- path: /v1/account-composite/{id}
name: account-composite-id
description: REST surface for account-composite-id.
operations:
- method: DELETE
name: deleteaccountcomposite
description: Remove a account composite
call: portfolio-metadata-account.deleteaccountcomposite
with:
id: rest.id
reason: rest.reason
outputParameters:
- type: object
mapping: $.
- method: GET
name: readaccountcomposite
description: Read a account composite
call: portfolio-metadata-account.readaccountcomposite
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updateaccountcomposite
description: Modify a account composite
call: portfolio-metadata-account.updateaccountcomposite
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/account/{id}
name: account-id
description: REST surface for account-id.
operations:
- method: DELETE
name: deleteaccount
description: Remove a account
call: portfolio-metadata-account.deleteaccount
with:
id: rest.id
reason: rest.reason
outputParameters:
- type: object
mapping: $.
- method: GET
name: readaccount
description: Read a account
call: portfolio-metadata-account.readaccount
with:
id: rest.id
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updateaccount
description: Modify a account
call: portfolio-metadata-account.updateaccount
with:
id: rest.id
body: rest.body
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: portfolio-metadata-account-mcp
port: 9090
transport: http
description: MCP adapter for FactSet Portfolio Metadata API — Account. One tool per consumed operation, routed inline
through this capability's consumes block.
tools:
- name: create-new-account
description: Create a new account
hints:
readOnly: false
destructive: false
idempotent: false
call: portfolio-metadata-account.createaccount
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-account
description: List account
hints:
readOnly: true
destructive: false
idempotent: true
call: portfolio-metadata-account.listaccount
with:
path: tools.path
name: tools.name
description: tools.description
_paginationLimit: tools._paginationLimit
_paginationCursor: tools._paginationCursor
outputParameters:
- type: object
mapping: $.
- name: create-new-account-composite
description: Create a new account composite
hints:
readOnly: false
destructive: false
idempotent: false
call: portfolio-metadata-account.createaccountcomposite
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: list-account-composite
description: List account composite
hints:
readOnly: true
destructive: false
idempotent: true
call: portfolio-metadata-account.listaccountcomposite
with:
path: tools.path
name: tools.name
description: tools.description
_paginationLimit: tools._paginationLimit
_paginationCursor: tools._paginationCursor
outputParameters:
- type: object
mapping: $.
- name: remove-account-composite
description: Remove a account composite
hints:
readOnly: false
destructive: true
idempotent: true
call: portfolio-metadata-account.deleteaccountcomposite
with:
id: tools.id
reason: tools.reason
outputParameters:
- type: object
mapping: $.
- name: read-account-composite
description: Read a account composite
hints:
readOnly: true
destructive: false
idempotent: true
call: portfolio-metadata-account.readaccountcomposite
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: modify-account-composite
description: Modify a account composite
hints:
readOnly: false
destructive: false
idempotent: true
call: portfolio-metadata-account.updateaccountcomposite
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: remove-account
description: Remove a account
hints:
readOnly: false
destructive: true
idempotent: true
call: portfolio-metadata-account.deleteaccount
with:
id: tools.id
reason: tools.reason
outputParameters:
- type: object
mapping: $.
- name: read-account
description: Read a account
hints:
readOnly: true
destructive: false
idempotent: true
call: portfolio-metadata-account.readaccount
with:
id: tools.id
outputParameters:
- type: object
mapping: $.
- name: modify-account
description: Modify a account
hints:
readOnly: false
destructive: false
idempotent: true
call: portfolio-metadata-account.updateaccount
with:
id: tools.id
body: tools.body
outputParameters:
- type: object
mapping: $.