naftiko: 1.0.0-alpha2 info: label: FactSet Portfolio — Name description: 'FactSet Portfolio — Name. 9 operations. Lead operation: Factset Create or Update an Existing Model Account. Self-contained Naftiko capability covering one Factset business surface.' tags: - Factset - Name created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FACTSET_API_KEY: FACTSET_API_KEY capability: consumes: - type: http namespace: portfolio-name baseUri: https://api.factset.com description: FactSet Portfolio — Name business capability. Self-contained, no shared references. resources: - name: analytics-accounts-v3-models-name path: /analytics/accounts/v3/models/{name} operations: - name: createorupdatemodelaccount method: PUT description: Factset Create or Update an Existing Model Account outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The path and filename of the model account to create or update required: true - name: body in: body type: object description: Request body (JSON). required: false - name: deleteamodelaccount method: DELETE description: Factset Delete Model Account, Takes an Account Path and Name and Deletes It. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The path and filename of model account to delete required: true - name: getaccount method: GET description: Factset Get Account Endpoint, Takes an Account Name and Returns Underlying Data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The path and filename of the account to get required: true - name: format in: query type: string description: Optional format for the response, supported formats are JsonStach and AccountModel - name: analytics-accounts-v3-models-name-dates-date path: /analytics/accounts/v3/models/{name}/dates/{date} operations: - name: deletemodelaccountbydate method: DELETE description: Factset Delete All Entries for a Date or Specific Symbol Entries for a Date From a Previously Created Account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The filename of model account to delete required: true - name: date in: path type: string description: The date from the given file name to delete required: true - name: symbols in: query type: array description: The symbols from the given file name and date to delete (Maximum 10 symbols are allowed) - name: getaccountfordate method: GET description: Factset Get Account Endpoint, Takes an Account Name, Date and Returns Underlying Data for That Date outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The path and filename of the account to get required: true - name: date in: path type: string description: The date for which data needs to be updated required: true - name: format in: query type: string description: Optional format for the response, supported formats are JsonStach and AccountModel - name: analytics-accounts-v3-models-name-dates-date-symbols-symbol path: /analytics/accounts/v3/models/{name}/dates/{date}/symbols/{symbol} operations: - name: getaccountfordateandsymbol method: GET description: Factset Get Account Endpoint, Takes an Account Name and Returns Underlying Data outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The path and filename of the account to get required: true - name: symbol in: path type: string description: The symbol for which data needs to be updated required: true - name: date in: path type: string description: The date for which data needs to be updated required: true - name: format in: query type: string description: Optional format for the response, supported formats are JsonStach and AccountModel - name: analytics-accounts-v3-models-name-schema path: /analytics/accounts/v3/models/{name}/schema operations: - name: getaccountschema method: GET description: Factset Get Account Schema Endpoint, Takes an Account Name and Returns Its Schema outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The path and filename of the account to get its schema required: true - name: analytics-accounts-v3-models-name-symbols-symbol path: /analytics/accounts/v3/models/{name}/symbols/{symbol} operations: - name: deletemodelaccountbysymbol method: DELETE description: Factset Delete All Entries for a Symbol or Specific Date Entries for a Symbol From a Previously Created Account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The filename of model account to delete required: true - name: symbol in: path type: string description: The symbol from the given file name to delete required: true - name: dates in: query type: array description: The dates from the given file name and symbol to delete (Maximum 10 dates are allowed) - name: getaccountforsymbol method: GET description: Factset Get Account Endpoint, Takes an Account Name, Symbol and Returns Underlying Data for That Symbol outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: The path and filename of the account to get required: true - name: symbol in: path type: string description: The symbol for which data needs to be updated required: true - name: format in: query type: string description: Optional format for the response, supported formats are JsonStach and AccountModel authentication: type: bearer token: '{{env.FACTSET_API_KEY}}' exposes: - type: rest namespace: portfolio-name-rest port: 8080 description: REST adapter for FactSet Portfolio — Name. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/analytics/accounts/v3/models/{name} name: analytics-accounts-v3-models-name description: REST surface for analytics-accounts-v3-models-name. operations: - method: PUT name: createorupdatemodelaccount description: Factset Create or Update an Existing Model Account call: portfolio-name.createorupdatemodelaccount with: name: rest.name body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteamodelaccount description: Factset Delete Model Account, Takes an Account Path and Name and Deletes It. call: portfolio-name.deleteamodelaccount with: name: rest.name outputParameters: - type: object mapping: $. - method: GET name: getaccount description: Factset Get Account Endpoint, Takes an Account Name and Returns Underlying Data call: portfolio-name.getaccount with: name: rest.name format: rest.format outputParameters: - type: object mapping: $. - path: /v1/analytics/accounts/v3/models/{name}/dates/{date} name: analytics-accounts-v3-models-name-dates-date description: REST surface for analytics-accounts-v3-models-name-dates-date. operations: - method: DELETE name: deletemodelaccountbydate description: Factset Delete All Entries for a Date or Specific Symbol Entries for a Date From a Previously Created Account. call: portfolio-name.deletemodelaccountbydate with: name: rest.name date: rest.date symbols: rest.symbols outputParameters: - type: object mapping: $. - method: GET name: getaccountfordate description: Factset Get Account Endpoint, Takes an Account Name, Date and Returns Underlying Data for That Date call: portfolio-name.getaccountfordate with: name: rest.name date: rest.date format: rest.format outputParameters: - type: object mapping: $. - path: /v1/analytics/accounts/v3/models/{name}/dates/{date}/symbols/{symbol} name: analytics-accounts-v3-models-name-dates-date-symbols-symbol description: REST surface for analytics-accounts-v3-models-name-dates-date-symbols-symbol. operations: - method: GET name: getaccountfordateandsymbol description: Factset Get Account Endpoint, Takes an Account Name and Returns Underlying Data call: portfolio-name.getaccountfordateandsymbol with: name: rest.name symbol: rest.symbol date: rest.date format: rest.format outputParameters: - type: object mapping: $. - path: /v1/analytics/accounts/v3/models/{name}/schema name: analytics-accounts-v3-models-name-schema description: REST surface for analytics-accounts-v3-models-name-schema. operations: - method: GET name: getaccountschema description: Factset Get Account Schema Endpoint, Takes an Account Name and Returns Its Schema call: portfolio-name.getaccountschema with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/analytics/accounts/v3/models/{name}/symbols/{symbol} name: analytics-accounts-v3-models-name-symbols-symbol description: REST surface for analytics-accounts-v3-models-name-symbols-symbol. operations: - method: DELETE name: deletemodelaccountbysymbol description: Factset Delete All Entries for a Symbol or Specific Date Entries for a Symbol From a Previously Created Account. call: portfolio-name.deletemodelaccountbysymbol with: name: rest.name symbol: rest.symbol dates: rest.dates outputParameters: - type: object mapping: $. - method: GET name: getaccountforsymbol description: Factset Get Account Endpoint, Takes an Account Name, Symbol and Returns Underlying Data for That Symbol call: portfolio-name.getaccountforsymbol with: name: rest.name symbol: rest.symbol format: rest.format outputParameters: - type: object mapping: $. - type: mcp namespace: portfolio-name-mcp port: 9090 transport: http description: MCP adapter for FactSet Portfolio — Name. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: factset-create-update-existing-model description: Factset Create or Update an Existing Model Account hints: readOnly: false destructive: false idempotent: true call: portfolio-name.createorupdatemodelaccount with: name: tools.name body: tools.body outputParameters: - type: object mapping: $. - name: factset-delete-model-account-takes description: Factset Delete Model Account, Takes an Account Path and Name and Deletes It. hints: readOnly: false destructive: true idempotent: true call: portfolio-name.deleteamodelaccount with: name: tools.name outputParameters: - type: object mapping: $. - name: factset-get-account-endpoint-takes description: Factset Get Account Endpoint, Takes an Account Name and Returns Underlying Data hints: readOnly: true destructive: false idempotent: true call: portfolio-name.getaccount with: name: tools.name format: tools.format outputParameters: - type: object mapping: $. - name: factset-delete-all-entries-date description: Factset Delete All Entries for a Date or Specific Symbol Entries for a Date From a Previously Created Account. hints: readOnly: false destructive: true idempotent: true call: portfolio-name.deletemodelaccountbydate with: name: tools.name date: tools.date symbols: tools.symbols outputParameters: - type: object mapping: $. - name: factset-get-account-endpoint-takes-2 description: Factset Get Account Endpoint, Takes an Account Name, Date and Returns Underlying Data for That Date hints: readOnly: true destructive: false idempotent: true call: portfolio-name.getaccountfordate with: name: tools.name date: tools.date format: tools.format outputParameters: - type: object mapping: $. - name: factset-get-account-endpoint-takes-3 description: Factset Get Account Endpoint, Takes an Account Name and Returns Underlying Data hints: readOnly: true destructive: false idempotent: true call: portfolio-name.getaccountfordateandsymbol with: name: tools.name symbol: tools.symbol date: tools.date format: tools.format outputParameters: - type: object mapping: $. - name: factset-get-account-schema-endpoint description: Factset Get Account Schema Endpoint, Takes an Account Name and Returns Its Schema hints: readOnly: true destructive: false idempotent: true call: portfolio-name.getaccountschema with: name: tools.name outputParameters: - type: object mapping: $. - name: factset-delete-all-entries-symbol description: Factset Delete All Entries for a Symbol or Specific Date Entries for a Symbol From a Previously Created Account. hints: readOnly: false destructive: true idempotent: true call: portfolio-name.deletemodelaccountbysymbol with: name: tools.name symbol: tools.symbol dates: tools.dates outputParameters: - type: object mapping: $. - name: factset-get-account-endpoint-takes-4 description: Factset Get Account Endpoint, Takes an Account Name, Symbol and Returns Underlying Data for That Symbol hints: readOnly: true destructive: false idempotent: true call: portfolio-name.getaccountforsymbol with: name: tools.name symbol: tools.symbol format: tools.format outputParameters: - type: object mapping: $.