naftiko: 1.0.0-alpha2 info: label: Agent API — DLP Policies and Dictionary Management description: 'Agent API — DLP Policies and Dictionary Management. 21 operations. Lead operation: Get all dictionary metadatas. Self-contained Naftiko capability covering one Finos business surface.' tags: - Finos - DLP Policies and Dictionary Management created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: FINOS_API_KEY: FINOS_API_KEY capability: consumes: - type: http namespace: symphony-agent-dlp-policies-and-dictionary-management baseUri: '' description: Agent API — DLP Policies and Dictionary Management business capability. Self-contained, no shared references. resources: - name: v1-dlp-dictionaries path: /v1/dlp/dictionaries operations: - name: get method: GET description: Get all dictionary metadatas outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: page in: query type: integer description: Optional parameter to specify which page to return (default is 0) - name: limit in: query type: integer description: Optional parameter to specify the number of result to return per page, default is 50. Maximum is 50. - name: post method: POST description: Create a dictionary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: body in: body type: object description: Request body (JSON). required: true - name: v1-dlp-dictionaries-dictId path: /v1/dlp/dictionaries/{dictId} operations: - name: get method: GET description: Get dictionary metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: dictId in: path type: string description: Unique dictionary identifier required: true - name: dictVersion in: query type: string description: 'If set to be valid dictionary version number, will return dictionary metadata with specified version. ' - name: put method: PUT description: Updates a dictionary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: dictId in: path type: string description: Unique dictionary identifier required: true - name: body in: body type: object description: Request body (JSON). required: true - name: delete method: DELETE description: Delete a dictionary outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: dictId in: path type: string description: Unique dictionary identifier required: true - name: v1-dlp-dictionaries-dictId-data-download path: /v1/dlp/dictionaries/{dictId}/data/download operations: - name: get method: GET description: Downloads Base 64 encoded dictionary content. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: dictId in: path type: string description: Unique dictionary identifier required: true - name: dictVersion in: query type: string description: 'If set to be valid dictionary version number, will return dictionary with specified version. ' - name: v1-dlp-dictionaries-dictId-data-upload path: /v1/dlp/dictionaries/{dictId}/data/upload operations: - name: post method: POST description: Override dictionary content with provided content. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: dictId in: path type: string description: Unique dictionary identifier required: true - name: body in: body type: object description: Request body (JSON). required: true - name: v1-dlp-policies path: /v1/dlp/policies operations: - name: get method: GET description: Get all policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: page in: query type: integer description: Optional parameter to specify which page to return (default is 0) - name: limit in: query type: integer description: Optional parameter to specify the number of result to return per page, default is 50. Maximum is 50. - name: post method: POST description: Creates a policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: body in: body type: object description: Request body (JSON). required: true - name: v1-dlp-policies-policyId path: /v1/dlp/policies/{policyId} operations: - name: get method: GET description: Get a policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: policyId in: path type: string description: Unique dictionary identifier. required: true - name: policyVersion in: query type: string description: 'Optional parameter, if set to be valid policy version number, will return policy with specified policyVersion. ' - name: put method: PUT description: Updates a policy. Cannot be used for creation. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: policyId in: path type: string description: Unique dictionary identifier. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: delete method: DELETE description: Delete a policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: policyId in: path type: string description: Unique dictionary identifier. required: true - name: v1-dlp-policies-policyId-disable path: /v1/dlp/policies/{policyId}/disable operations: - name: post method: POST description: Disables a policy. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: policyId in: path type: string required: true - name: v1-dlp-policies-policyId-enable path: /v1/dlp/policies/{policyId}/enable operations: - name: post method: POST description: Enables a policy. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: policyId in: path type: string required: true - name: v3-dlp-policies path: /v3/dlp/policies operations: - name: get method: GET description: Get all policies outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: page in: query type: integer description: Optional parameter to specify which page to return (default is 0) - name: limit in: query type: integer description: Optional parameter to specify the number of result to return per page, default is 50. Maximum is 50. - name: post method: POST description: Creates a policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: body in: body type: object description: Request body (JSON). required: true - name: v3-dlp-policies-policyId path: /v3/dlp/policies/{policyId} operations: - name: get method: GET description: Get a policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: policyId in: path type: string description: Unique dictionary identifier. required: true - name: policyVersion in: query type: string description: 'Optional parameter, if set to be valid policy version number, will return policy with specified policyVersion. ' - name: v3-dlp-policies-policyId-delete path: /v3/dlp/policies/{policyId}/delete operations: - name: post method: POST description: Delete a policy outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: policyId in: path type: string description: Unique dictionary identifier. required: true - name: v3-dlp-policies-policyId-disable path: /v3/dlp/policies/{policyId}/disable operations: - name: post method: POST description: Disables a policy. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: policyId in: path type: string required: true - name: v3-dlp-policies-policyId-enable path: /v3/dlp/policies/{policyId}/enable operations: - name: post method: POST description: Enables a policy. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: policyId in: path type: string required: true - name: v3-dlp-policies-policyId-update path: /v3/dlp/policies/{policyId}/update operations: - name: post method: POST description: Updates a policy. Cannot be used for creation. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: sessionToken in: header type: string description: Session authentication token. required: true - name: keyManagerToken in: header type: string description: Key Manager authentication token. - name: policyId in: path type: string description: Unique dictionary identifier. required: true - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: symphony-agent-dlp-policies-and-dictionary-management-rest port: 8080 description: REST adapter for Agent API — DLP Policies and Dictionary Management. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/dlp/dictionaries name: v1-dlp-dictionaries description: REST surface for v1-dlp-dictionaries. operations: - method: GET name: get description: Get all dictionary metadatas call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken page: rest.page limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: post description: Create a dictionary call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/dlp/dictionaries/{dictid} name: v1-dlp-dictionaries-dictid description: REST surface for v1-dlp-dictionaries-dictId. operations: - method: GET name: get description: Get dictionary metadata call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken dictId: rest.dictId dictVersion: rest.dictVersion outputParameters: - type: object mapping: $. - method: PUT name: put description: Updates a dictionary call: symphony-agent-dlp-policies-and-dictionary-management.put with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken dictId: rest.dictId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Delete a dictionary call: symphony-agent-dlp-policies-and-dictionary-management.delete with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken dictId: rest.dictId outputParameters: - type: object mapping: $. - path: /v1/v1/dlp/dictionaries/{dictid}/data/download name: v1-dlp-dictionaries-dictid-data-download description: REST surface for v1-dlp-dictionaries-dictId-data-download. operations: - method: GET name: get description: Downloads Base 64 encoded dictionary content. call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken dictId: rest.dictId dictVersion: rest.dictVersion outputParameters: - type: object mapping: $. - path: /v1/v1/dlp/dictionaries/{dictid}/data/upload name: v1-dlp-dictionaries-dictid-data-upload description: REST surface for v1-dlp-dictionaries-dictId-data-upload. operations: - method: POST name: post description: Override dictionary content with provided content. call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken dictId: rest.dictId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/dlp/policies name: v1-dlp-policies description: REST surface for v1-dlp-policies. operations: - method: GET name: get description: Get all policies call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken page: rest.page limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: post description: Creates a policy call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/dlp/policies/{policyid} name: v1-dlp-policies-policyid description: REST surface for v1-dlp-policies-policyId. operations: - method: GET name: get description: Get a policy call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken policyId: rest.policyId policyVersion: rest.policyVersion outputParameters: - type: object mapping: $. - method: PUT name: put description: Updates a policy. Cannot be used for creation. call: symphony-agent-dlp-policies-and-dictionary-management.put with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken policyId: rest.policyId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete description: Delete a policy call: symphony-agent-dlp-policies-and-dictionary-management.delete with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken policyId: rest.policyId outputParameters: - type: object mapping: $. - path: /v1/v1/dlp/policies/{policyid}/disable name: v1-dlp-policies-policyid-disable description: REST surface for v1-dlp-policies-policyId-disable. operations: - method: POST name: post description: Disables a policy. call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken policyId: rest.policyId outputParameters: - type: object mapping: $. - path: /v1/v1/dlp/policies/{policyid}/enable name: v1-dlp-policies-policyid-enable description: REST surface for v1-dlp-policies-policyId-enable. operations: - method: POST name: post description: Enables a policy. call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken policyId: rest.policyId outputParameters: - type: object mapping: $. - path: /v1/v3/dlp/policies name: v3-dlp-policies description: REST surface for v3-dlp-policies. operations: - method: GET name: get description: Get all policies call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken page: rest.page limit: rest.limit outputParameters: - type: object mapping: $. - method: POST name: post description: Creates a policy call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v3/dlp/policies/{policyid} name: v3-dlp-policies-policyid description: REST surface for v3-dlp-policies-policyId. operations: - method: GET name: get description: Get a policy call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken policyId: rest.policyId policyVersion: rest.policyVersion outputParameters: - type: object mapping: $. - path: /v1/v3/dlp/policies/{policyid}/delete name: v3-dlp-policies-policyid-delete description: REST surface for v3-dlp-policies-policyId-delete. operations: - method: POST name: post description: Delete a policy call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken policyId: rest.policyId outputParameters: - type: object mapping: $. - path: /v1/v3/dlp/policies/{policyid}/disable name: v3-dlp-policies-policyid-disable description: REST surface for v3-dlp-policies-policyId-disable. operations: - method: POST name: post description: Disables a policy. call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken policyId: rest.policyId outputParameters: - type: object mapping: $. - path: /v1/v3/dlp/policies/{policyid}/enable name: v3-dlp-policies-policyid-enable description: REST surface for v3-dlp-policies-policyId-enable. operations: - method: POST name: post description: Enables a policy. call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken policyId: rest.policyId outputParameters: - type: object mapping: $. - path: /v1/v3/dlp/policies/{policyid}/update name: v3-dlp-policies-policyid-update description: REST surface for v3-dlp-policies-policyId-update. operations: - method: POST name: post description: Updates a policy. Cannot be used for creation. call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: rest.sessionToken keyManagerToken: rest.keyManagerToken policyId: rest.policyId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: symphony-agent-dlp-policies-and-dictionary-management-mcp port: 9090 transport: http description: MCP adapter for Agent API — DLP Policies and Dictionary Management. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-all-dictionary-metadatas description: Get all dictionary metadatas hints: readOnly: true destructive: false idempotent: true call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken page: tools.page limit: tools.limit outputParameters: - type: object mapping: $. - name: create-dictionary description: Create a dictionary hints: readOnly: false destructive: false idempotent: false call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken body: tools.body outputParameters: - type: object mapping: $. - name: get-dictionary-metadata description: Get dictionary metadata hints: readOnly: true destructive: false idempotent: true call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken dictId: tools.dictId dictVersion: tools.dictVersion outputParameters: - type: object mapping: $. - name: updates-dictionary description: Updates a dictionary hints: readOnly: false destructive: false idempotent: true call: symphony-agent-dlp-policies-and-dictionary-management.put with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken dictId: tools.dictId body: tools.body outputParameters: - type: object mapping: $. - name: delete-dictionary description: Delete a dictionary hints: readOnly: false destructive: true idempotent: true call: symphony-agent-dlp-policies-and-dictionary-management.delete with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken dictId: tools.dictId outputParameters: - type: object mapping: $. - name: downloads-base-64-encoded-dictionary description: Downloads Base 64 encoded dictionary content. hints: readOnly: true destructive: false idempotent: true call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken dictId: tools.dictId dictVersion: tools.dictVersion outputParameters: - type: object mapping: $. - name: override-dictionary-content-provided-content description: Override dictionary content with provided content. hints: readOnly: false destructive: false idempotent: false call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken dictId: tools.dictId body: tools.body outputParameters: - type: object mapping: $. - name: get-all-policies description: Get all policies hints: readOnly: true destructive: false idempotent: true call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken page: tools.page limit: tools.limit outputParameters: - type: object mapping: $. - name: creates-policy description: Creates a policy hints: readOnly: false destructive: false idempotent: false call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken body: tools.body outputParameters: - type: object mapping: $. - name: get-policy description: Get a policy hints: readOnly: true destructive: false idempotent: true call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken policyId: tools.policyId policyVersion: tools.policyVersion outputParameters: - type: object mapping: $. - name: updates-policy-cannot-be-used description: Updates a policy. Cannot be used for creation. hints: readOnly: false destructive: false idempotent: true call: symphony-agent-dlp-policies-and-dictionary-management.put with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken policyId: tools.policyId body: tools.body outputParameters: - type: object mapping: $. - name: delete-policy description: Delete a policy hints: readOnly: false destructive: true idempotent: true call: symphony-agent-dlp-policies-and-dictionary-management.delete with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken policyId: tools.policyId outputParameters: - type: object mapping: $. - name: disables-policy description: Disables a policy. hints: readOnly: false destructive: false idempotent: false call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken policyId: tools.policyId outputParameters: - type: object mapping: $. - name: enables-policy description: Enables a policy. hints: readOnly: false destructive: false idempotent: false call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken policyId: tools.policyId outputParameters: - type: object mapping: $. - name: get-all-policies-2 description: Get all policies hints: readOnly: true destructive: false idempotent: true call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken page: tools.page limit: tools.limit outputParameters: - type: object mapping: $. - name: creates-policy-2 description: Creates a policy hints: readOnly: false destructive: false idempotent: false call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken body: tools.body outputParameters: - type: object mapping: $. - name: get-policy-2 description: Get a policy hints: readOnly: true destructive: false idempotent: true call: symphony-agent-dlp-policies-and-dictionary-management.get with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken policyId: tools.policyId policyVersion: tools.policyVersion outputParameters: - type: object mapping: $. - name: delete-policy-2 description: Delete a policy hints: readOnly: false destructive: false idempotent: false call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken policyId: tools.policyId outputParameters: - type: object mapping: $. - name: disables-policy-2 description: Disables a policy. hints: readOnly: false destructive: false idempotent: false call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken policyId: tools.policyId outputParameters: - type: object mapping: $. - name: enables-policy-2 description: Enables a policy. hints: readOnly: false destructive: false idempotent: false call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken policyId: tools.policyId outputParameters: - type: object mapping: $. - name: updates-policy-cannot-be-used-2 description: Updates a policy. Cannot be used for creation. hints: readOnly: false destructive: false idempotent: false call: symphony-agent-dlp-policies-and-dictionary-management.post with: sessionToken: tools.sessionToken keyManagerToken: tools.keyManagerToken policyId: tools.policyId body: tools.body outputParameters: - type: object mapping: $.