Harri · Agentic Access

Harri Agentic Access

x-agentic-access generated

Harri exposes 385 API operations that an AI agent could call, of which 256 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 129 read, 250 write, and 6 safety-critical.

6 operations are classed safety-critical and should require human-in-the-loop approval at runtime.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

Human ResourcesWorkforce ManagementHospitalityRestaurantsSchedulingTime and AttendancePayrollTalent AcquisitionLabor ComplianceHCM
Operations: 385 Acting: 256 Human-in-the-loop: 6 Method: generated

By consequence

read 129 write 250 safety-critical 6

Highest-consequence actions

The physical and safety-critical operations an agent could invoke — the ones that most warrant scoped tokens, tight TTLs, and escalation. Full per-operation contracts are in the source below.

MethodPathConsequenceHuman-in-loop
POST /api/v1/employees/{employeeId}/terminate safety-critical required
POST /api/v1/franchisees/{franchiseeId}/employees/{employeeId}/terminate safety-critical required
POST /api/v2/employees/{employeeId}/terminate safety-critical required
POST /api/v2/franchisees/{franchiseeId}/employees/{employeeId}/terminate safety-critical required
POST /api/v3/employees/{employeeId}/terminate safety-critical required
POST /api/v3/franchisees/{franchiseeId}/employees/{employeeId}/terminate safety-critical required

Source

Agentic Access

Raw ↑
generated: '2026-08-04'
method: generated
source: openapi/harri-employee-openapi.yml, openapi/harri-employer-openapi.json
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 385
  by_action_class:
    connected: 129
    acting: 256
  by_consequence:
    read: 129
    write: 250
    safety-critical: 6
  human_in_the_loop_required: 6
operations:
- path: /api/v1/positions
  method: get
  operationId: GetAllPositions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/locations
  method: get
  operationId: GetAllLocations
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/locations/{location_id}/cost_centers
  method: get
  operationId: GetLocationCostCenters
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/job_titles
  method: get
  operationId: GetAllJobTitles
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v3/employees
  method: post
  operationId: DeprecatedCreateEmployee
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ''
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v3/employees
  method: get
  operationId: DeprecactedgetEmployees
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v4/employees
  method: post
  operationId: DeprecatedCreateEmployeeV4
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ''
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v5/employees
  method: post
  operationId: DeprecatedCreateEmployeeV2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ''
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v6/employees
  method: post
  operationId: CreateEmployee
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ''
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees
  method: get
  operationId: DeprecactedgetEmployeesV2
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v3/employees/{employeeId}
  method: get
  operationId: DeprecatedGetEmployeeByIdV3
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ''
    token:
      max-ttl: 3600
    audit: none
- path: /api/v4/employees/{employeeId}
  method: get
  operationId: GetEmployeeById
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ''
    token:
      max-ttl: 3600
    audit: none
- path: /api/v5/employees/{employeeId}
  method: get
  operationId: GetEmployeeByIdV5
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ''
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/employees/{employeeId}/profile
  method: get
  operationId: DeprecatedGetEmployeeProfile
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ''
    token:
      max-ttl: 3600
    audit: none
- path: /api/v2/employees/{employeeId}/profile
  method: get
  operationId: DeprecatredGetEmployeeProfileV2
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ''
    token:
      max-ttl: 3600
    audit: none
- path: /api/v3/employees/{employeeId}/profile
  method: get
  operationId: DeprecatedGetEmployeeProfileV3
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ''
    token:
      max-ttl: 3600
    audit: none
- path: /api/v4/employees/{employeeId}/profile
  method: get
  operationId: GetEmployeeProfile
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ''
    token:
      max-ttl: 3600
    audit: none
