naftiko: 1.0.0-alpha2 info: label: Absentify API — Members description: 'Absentify API — Members. 14 operations. Lead operation: Absentify Get All Members. Self-contained Naftiko capability covering one Absentify business surface.' tags: - Absentify - Members created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ABSENTIFY_API_KEY: ABSENTIFY_API_KEY capability: consumes: - type: http namespace: absentify-members baseUri: https://api.absentify.com/api/v1 description: Absentify API — Members business capability. Self-contained, no shared references. resources: - name: members path: /members operations: - name: membergetmembers method: GET description: Absentify Get All Members outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: department_ids in: query type: array - name: status in: query type: string - name: employment_start_date_from in: query type: string - name: employment_start_date_to in: query type: string - name: employment_end_date_from in: query type: string - name: employment_end_date_to in: query type: string - name: is_admin in: query type: boolean - name: approval_process in: query type: string - name: has_approvers in: query type: boolean - name: allowance_type_id in: query type: string - name: name in: query type: string - name: birthday_month in: query type: number - name: manager_type in: query type: string - name: memberinvitemember method: POST description: Absentify Invite a Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: members-custom_id-custom_id path: /members/custom_id/{custom_id} operations: - name: membergetmemberbycustomid method: GET description: Absentify Read a Member by Custom_id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: custom_id in: path type: string required: true - name: members-email-email path: /members/email/{email} operations: - name: membergetmemberbyemail method: GET description: Absentify Read a Member by Email outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: email in: path type: string required: true - name: members-microsoft-microsoft_user_id path: /members/microsoft/{microsoft_user_id} operations: - name: membergetmemberbymicrosoftid method: GET description: Absentify Read a Member by Microsoft User Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: microsoft_user_id in: path type: string required: true - name: members-id path: /members/{id} operations: - name: membergetmemberbyid method: GET description: Absentify Read a Member by Id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: memberupdatemember method: PUT description: Absentify Update a Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: memberdeletemember method: DELETE description: Absentify Delete a Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: members-id-allowance-allowance_type_id-year path: /members/{id}/allowance/{allowance_type_id}/{year} operations: - name: memberupdatememberallowance method: PUT description: Absentify Update a Member's Allowance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: allowance_type_id in: path type: string required: true - name: year in: path type: number required: true - name: body in: body type: object description: Request body (JSON). required: true - name: members-id-approvers path: /members/{id}/approvers operations: - name: memberupdatememberapprovers method: PUT description: Absentify Update Approvers for a Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: members-id-representatives path: /members/{id}/representatives operations: - name: memberupdatememberrepresentatives method: PUT description: Absentify Update Representatives for a Member outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: membergetmemberrepresentatives method: GET description: Absentify Get a Member's Representative Settings and List outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: members-id-schedule path: /members/{id}/schedule operations: - name: memberaddmemberschedule method: POST description: Absentify Add a Member's Schedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: members-member_id-schedule-id path: /members/{member_id}/schedule/{id} operations: - name: memberupdatememberschedule method: PUT description: Absentify Update a Member's Schedule outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: member_id in: path type: string required: true - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: X-API-KEY value: '{{env.ABSENTIFY_API_KEY}}' placement: header exposes: - type: rest namespace: absentify-members-rest port: 8080 description: REST adapter for Absentify API — Members. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/members name: members description: REST surface for members. operations: - method: GET name: membergetmembers description: Absentify Get All Members call: absentify-members.membergetmembers with: department_ids: rest.department_ids status: rest.status employment_start_date_from: rest.employment_start_date_from employment_start_date_to: rest.employment_start_date_to employment_end_date_from: rest.employment_end_date_from employment_end_date_to: rest.employment_end_date_to is_admin: rest.is_admin approval_process: rest.approval_process has_approvers: rest.has_approvers allowance_type_id: rest.allowance_type_id name: rest.name birthday_month: rest.birthday_month manager_type: rest.manager_type outputParameters: - type: object mapping: $. - method: POST name: memberinvitemember description: Absentify Invite a Member call: absentify-members.memberinvitemember with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/members/custom-id/{custom-id} name: members-custom-id-custom-id description: REST surface for members-custom_id-custom_id. operations: - method: GET name: membergetmemberbycustomid description: Absentify Read a Member by Custom_id call: absentify-members.membergetmemberbycustomid with: custom_id: rest.custom_id outputParameters: - type: object mapping: $. - path: /v1/members/email/{email} name: members-email-email description: REST surface for members-email-email. operations: - method: GET name: membergetmemberbyemail description: Absentify Read a Member by Email call: absentify-members.membergetmemberbyemail with: email: rest.email outputParameters: - type: object mapping: $. - path: /v1/members/microsoft/{microsoft-user-id} name: members-microsoft-microsoft-user-id description: REST surface for members-microsoft-microsoft_user_id. operations: - method: GET name: membergetmemberbymicrosoftid description: Absentify Read a Member by Microsoft User Id call: absentify-members.membergetmemberbymicrosoftid with: microsoft_user_id: rest.microsoft_user_id outputParameters: - type: object mapping: $. - path: /v1/members/{id} name: members-id description: REST surface for members-id. operations: - method: GET name: membergetmemberbyid description: Absentify Read a Member by Id call: absentify-members.membergetmemberbyid with: id: rest.id outputParameters: - type: object mapping: $. - method: PUT name: memberupdatemember description: Absentify Update a Member call: absentify-members.memberupdatemember with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: memberdeletemember description: Absentify Delete a Member call: absentify-members.memberdeletemember with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/members/{id}/allowance/{allowance-type-id}/{year} name: members-id-allowance-allowance-type-id-year description: REST surface for members-id-allowance-allowance_type_id-year. operations: - method: PUT name: memberupdatememberallowance description: Absentify Update a Member's Allowance call: absentify-members.memberupdatememberallowance with: id: rest.id allowance_type_id: rest.allowance_type_id year: rest.year body: rest.body outputParameters: - type: object mapping: $. - path: /v1/members/{id}/approvers name: members-id-approvers description: REST surface for members-id-approvers. operations: - method: PUT name: memberupdatememberapprovers description: Absentify Update Approvers for a Member call: absentify-members.memberupdatememberapprovers with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/members/{id}/representatives name: members-id-representatives description: REST surface for members-id-representatives. operations: - method: PUT name: memberupdatememberrepresentatives description: Absentify Update Representatives for a Member call: absentify-members.memberupdatememberrepresentatives with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - method: GET name: membergetmemberrepresentatives description: Absentify Get a Member's Representative Settings and List call: absentify-members.membergetmemberrepresentatives with: id: rest.id outputParameters: - type: object mapping: $. - path: /v1/members/{id}/schedule name: members-id-schedule description: REST surface for members-id-schedule. operations: - method: POST name: memberaddmemberschedule description: Absentify Add a Member's Schedule call: absentify-members.memberaddmemberschedule with: id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/members/{member-id}/schedule/{id} name: members-member-id-schedule-id description: REST surface for members-member_id-schedule-id. operations: - method: PUT name: memberupdatememberschedule description: Absentify Update a Member's Schedule call: absentify-members.memberupdatememberschedule with: member_id: rest.member_id id: rest.id body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: absentify-members-mcp port: 9090 transport: http description: MCP adapter for Absentify API — Members. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: absentify-get-all-members description: Absentify Get All Members hints: readOnly: true destructive: false idempotent: true call: absentify-members.membergetmembers with: department_ids: tools.department_ids status: tools.status employment_start_date_from: tools.employment_start_date_from employment_start_date_to: tools.employment_start_date_to employment_end_date_from: tools.employment_end_date_from employment_end_date_to: tools.employment_end_date_to is_admin: tools.is_admin approval_process: tools.approval_process has_approvers: tools.has_approvers allowance_type_id: tools.allowance_type_id name: tools.name birthday_month: tools.birthday_month manager_type: tools.manager_type outputParameters: - type: object mapping: $. - name: absentify-invite-member description: Absentify Invite a Member hints: readOnly: false destructive: false idempotent: false call: absentify-members.memberinvitemember with: body: tools.body outputParameters: - type: object mapping: $. - name: absentify-read-member-custom-id description: Absentify Read a Member by Custom_id hints: readOnly: true destructive: false idempotent: true call: absentify-members.membergetmemberbycustomid with: custom_id: tools.custom_id outputParameters: - type: object mapping: $. - name: absentify-read-member-email description: Absentify Read a Member by Email hints: readOnly: true destructive: false idempotent: true call: absentify-members.membergetmemberbyemail with: email: tools.email outputParameters: - type: object mapping: $. - name: absentify-read-member-microsoft-user description: Absentify Read a Member by Microsoft User Id hints: readOnly: true destructive: false idempotent: true call: absentify-members.membergetmemberbymicrosoftid with: microsoft_user_id: tools.microsoft_user_id outputParameters: - type: object mapping: $. - name: absentify-read-member-id description: Absentify Read a Member by Id hints: readOnly: true destructive: false idempotent: true call: absentify-members.membergetmemberbyid with: id: tools.id outputParameters: - type: object mapping: $. - name: absentify-update-member description: Absentify Update a Member hints: readOnly: false destructive: false idempotent: true call: absentify-members.memberupdatemember with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: absentify-delete-member description: Absentify Delete a Member hints: readOnly: false destructive: true idempotent: true call: absentify-members.memberdeletemember with: id: tools.id outputParameters: - type: object mapping: $. - name: absentify-update-member-s-allowance description: Absentify Update a Member's Allowance hints: readOnly: false destructive: false idempotent: true call: absentify-members.memberupdatememberallowance with: id: tools.id allowance_type_id: tools.allowance_type_id year: tools.year body: tools.body outputParameters: - type: object mapping: $. - name: absentify-update-approvers-member description: Absentify Update Approvers for a Member hints: readOnly: false destructive: false idempotent: true call: absentify-members.memberupdatememberapprovers with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: absentify-update-representatives-member description: Absentify Update Representatives for a Member hints: readOnly: false destructive: false idempotent: true call: absentify-members.memberupdatememberrepresentatives with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: absentify-get-member-s-representative-settings description: Absentify Get a Member's Representative Settings and List hints: readOnly: true destructive: false idempotent: true call: absentify-members.membergetmemberrepresentatives with: id: tools.id outputParameters: - type: object mapping: $. - name: absentify-add-member-s-schedule description: Absentify Add a Member's Schedule hints: readOnly: false destructive: false idempotent: false call: absentify-members.memberaddmemberschedule with: id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: absentify-update-member-s-schedule description: Absentify Update a Member's Schedule hints: readOnly: false destructive: false idempotent: true call: absentify-members.memberupdatememberschedule with: member_id: tools.member_id id: tools.id body: tools.body outputParameters: - type: object mapping: $.