naftiko: 1.0.0-alpha2 info: label: Koyeb Rest API — Profile description: 'Koyeb Rest API — Profile. 23 operations. Lead operation: Begin a session with iDenfy, emit an authToken. Self-contained Naftiko capability covering one Koyeb business surface.' tags: - Koyeb - Profile created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: KOYEB_API_KEY: KOYEB_API_KEY capability: consumes: - type: http namespace: koyeb-profile baseUri: https://app.koyeb.com description: Koyeb Rest API — Profile business capability. Self-contained, no shared references. resources: - name: v1-account-idenfy path: /v1/account/idenfy operations: - name: getidenfytoken method: GET description: Begin a session with iDenfy, emit an authToken outputRawFormat: json outputParameters: - name: result type: object value: $. - name: clearidenfyverificationresult method: POST description: ClearIdenfyVerificationResult marks the current result for idenfy as outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string required: true - name: v1-account-login_method path: /v1/account/login_method operations: - name: loginmethod method: GET description: Get the login method for an email address outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: email in: query type: string - name: v1-account-oauth path: /v1/account/oauth operations: - name: getoauthoptions method: GET description: Get OAuth Providers outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: action in: query type: string description: Which authentication flow is being initiated - name: metadata in: query type: string description: A small (limited to 400 characters) string of arbitrary metadata which will - name: oauthcallback method: POST description: Authenticate using OAuth outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string required: true - name: seon-fp in: header type: string description: Seon Fingerprint - name: v1-account-organization path: /v1/account/organization operations: - name: getcurrentorganization method: GET description: Get Current Organization outputRawFormat: json outputParameters: - name: result type: object value: $. - name: v1-account-organization_invitations path: /v1/account/organization_invitations operations: - name: listuserorganizationinvitations method: GET description: List User Organization Invitations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: string description: (Optional) The number of items to return - name: offset in: query type: string description: (Optional) The offset in the list of item to return - name: statuses in: query type: array description: (Optional) Filter on organization invitation statuses - name: v1-account-organization_invitations-id path: /v1/account/organization_invitations/{id} operations: - name: getuserorganizationinvitation method: GET description: Get User Organization Invitation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The id of the organization invitation to get required: true - name: v1-account-organization_invitations-id-accept path: /v1/account/organization_invitations/{id}/accept operations: - name: acceptorganizationinvitation method: POST description: Accept Organization Invitation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The id of the organization invitation to accept required: true - name: body in: body type: object required: true - name: v1-account-organization_invitations-id-decline path: /v1/account/organization_invitations/{id}/decline operations: - name: declineorganizationinvitation method: POST description: Decline Organization Invitation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: The id of the organization invitation to decline required: true - name: body in: body type: object required: true - name: v1-account-organizations path: /v1/account/organizations operations: - name: listuserorganizations method: GET description: List User Organizations outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: string description: (Optional) Define pagination limit - name: offset in: query type: string description: (Optional) Define pagination offset - name: order in: query type: string description: (Optional) Sorts the list in the ascending or the descending order - name: search in: query type: string description: (Optional) Fuzzy case-insensitive search based on organization name or - name: statuses in: query type: array description: (Optional) Only return organizations which status match one in the list - name: v1-account-profile path: /v1/account/profile operations: - name: getcurrentuser method: GET description: Get Current User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: seon-fp in: header type: string description: Seon Fingerprint - name: updateuser method: PUT description: Update User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user in: body type: string required: true - name: update_mask in: query type: string - name: updateuser2 method: PATCH description: Update User outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user in: body type: string required: true - name: update_mask in: query type: string - name: v1-account-resend_validation path: /v1/account/resend_validation operations: - name: resendemailvalidation method: POST description: Resend Email Verification outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string required: true - name: v1-account-reset_password path: /v1/account/reset_password operations: - name: resetpassword method: POST description: Reset Password outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string required: true - name: v1-account-settings path: /v1/account/settings operations: - name: getusersettings method: GET description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateusersettings method: PATCH description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string required: true - name: v1-account-signup path: /v1/account/signup operations: - name: signup method: POST description: Signup outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string description: Create new account required: true - name: seon-fp in: header type: string description: Seon Fingerprint - name: v1-account-update_password path: /v1/account/update_password operations: - name: updatepassword method: POST description: Update Password outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: string required: true - name: seon-fp in: header type: string description: Seon Fingerprint - name: v1-account-validate-id path: /v1/account/validate/{id} operations: - name: validate method: POST description: Validate outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: seon-fp in: header type: string description: Seon Fingerprint - name: v2-account-profile path: /v2/account/profile operations: - name: updateuserv2 method: PUT description: Update User V2 outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user in: body type: string required: true - name: update_mask in: query type: string - name: updateuserv22 method: PATCH description: Update User V2 outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: user in: body type: string required: true - name: update_mask in: query type: string exposes: - type: rest namespace: koyeb-profile-rest port: 8080 description: REST adapter for Koyeb Rest API — Profile. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/account/idenfy name: v1-account-idenfy description: REST surface for v1-account-idenfy. operations: - method: GET name: getidenfytoken description: Begin a session with iDenfy, emit an authToken call: koyeb-profile.getidenfytoken outputParameters: - type: object mapping: $. - method: POST name: clearidenfyverificationresult description: ClearIdenfyVerificationResult marks the current result for idenfy as call: koyeb-profile.clearidenfyverificationresult with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/account/login-method name: v1-account-login-method description: REST surface for v1-account-login_method. operations: - method: GET name: loginmethod description: Get the login method for an email address call: koyeb-profile.loginmethod with: email: rest.email outputParameters: - type: object mapping: $. - path: /v1/v1/account/oauth name: v1-account-oauth description: REST surface for v1-account-oauth. operations: - method: GET name: getoauthoptions description: Get OAuth Providers call: koyeb-profile.getoauthoptions with: action: rest.action metadata: rest.metadata outputParameters: - type: object mapping: $. - method: POST name: oauthcallback description: Authenticate using OAuth call: koyeb-profile.oauthcallback with: body: rest.body seon-fp: rest.seon-fp outputParameters: - type: object mapping: $. - path: /v1/v1/account/organization name: v1-account-organization description: REST surface for v1-account-organization. operations: - method: GET name: getcurrentorganization description: Get Current Organization call: koyeb-profile.getcurrentorganization outputParameters: - type: object mapping: $. - path: /v1/v1/account/organization-invitations name: v1-account-organization-invitations description: REST surface for v1-account-organization_invitations. operations: - method: GET name: listuserorganizationinvitations description: List User Organization Invitations call: koyeb-profile.listuserorganizationinvitations with: limit: rest.limit offset: rest.offset statuses: rest.statuses outputParameters: - type: object mapping: $. - path: /v1/v1/account/organization-invitations/{id} name: v1-account-organization-invitations-id description: REST surface for v1-account-organization_invitations-id. operations: - method: GET name: getuserorganizationinvitation description: Get User Organization Invitation call: koyeb-profile.getuserorganizationinvitation with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/v1/account/organization-invitations/{id}/accept name: v1-account-organization-invitations-id-accept description: REST surface for v1-account-organization_invitations-id-accept. operations: - method: POST name: acceptorganizationinvitation description: Accept Organization Invitation call: koyeb-profile.acceptorganizationinvitation with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/account/organization-invitations/{id}/decline name: v1-account-organization-invitations-id-decline description: REST surface for v1-account-organization_invitations-id-decline. operations: - method: POST name: declineorganizationinvitation description: Decline Organization Invitation call: koyeb-profile.declineorganizationinvitation with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/account/organizations name: v1-account-organizations description: REST surface for v1-account-organizations. operations: - method: GET name: listuserorganizations description: List User Organizations call: koyeb-profile.listuserorganizations with: limit: rest.limit offset: rest.offset order: rest.order search: rest.search statuses: rest.statuses outputParameters: - type: object mapping: $. - path: /v1/v1/account/profile name: v1-account-profile description: REST surface for v1-account-profile. operations: - method: GET name: getcurrentuser description: Get Current User call: koyeb-profile.getcurrentuser with: seon-fp: rest.seon-fp outputParameters: - type: object mapping: $. - method: PUT name: updateuser description: Update User call: koyeb-profile.updateuser with: user: rest.user update_mask: rest.update_mask outputParameters: - type: object mapping: $. - method: PATCH name: updateuser2 description: Update User call: koyeb-profile.updateuser2 with: user: rest.user update_mask: rest.update_mask outputParameters: - type: object mapping: $. - path: /v1/v1/account/resend-validation name: v1-account-resend-validation description: REST surface for v1-account-resend_validation. operations: - method: POST name: resendemailvalidation description: Resend Email Verification call: koyeb-profile.resendemailvalidation with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/account/reset-password name: v1-account-reset-password description: REST surface for v1-account-reset_password. operations: - method: POST name: resetpassword description: Reset Password call: koyeb-profile.resetpassword with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/account/settings name: v1-account-settings description: REST surface for v1-account-settings. operations: - method: GET name: getusersettings description: getusersettings call: koyeb-profile.getusersettings outputParameters: - type: object mapping: $. - method: PATCH name: updateusersettings description: updateusersettings call: koyeb-profile.updateusersettings with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/account/signup name: v1-account-signup description: REST surface for v1-account-signup. operations: - method: POST name: signup description: Signup call: koyeb-profile.signup with: body: rest.body seon-fp: rest.seon-fp outputParameters: - type: object mapping: $. - path: /v1/v1/account/update-password name: v1-account-update-password description: REST surface for v1-account-update_password. operations: - method: POST name: updatepassword description: Update Password call: koyeb-profile.updatepassword with: body: rest.body seon-fp: rest.seon-fp outputParameters: - type: object mapping: $. - path: /v1/v1/account/validate/{id} name: v1-account-validate-id description: REST surface for v1-account-validate-id. operations: - method: POST name: validate description: Validate call: koyeb-profile.validate with: id: rest.id seon-fp: rest.seon-fp outputParameters: - type: object mapping: $. - path: /v1/v2/account/profile name: v2-account-profile description: REST surface for v2-account-profile. operations: - method: PUT name: updateuserv2 description: Update User V2 call: koyeb-profile.updateuserv2 with: user: rest.user update_mask: rest.update_mask outputParameters: - type: object mapping: $. - method: PATCH name: updateuserv22 description: Update User V2 call: koyeb-profile.updateuserv22 with: user: rest.user update_mask: rest.update_mask outputParameters: - type: object mapping: $. - type: mcp namespace: koyeb-profile-mcp port: 9090 transport: http description: MCP adapter for Koyeb Rest API — Profile. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: begin-session-idenfy-emit-authtoken description: Begin a session with iDenfy, emit an authToken hints: readOnly: true destructive: false idempotent: true call: koyeb-profile.getidenfytoken outputParameters: - type: object mapping: $. - name: clearidenfyverificationresult-marks-current-result-idenfy description: ClearIdenfyVerificationResult marks the current result for idenfy as hints: readOnly: false destructive: false idempotent: false call: koyeb-profile.clearidenfyverificationresult with: body: tools.body outputParameters: - type: object mapping: $. - name: get-login-method-email-address description: Get the login method for an email address hints: readOnly: true destructive: false idempotent: true call: koyeb-profile.loginmethod with: email: tools.email outputParameters: - type: object mapping: $. - name: get-oauth-providers description: Get OAuth Providers hints: readOnly: true destructive: false idempotent: true call: koyeb-profile.getoauthoptions with: action: tools.action metadata: tools.metadata outputParameters: - type: object mapping: $. - name: authenticate-using-oauth description: Authenticate using OAuth hints: readOnly: false destructive: false idempotent: false call: koyeb-profile.oauthcallback with: body: tools.body seon-fp: tools.seon-fp outputParameters: - type: object mapping: $. - name: get-current-organization description: Get Current Organization hints: readOnly: true destructive: false idempotent: true call: koyeb-profile.getcurrentorganization outputParameters: - type: object mapping: $. - name: list-user-organization-invitations description: List User Organization Invitations hints: readOnly: true destructive: false idempotent: true call: koyeb-profile.listuserorganizationinvitations with: limit: tools.limit offset: tools.offset statuses: tools.statuses outputParameters: - type: object mapping: $. - name: get-user-organization-invitation description: Get User Organization Invitation hints: readOnly: true destructive: false idempotent: true call: koyeb-profile.getuserorganizationinvitation with: id: tools.id outputParameters: - type: object mapping: $. - name: accept-organization-invitation description: Accept Organization Invitation hints: readOnly: false destructive: false idempotent: false call: koyeb-profile.acceptorganizationinvitation with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: decline-organization-invitation description: Decline Organization Invitation hints: readOnly: false destructive: false idempotent: false call: koyeb-profile.declineorganizationinvitation with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: list-user-organizations description: List User Organizations hints: readOnly: true destructive: false idempotent: true call: koyeb-profile.listuserorganizations with: limit: tools.limit offset: tools.offset order: tools.order search: tools.search statuses: tools.statuses outputParameters: - type: object mapping: $. - name: get-current-user description: Get Current User hints: readOnly: true destructive: false idempotent: true call: koyeb-profile.getcurrentuser with: seon-fp: tools.seon-fp outputParameters: - type: object mapping: $. - name: update-user description: Update User hints: readOnly: false destructive: false idempotent: true call: koyeb-profile.updateuser with: user: tools.user update_mask: tools.update_mask outputParameters: - type: object mapping: $. - name: update-user-2 description: Update User hints: readOnly: false destructive: false idempotent: true call: koyeb-profile.updateuser2 with: user: tools.user update_mask: tools.update_mask outputParameters: - type: object mapping: $. - name: resend-email-verification description: Resend Email Verification hints: readOnly: false destructive: false idempotent: false call: koyeb-profile.resendemailvalidation with: body: tools.body outputParameters: - type: object mapping: $. - name: reset-password description: Reset Password hints: readOnly: false destructive: false idempotent: false call: koyeb-profile.resetpassword with: body: tools.body outputParameters: - type: object mapping: $. - name: getusersettings description: getusersettings hints: readOnly: true destructive: false idempotent: true call: koyeb-profile.getusersettings outputParameters: - type: object mapping: $. - name: updateusersettings description: updateusersettings hints: readOnly: false destructive: false idempotent: true call: koyeb-profile.updateusersettings with: body: tools.body outputParameters: - type: object mapping: $. - name: signup description: Signup hints: readOnly: false destructive: false idempotent: false call: koyeb-profile.signup with: body: tools.body seon-fp: tools.seon-fp outputParameters: - type: object mapping: $. - name: update-password description: Update Password hints: readOnly: false destructive: false idempotent: false call: koyeb-profile.updatepassword with: body: tools.body seon-fp: tools.seon-fp outputParameters: - type: object mapping: $. - name: validate description: Validate hints: readOnly: true destructive: false idempotent: false call: koyeb-profile.validate with: id: tools.id seon-fp: tools.seon-fp outputParameters: - type: object mapping: $. - name: update-user-v2 description: Update User V2 hints: readOnly: false destructive: false idempotent: true call: koyeb-profile.updateuserv2 with: user: tools.user update_mask: tools.update_mask outputParameters: - type: object mapping: $. - name: update-user-v2-2 description: Update User V2 hints: readOnly: false destructive: false idempotent: true call: koyeb-profile.updateuserv22 with: user: tools.user update_mask: tools.update_mask outputParameters: - type: object mapping: $.