naftiko: 1.0.0-alpha2 info: label: Wise Platform API — profile description: 'Wise Platform API — profile. 26 operations. Lead operation: Create a profile (V1). Self-contained Naftiko capability covering one Wise business surface.' tags: - Wise - profile created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WISE_API_KEY: WISE_API_KEY capability: consumes: - type: http namespace: platform-profile baseUri: https://api.wise.com description: Wise Platform API — profile business capability. Self-contained, no shared references. resources: - name: v1-profiles path: /v1/profiles operations: - name: profilecreatev1 method: POST description: Create a profile (V1) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: profileupdatev1 method: PUT description: Update a profile (V1) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: v1-profiles-profileId-directors path: /v1/profiles/{profileId}/directors operations: - name: profiledirectorcreate method: POST description: Create business directors outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Business profile ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: profiledirectorlist method: GET description: List business directors outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Business profile ID. required: true - name: profiledirectorupdate method: PUT description: Update business directors outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Business profile ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-profiles-profileId-extension-requirements path: /v1/profiles/{profileId}/extension-requirements operations: - name: profileextensionrequirementsget method: GET description: Retrieve profile extension requirements outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Profile ID. required: true - name: profileextensionrequirementspost method: POST description: Update profile extensions dynamically outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Profile ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-profiles-profileId-extensions path: /v1/profiles/{profileId}/extensions operations: - name: profileextensionscreate method: POST description: Submit profile extensions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Profile ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: profileextensionsget method: GET description: Retrieve profile extensions outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Profile ID. required: true - name: v1-profiles-profileId-ubos path: /v1/profiles/{profileId}/ubos operations: - name: profileubocreate method: POST description: Create business ultimate owners outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Business profile ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: profileubolist method: GET description: List business ultimate owners outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Business profile ID. required: true - name: profileuboupdate method: PUT description: Update business ultimate owners outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Business profile ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v1-profiles-profileId-update-window path: /v1/profiles/{profileId}/update-window operations: - name: profileupdatewindowopen method: POST description: Open an update window outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Profile ID. required: true - name: profileupdatewindowclose method: DELETE description: Close an update window outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Profile ID. required: true - name: v1-profiles-profileId-verification-documents path: /v1/profiles/{profileId}/verification-documents operations: - name: profileverificationdocumentcreate method: POST description: Create an identification document outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Profile ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: profileverificationdocumentupdate method: PUT description: Update an identification document outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Profile ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v2-profiles path: /v2/profiles operations: - name: profilelist method: GET description: List profiles for a user account outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v2-profiles-business-profile path: /v2/profiles/business-profile operations: - name: profilebusinesscreate method: POST description: Create a business profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-idempotence-uuid in: header type: string description: Unique idempotency key for the request. - name: body in: body type: object description: Request body (JSON). required: false - name: v2-profiles-personal-profile path: /v2/profiles/personal-profile operations: - name: profilepersonalcreate method: POST description: Create a personal profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-idempotence-uuid in: header type: string description: Unique idempotency key for the request. - name: body in: body type: object description: Request body (JSON). required: false - name: v2-profiles-profileId path: /v2/profiles/{profileId} operations: - name: profileget method: GET description: Retrieve a profile by ID outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Profile ID. required: true - name: v2-profiles-profileId-business-profile path: /v2/profiles/{profileId}/business-profile operations: - name: profilebusinessupdate method: PUT description: Update a business profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Business profile ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v2-profiles-profileId-personal-profile path: /v2/profiles/{profileId}/personal-profile operations: - name: profilepersonalupdate method: PUT description: Update a personal profile outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Personal profile ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v3-profiles-business-profile path: /v3/profiles/business-profile operations: - name: profilebusinesscreatev3 method: POST description: Create a business profile (V3) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-idempotence-uuid in: header type: string description: Unique idempotency key for the request. - name: body in: body type: object description: Request body (JSON). required: false - name: v3-profiles-profileId-business-profile-business-representative path: /v3/profiles/{profileId}/business-profile/business-representative operations: - name: profilebusinessrepresentativeget method: GET description: Retrieve business representative outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Business profile ID. required: true - name: profilebusinessrepresentativeupdate method: PUT description: Update business representative outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Business profile ID. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v3-profiles-profileId-verification-status-bank-transfer path: /v3/profiles/{profileId}/verification-status/bank-transfer operations: - name: profileverificationstatuscheck method: POST description: Check profile verification status outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: profileId in: path type: integer description: Profile ID. required: true - name: source_currencies in: query type: string description: Comma-separated list of ISO 4217 currency codes. required: true authentication: type: bearer token: '{{env.WISE_API_KEY}}' exposes: - type: rest namespace: platform-profile-rest port: 8080 description: REST adapter for Wise Platform API — profile. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/profiles name: v1-profiles description: REST surface for v1-profiles. operations: - method: POST name: profilecreatev1 description: Create a profile (V1) call: platform-profile.profilecreatev1 with: body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: profileupdatev1 description: Update a profile (V1) call: platform-profile.profileupdatev1 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/profiles/{profileid}/directors name: v1-profiles-profileid-directors description: REST surface for v1-profiles-profileId-directors. operations: - method: POST name: profiledirectorcreate description: Create business directors call: platform-profile.profiledirectorcreate with: profileId: rest.profileId body: rest.body outputParameters: - type: object mapping: $. - method: GET name: profiledirectorlist description: List business directors call: platform-profile.profiledirectorlist with: profileId: rest.profileId outputParameters: - type: object mapping: $. - method: PUT name: profiledirectorupdate description: Update business directors call: platform-profile.profiledirectorupdate with: profileId: rest.profileId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/profiles/{profileid}/extension-requirements name: v1-profiles-profileid-extension-requirements description: REST surface for v1-profiles-profileId-extension-requirements. operations: - method: GET name: profileextensionrequirementsget description: Retrieve profile extension requirements call: platform-profile.profileextensionrequirementsget with: profileId: rest.profileId outputParameters: - type: object mapping: $. - method: POST name: profileextensionrequirementspost description: Update profile extensions dynamically call: platform-profile.profileextensionrequirementspost with: profileId: rest.profileId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/profiles/{profileid}/extensions name: v1-profiles-profileid-extensions description: REST surface for v1-profiles-profileId-extensions. operations: - method: POST name: profileextensionscreate description: Submit profile extensions call: platform-profile.profileextensionscreate with: profileId: rest.profileId body: rest.body outputParameters: - type: object mapping: $. - method: GET name: profileextensionsget description: Retrieve profile extensions call: platform-profile.profileextensionsget with: profileId: rest.profileId outputParameters: - type: object mapping: $. - path: /v1/v1/profiles/{profileid}/ubos name: v1-profiles-profileid-ubos description: REST surface for v1-profiles-profileId-ubos. operations: - method: POST name: profileubocreate description: Create business ultimate owners call: platform-profile.profileubocreate with: profileId: rest.profileId body: rest.body outputParameters: - type: object mapping: $. - method: GET name: profileubolist description: List business ultimate owners call: platform-profile.profileubolist with: profileId: rest.profileId outputParameters: - type: object mapping: $. - method: PUT name: profileuboupdate description: Update business ultimate owners call: platform-profile.profileuboupdate with: profileId: rest.profileId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/profiles/{profileid}/update-window name: v1-profiles-profileid-update-window description: REST surface for v1-profiles-profileId-update-window. operations: - method: POST name: profileupdatewindowopen description: Open an update window call: platform-profile.profileupdatewindowopen with: profileId: rest.profileId outputParameters: - type: object mapping: $. - method: DELETE name: profileupdatewindowclose description: Close an update window call: platform-profile.profileupdatewindowclose with: profileId: rest.profileId outputParameters: - type: object mapping: $. - path: /v1/v1/profiles/{profileid}/verification-documents name: v1-profiles-profileid-verification-documents description: REST surface for v1-profiles-profileId-verification-documents. operations: - method: POST name: profileverificationdocumentcreate description: Create an identification document call: platform-profile.profileverificationdocumentcreate with: profileId: rest.profileId body: rest.body outputParameters: - type: object mapping: $. - method: PUT name: profileverificationdocumentupdate description: Update an identification document call: platform-profile.profileverificationdocumentupdate with: profileId: rest.profileId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/profiles name: v2-profiles description: REST surface for v2-profiles. operations: - method: GET name: profilelist description: List profiles for a user account call: platform-profile.profilelist outputParameters: - type: object mapping: $. - path: /v1/v2/profiles/business-profile name: v2-profiles-business-profile description: REST surface for v2-profiles-business-profile. operations: - method: POST name: profilebusinesscreate description: Create a business profile call: platform-profile.profilebusinesscreate with: X-idempotence-uuid: rest.X-idempotence-uuid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/profiles/personal-profile name: v2-profiles-personal-profile description: REST surface for v2-profiles-personal-profile. operations: - method: POST name: profilepersonalcreate description: Create a personal profile call: platform-profile.profilepersonalcreate with: X-idempotence-uuid: rest.X-idempotence-uuid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/profiles/{profileid} name: v2-profiles-profileid description: REST surface for v2-profiles-profileId. operations: - method: GET name: profileget description: Retrieve a profile by ID call: platform-profile.profileget with: profileId: rest.profileId outputParameters: - type: object mapping: $. - path: /v1/v2/profiles/{profileid}/business-profile name: v2-profiles-profileid-business-profile description: REST surface for v2-profiles-profileId-business-profile. operations: - method: PUT name: profilebusinessupdate description: Update a business profile call: platform-profile.profilebusinessupdate with: profileId: rest.profileId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v2/profiles/{profileid}/personal-profile name: v2-profiles-profileid-personal-profile description: REST surface for v2-profiles-profileId-personal-profile. operations: - method: PUT name: profilepersonalupdate description: Update a personal profile call: platform-profile.profilepersonalupdate with: profileId: rest.profileId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v3/profiles/business-profile name: v3-profiles-business-profile description: REST surface for v3-profiles-business-profile. operations: - method: POST name: profilebusinesscreatev3 description: Create a business profile (V3) call: platform-profile.profilebusinesscreatev3 with: X-idempotence-uuid: rest.X-idempotence-uuid body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v3/profiles/{profileid}/business-profile/business-representative name: v3-profiles-profileid-business-profile-business-representative description: REST surface for v3-profiles-profileId-business-profile-business-representative. operations: - method: GET name: profilebusinessrepresentativeget description: Retrieve business representative call: platform-profile.profilebusinessrepresentativeget with: profileId: rest.profileId outputParameters: - type: object mapping: $. - method: PUT name: profilebusinessrepresentativeupdate description: Update business representative call: platform-profile.profilebusinessrepresentativeupdate with: profileId: rest.profileId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v3/profiles/{profileid}/verification-status/bank-transfer name: v3-profiles-profileid-verification-status-bank-transfer description: REST surface for v3-profiles-profileId-verification-status-bank-transfer. operations: - method: POST name: profileverificationstatuscheck description: Check profile verification status call: platform-profile.profileverificationstatuscheck with: profileId: rest.profileId source_currencies: rest.source_currencies outputParameters: - type: object mapping: $. - type: mcp namespace: platform-profile-mcp port: 9090 transport: http description: MCP adapter for Wise Platform API — profile. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-profile-v1 description: Create a profile (V1) hints: readOnly: false destructive: false idempotent: false call: platform-profile.profilecreatev1 with: body: tools.body outputParameters: - type: object mapping: $. - name: update-profile-v1 description: Update a profile (V1) hints: readOnly: false destructive: false idempotent: true call: platform-profile.profileupdatev1 with: body: tools.body outputParameters: - type: object mapping: $. - name: create-business-directors description: Create business directors hints: readOnly: false destructive: false idempotent: false call: platform-profile.profiledirectorcreate with: profileId: tools.profileId body: tools.body outputParameters: - type: object mapping: $. - name: list-business-directors description: List business directors hints: readOnly: true destructive: false idempotent: true call: platform-profile.profiledirectorlist with: profileId: tools.profileId outputParameters: - type: object mapping: $. - name: update-business-directors description: Update business directors hints: readOnly: false destructive: false idempotent: true call: platform-profile.profiledirectorupdate with: profileId: tools.profileId body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-profile-extension-requirements description: Retrieve profile extension requirements hints: readOnly: true destructive: false idempotent: true call: platform-profile.profileextensionrequirementsget with: profileId: tools.profileId outputParameters: - type: object mapping: $. - name: update-profile-extensions-dynamically description: Update profile extensions dynamically hints: readOnly: false destructive: false idempotent: false call: platform-profile.profileextensionrequirementspost with: profileId: tools.profileId body: tools.body outputParameters: - type: object mapping: $. - name: submit-profile-extensions description: Submit profile extensions hints: readOnly: false destructive: false idempotent: false call: platform-profile.profileextensionscreate with: profileId: tools.profileId body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-profile-extensions description: Retrieve profile extensions hints: readOnly: true destructive: false idempotent: true call: platform-profile.profileextensionsget with: profileId: tools.profileId outputParameters: - type: object mapping: $. - name: create-business-ultimate-owners description: Create business ultimate owners hints: readOnly: false destructive: false idempotent: false call: platform-profile.profileubocreate with: profileId: tools.profileId body: tools.body outputParameters: - type: object mapping: $. - name: list-business-ultimate-owners description: List business ultimate owners hints: readOnly: true destructive: false idempotent: true call: platform-profile.profileubolist with: profileId: tools.profileId outputParameters: - type: object mapping: $. - name: update-business-ultimate-owners description: Update business ultimate owners hints: readOnly: false destructive: false idempotent: true call: platform-profile.profileuboupdate with: profileId: tools.profileId body: tools.body outputParameters: - type: object mapping: $. - name: open-update-window description: Open an update window hints: readOnly: false destructive: false idempotent: false call: platform-profile.profileupdatewindowopen with: profileId: tools.profileId outputParameters: - type: object mapping: $. - name: close-update-window description: Close an update window hints: readOnly: false destructive: true idempotent: true call: platform-profile.profileupdatewindowclose with: profileId: tools.profileId outputParameters: - type: object mapping: $. - name: create-identification-document description: Create an identification document hints: readOnly: false destructive: false idempotent: false call: platform-profile.profileverificationdocumentcreate with: profileId: tools.profileId body: tools.body outputParameters: - type: object mapping: $. - name: update-identification-document description: Update an identification document hints: readOnly: false destructive: false idempotent: true call: platform-profile.profileverificationdocumentupdate with: profileId: tools.profileId body: tools.body outputParameters: - type: object mapping: $. - name: list-profiles-user-account description: List profiles for a user account hints: readOnly: true destructive: false idempotent: true call: platform-profile.profilelist outputParameters: - type: object mapping: $. - name: create-business-profile description: Create a business profile hints: readOnly: false destructive: false idempotent: false call: platform-profile.profilebusinesscreate with: X-idempotence-uuid: tools.X-idempotence-uuid body: tools.body outputParameters: - type: object mapping: $. - name: create-personal-profile description: Create a personal profile hints: readOnly: false destructive: false idempotent: false call: platform-profile.profilepersonalcreate with: X-idempotence-uuid: tools.X-idempotence-uuid body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-profile-id description: Retrieve a profile by ID hints: readOnly: true destructive: false idempotent: true call: platform-profile.profileget with: profileId: tools.profileId outputParameters: - type: object mapping: $. - name: update-business-profile description: Update a business profile hints: readOnly: false destructive: false idempotent: true call: platform-profile.profilebusinessupdate with: profileId: tools.profileId body: tools.body outputParameters: - type: object mapping: $. - name: update-personal-profile description: Update a personal profile hints: readOnly: false destructive: false idempotent: true call: platform-profile.profilepersonalupdate with: profileId: tools.profileId body: tools.body outputParameters: - type: object mapping: $. - name: create-business-profile-v3 description: Create a business profile (V3) hints: readOnly: false destructive: false idempotent: false call: platform-profile.profilebusinesscreatev3 with: X-idempotence-uuid: tools.X-idempotence-uuid body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-business-representative description: Retrieve business representative hints: readOnly: true destructive: false idempotent: true call: platform-profile.profilebusinessrepresentativeget with: profileId: tools.profileId outputParameters: - type: object mapping: $. - name: update-business-representative description: Update business representative hints: readOnly: false destructive: false idempotent: true call: platform-profile.profilebusinessrepresentativeupdate with: profileId: tools.profileId body: tools.body outputParameters: - type: object mapping: $. - name: check-profile-verification-status description: Check profile verification status hints: readOnly: true destructive: false idempotent: false call: platform-profile.profileverificationstatuscheck with: profileId: tools.profileId source_currencies: tools.source_currencies outputParameters: - type: object mapping: $.