- path: /api/v2/employees/{employeeId}/basic_info
  method: put
  operationId: DeprecatedUpdateEmployee
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ''
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v3/employees/{employeeId}/basic_info
  method: put
  operationId: UpdateEmployee
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ''
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/locations/{locationId}
  method: post
  operationId: DeprecatedAttachEmployeeToLocation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/locations/{locationId}
  method: delete
  operationId: DeprecatedDetachEmployeeToLocation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/locations/{locationId}
  method: post
  operationId: AttachEmployeeToLocation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/locations/{locationId}
  method: delete
  operationId: DetachEmployeeToLocation
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/locations/{locationId}/info
  method: put
  operationId: DeprecatedEditEmployeeLocationInfo
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/locations/{locationId}/info
  method: put
  operationId: EditEmployeeLocationInfo
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/locations/{locationId}/unshare
  method: post
  operationId: DeprecatedSetShareEndDate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/locations/{locationId}/location_periods
  method: put
  operationId: DeprecatedUpdateEmployeeLocationPeriod
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/locations/{locationId}/location_periods
  method: put
  operationId: UpdateEmployeeLocationPeriod
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/bank_accounts
  method: get
  operationId: DeprecatedGetBankAccountsByEmployeeId
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/employees/{employeeId}/bank_accounts
  method: put
  operationId: DeprecatedUpdateEmployeeBankAccount
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/bank_accounts
  method: get
  operationId: GetEmployeeBankAccounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v2/employees/{employeeId}/bank_accounts
  method: put
  operationId: UpdateEmployeeBankAccount
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/job_titles
  method: get
  operationId: GetJobTitlesByEmployeeId
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/employees/{employeeId}/job_titles/{jobTitleId}
  method: post
  operationId: AttachJobTitleToEmployee
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/job_titles/{jobTitleId}
  method: put
  operationId: UpdateEmployeeJobTitle
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/job_titles/{jobTitleId}
  method: delete
  operationId: DeleteEmployeeJobTitle
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_types
  method: get
  operationId: GetEmployeePayTypes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/employees/{employeeId}/pay_types
  method: post
  operationId: DeprecatedCreateEmployeePayTypes
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}
  method: put
  operationId: DeprecatedUpdateEmployeePayType
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}
  method: delete
  operationId: DeprecatedDeleteEmployeePayTypes
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}
  method: put
  operationId: UpdateEmployeePayType
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}
  method: delete
  operationId: DeleteEmployeePayTypes
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types
  method: post
  operationId: DeprecatedCreateEmployeePayTypesV2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v3/employees/{employeeId}/pay_types
  method: post
  operationId: CreateEmployeePayTypesV2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_type
  method: get
  operationId: DeprecatedGetEmployeePayType
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v2/employees/{employeeId}/pay_type
  method: put
  operationId: DeprecatedUpdateEmployeePayTypeV2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_type
  method: post
  operationId: DeprecatedCreateEmployeePayType
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v3/employees/{employeeId}/positions
  method: get
  operationId: GetEmployeePositions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v3/employees/{employeeId}/locations/{locationId}/positions/{positionCode}
  method: put
  operationId: DeprecatedUpdateEmployeePositionV2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v3/employees/{employeeId}/locations/{locationId}/positions/{positionCode}
  method: post
  operationId: AttachEmployeePosition
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v4/employees/{employeeId}/locations/{locationId}/positions/{positionCode}
  method: put
  operationId: UpdateEmployeePosition
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/locations/{locationId}/positions/{positionCode}
  method: post
  operationId: DeprecatedAttachEmployeePosition
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/locations/{locationId}/positions/{positionCode}
  method: delete
  operationId: DeprecatedDeleteEmployeePosition
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/positions/{positionCode}/set_primary
  method: post
  operationId: DeprecatedSetPrimaryEmployeePosition
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/positions/{positionCode}/set_primary
  method: post
  operationId: SetPrimaryEmployeePosition
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/locations/{locationId}/positions/{positionCode}
  method: put
  operationId: DeprecatedUpdateLocationEmployeePosition
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/locations/{locationId}/positions/{positionCode}
  method: post
  operationId: DeprecatedAttachEmployeePositionV2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/locations/{locationId}/positions/{positionCode}
  method: delete
  operationId: DeleteEmployeePosition
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/positions/{positionCode}
  method: put
  operationId: DeprecatedUpdateEmployeePosition
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/positions/{positionCode}
  method: post
  operationId: DeprecatedAttachPositionToEmployees
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/positions/{positionCode}
  method: delete
  operationId: DeprecatedDeleteEmployeePositionForFixedPayType
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/positions
  method: get
  operationId: DeprecatedGetEmployeePositions
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates
  method: get
  operationId: DeprecatedGetEmployeePayRates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates
  method: post
  operationId: DeprecatedCreateEmployeePayRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates/{hourlyRateId}
  method: put
  operationId: DeprecatedUpdateEmployeePayRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates/{hourlyRateId}
  method: delete
  operationId: DeprecatedDeleteEmployeePayRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates
  method: get
  operationId: DeprecatedGetEmployeePayRatesV2
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates
  method: post
  operationId: DeprecatedCreateEmployeePayRateV2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates/{hourlyRateId}
  method: put
  operationId: DeprecatedUpdateEmployeePayRateV2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates/{hourlyRateId}
  method: delete
  operationId: DeprecatedDeleteEmployeePayRateV2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v3/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates
  method: get
  operationId: GetEmployeePayRates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v3/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates
  method: post
  operationId: CreateEmployeePayRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v3/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates/{hourlyRateId}
  method: put
  operationId: UpdateEmployeePayRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v3/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/hourly_rates/{hourlyRateId}
  method: delete
  operationId: DeleteEmployeePayRateV2
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/tipped_statuses
  method: get
  operationId: DeprecatedGetEmployeeTippedStatuses
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/tipped_statuses
  method: post
  operationId: DeprecatedCreateEmployeeTippedStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/tipped_statuses/{tippedStatusId}
  method: put
  operationId: DeprecatedUpdateEmployeeTippedStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/tipped_statuses/{tippedStatusId}
  method: delete
  operationId: DeprecatedDeleteEmployeeTippedStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/tipped_statuses
  method: get
  operationId: GetEmployeeTippedStatuses
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/tipped_statuses
  method: post
  operationId: CreateEmployeeTippedStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/tipped_statuses/{tippedStatusId}
  method: put
  operationId: UpdateEmployeeTippedStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}/locations/{locationId}/positions/{positionCode}/tipped_statuses/{tippedStatusId}
  method: delete
  operationId: DeleteEmployeeTippedStatus
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/annual_rates
  method: get
  operationId: GetEmployeeAnnualRate
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/annual_rates
  method: post
  operationId: DeprecatedCreateEmployeeAnnualRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/annual_rates/{annualRateId}
  method: put
  operationId: DeprecatedUpdateEmployeeAnnualRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v1/employees/{employeeId}/pay_types/{payTypeId}/annual_rates/{annualRateId}
  method: delete
  operationId: DeprecatedDeleteEmployeeAnnualRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}/annual_rates
  method: post
  operationId: CreateEmployeeAnnualRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}/annual_rates/{annualRateId}
  method: put
  operationId: UpdateEmployeeAnnualRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /api/v2/employees/{employeeId}/pay_types/{payTypeId}/annual_rates/{annualRateId}
  method: delete
  operationId: DeleteEmployeeAnnualRate
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    audien

# --- truncated at 32 KB (138 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/harri/refs/heads/main/agentic-access/harri-agentic-access.yml