naftiko: 1.0.0-alpha2 info: label: Marketing — Employees description: 'Marketing — Employees. 7 operations. Lead operation: List Employees. Self-contained Naftiko capability covering one Stackone business surface.' tags: - Stackone - Employees created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: STACKONE_API_KEY: STACKONE_API_KEY capability: consumes: - type: http namespace: stackone-employees baseUri: https://api.stackone.com description: Marketing — Employees business capability. Self-contained, no shared references. resources: - name: unified-hris-employees path: /unified/hris/employees operations: - name: hrislistemployees method: GET description: List Employees outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: page in: query type: string description: The page number of the results to fetch - name: page_size in: query type: string description: The number of results per page - name: raw in: query type: boolean description: Indicates that the raw request result is returned - name: fields in: query type: string description: The comma separated list of fields to return in the response (if empty, all fields are returned) - name: sync_token in: query type: string description: The sync token to select the only updated results - name: updated_after in: query type: string description: Use a string with a date to only select results updated after that given date - name: expand in: query type: string description: The comma separated list of fields that will be expanded in the response - name: include in: query type: string description: The comma separated list of fields that will be included in the response - name: proxy in: query type: object description: Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with "proxy" key - name: x-account-id in: header type: string description: The account identifier required: true - name: hriscreateemployee method: POST description: Creates an employee outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: x-account-id in: header type: string description: The account identifier required: true - name: body in: body type: object description: Request body (JSON). required: true - name: unified-hris-employees-id path: /unified/hris/employees/{id} operations: - name: hrisgetemployee method: GET description: Get Employee outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: page in: query type: string description: The page number of the results to fetch - name: page_size in: query type: string description: The number of results per page - name: raw in: query type: boolean description: Indicates that the raw request result is returned - name: fields in: query type: string description: The comma separated list of fields to return in the response (if empty, all fields are returned) - name: sync_token in: query type: string description: The sync token to select the only updated results - name: updated_after in: query type: string description: Use a string with a date to only select results updated after that given date - name: expand in: query type: string description: The comma separated list of fields that will be expanded in the response - name: include in: query type: string description: The comma separated list of fields that will be included in the response - name: proxy in: query type: object description: Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with "proxy" key - name: x-account-id in: header type: string description: The account identifier required: true - name: hrisupdateemployee method: PATCH description: Updates an employee outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string required: true - name: x-account-id in: header type: string description: The account identifier required: true - name: body in: body type: object description: Request body (JSON). required: true - name: unified-hris-employees-id-time_off path: /unified/hris/employees/{id}/time_off operations: - name: hrislistemployeetimeoffrequests method: GET description: List Employee Time Off Requests outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: x-account-id in: header type: string description: The account identifier required: true - name: id in: path type: string required: true - name: page in: query type: string description: The page number of the results to fetch - name: page_size in: query type: string description: The number of results per page - name: raw in: query type: boolean description: Indicates that the raw request result is returned - name: fields in: query type: string description: The comma separated list of fields to return in the response (if empty, all fields are returned) - name: sync_token in: query type: string description: The sync token to select the only updated results - name: updated_after in: query type: string description: Use a string with a date to only select results updated after that given date - name: proxy in: query type: object description: Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with "proxy" key - name: hriscreateemployeetimeoffrequest method: POST description: Create Employee Time Off Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: x-account-id in: header type: string description: The account identifier required: true - name: id in: path type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: unified-hris-employees-id-time_off-subResourceId path: /unified/hris/employees/{id}/time_off/{subResourceId} operations: - name: hrisgetemployeestimeoffrequest method: GET description: Get Employees Time Off Request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: x-account-id in: header type: string description: The account identifier required: true - name: id in: path type: string required: true - name: subResourceId in: path type: string required: true - name: page in: query type: string description: The page number of the results to fetch - name: page_size in: query type: string description: The number of results per page - name: raw in: query type: boolean description: Indicates that the raw request result is returned - name: fields in: query type: string description: The comma separated list of fields to return in the response (if empty, all fields are returned) - name: sync_token in: query type: string description: The sync token to select the only updated results - name: updated_after in: query type: string description: Use a string with a date to only select results updated after that given date - name: proxy in: query type: object description: Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with "proxy" key authentication: type: basic username: '{{env.STACKONE_USER}}' password: '{{env.STACKONE_PASS}}' exposes: - type: rest namespace: stackone-employees-rest port: 8080 description: REST adapter for Marketing — Employees. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/unified/hris/employees name: unified-hris-employees description: REST surface for unified-hris-employees. operations: - method: GET name: hrislistemployees description: List Employees call: stackone-employees.hrislistemployees with: page: rest.page page_size: rest.page_size raw: rest.raw fields: rest.fields sync_token: rest.sync_token updated_after: rest.updated_after expand: rest.expand include: rest.include proxy: rest.proxy x-account-id: rest.x-account-id outputParameters: - type: object mapping: $. - method: POST name: hriscreateemployee description: Creates an employee call: stackone-employees.hriscreateemployee with: x-account-id: rest.x-account-id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/unified/hris/employees/{id} name: unified-hris-employees-id description: REST surface for unified-hris-employees-id. operations: - method: GET name: hrisgetemployee description: Get Employee call: stackone-employees.hrisgetemployee with: id: rest.id page: rest.page page_size: rest.page_size raw: rest.raw fields: rest.fields sync_token: rest.sync_token updated_after: rest.updated_after expand: rest.expand include: rest.include proxy: rest.proxy x-account-id: rest.x-account-id outputParameters: - type: object mapping: $. - method: PATCH name: hrisupdateemployee description: Updates an employee call: stackone-employees.hrisupdateemployee with: id: rest.id x-account-id: rest.x-account-id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/unified/hris/employees/{id}/time-off name: unified-hris-employees-id-time-off description: REST surface for unified-hris-employees-id-time_off. operations: - method: GET name: hrislistemployeetimeoffrequests description: List Employee Time Off Requests call: stackone-employees.hrislistemployeetimeoffrequests with: x-account-id: rest.x-account-id id: rest.id page: rest.page page_size: rest.page_size raw: rest.raw fields: rest.fields sync_token: rest.sync_token updated_after: rest.updated_after proxy: rest.proxy outputParameters: - type: object mapping: $. - method: POST name: hriscreateemployeetimeoffrequest description: Create Employee Time Off Request call: stackone-employees.hriscreateemployeetimeoffrequest with: x-account-id: rest.x-account-id id: rest.id body: rest.body outputParameters: - type: object mapping: $. - path: /v1/unified/hris/employees/{id}/time-off/{subresourceid} name: unified-hris-employees-id-time-off-subresourceid description: REST surface for unified-hris-employees-id-time_off-subResourceId. operations: - method: GET name: hrisgetemployeestimeoffrequest description: Get Employees Time Off Request call: stackone-employees.hrisgetemployeestimeoffrequest with: x-account-id: rest.x-account-id id: rest.id subResourceId: rest.subResourceId page: rest.page page_size: rest.page_size raw: rest.raw fields: rest.fields sync_token: rest.sync_token updated_after: rest.updated_after proxy: rest.proxy outputParameters: - type: object mapping: $. - type: mcp namespace: stackone-employees-mcp port: 9090 transport: http description: MCP adapter for Marketing — Employees. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-employees description: List Employees hints: readOnly: true destructive: false idempotent: true call: stackone-employees.hrislistemployees with: page: tools.page page_size: tools.page_size raw: tools.raw fields: tools.fields sync_token: tools.sync_token updated_after: tools.updated_after expand: tools.expand include: tools.include proxy: tools.proxy x-account-id: tools.x-account-id outputParameters: - type: object mapping: $. - name: creates-employee description: Creates an employee hints: readOnly: false destructive: false idempotent: false call: stackone-employees.hriscreateemployee with: x-account-id: tools.x-account-id body: tools.body outputParameters: - type: object mapping: $. - name: get-employee description: Get Employee hints: readOnly: true destructive: false idempotent: true call: stackone-employees.hrisgetemployee with: id: tools.id page: tools.page page_size: tools.page_size raw: tools.raw fields: tools.fields sync_token: tools.sync_token updated_after: tools.updated_after expand: tools.expand include: tools.include proxy: tools.proxy x-account-id: tools.x-account-id outputParameters: - type: object mapping: $. - name: updates-employee description: Updates an employee hints: readOnly: false destructive: false idempotent: true call: stackone-employees.hrisupdateemployee with: id: tools.id x-account-id: tools.x-account-id body: tools.body outputParameters: - type: object mapping: $. - name: list-employee-time-off-requests description: List Employee Time Off Requests hints: readOnly: true destructive: false idempotent: true call: stackone-employees.hrislistemployeetimeoffrequests with: x-account-id: tools.x-account-id id: tools.id page: tools.page page_size: tools.page_size raw: tools.raw fields: tools.fields sync_token: tools.sync_token updated_after: tools.updated_after proxy: tools.proxy outputParameters: - type: object mapping: $. - name: create-employee-time-off-request description: Create Employee Time Off Request hints: readOnly: false destructive: false idempotent: false call: stackone-employees.hriscreateemployeetimeoffrequest with: x-account-id: tools.x-account-id id: tools.id body: tools.body outputParameters: - type: object mapping: $. - name: get-employees-time-off-request description: Get Employees Time Off Request hints: readOnly: true destructive: false idempotent: true call: stackone-employees.hrisgetemployeestimeoffrequest with: x-account-id: tools.x-account-id id: tools.id subResourceId: tools.subResourceId page: tools.page page_size: tools.page_size raw: tools.raw fields: tools.fields sync_token: tools.sync_token updated_after: tools.updated_after proxy: tools.proxy outputParameters: - type: object mapping: $.