Loyverse · Agentic Access

Loyverse Agentic Access

x-agentic-access generated

Loyverse exposes 32 API operations that an AI agent could call, of which 10 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: 22 read and 10 write.

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.

Point of SalePOSRetailInventoryCafe and RestaurantLoyaltyPaymentsCommerce
Operations: 32 Acting: 10 Human-in-the-loop: 0 Method: generated

By consequence

read 22 write 10

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/loyverse-openapi.yml
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: 32
  by_action_class:
    connected: 22
    acting: 10
  by_consequence:
    read: 22
    write: 10
  human_in_the_loop_required: 0
operations:
- path: /items
  method: get
  operationId: listItems
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /items
  method: post
  operationId: createOrUpdateItem
  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
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /items/{item_id}
  method: get
  operationId: getItem
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /items/{item_id}
  method: delete
  operationId: deleteItem
  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
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /categories
  method: get
  operationId: listCategories
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /categories
  method: post
  operationId: createOrUpdateCategory
  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
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /categories/{category_id}
  method: get
  operationId: getCategory
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /categories/{category_id}
  method: delete
  operationId: deleteCategory
  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
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /receipts
  method: get
  operationId: listReceipts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /receipts
  method: post
  operationId: createReceipt
  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
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /receipts/{receipt_number}
  method: get
  operationId: getReceipt
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /customers
  method: get
  operationId: listCustomers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /customers
  method: post
  operationId: createOrUpdateCustomer
  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
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /customers/{customer_id}
  method: get
  operationId: getCustomer
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /customers/{customer_id}
  method: delete
  operationId: deleteCustomer
  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
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /inventory
  method: get
  operationId: getInventoryLevels
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /inventory
  method: post
  operationId: updateInventoryLevels
  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
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /stores
  method: get
  operationId: listStores
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /stores/{store_id}
  method: get
  operationId: getStore
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /employees
  method: get
  operationId: listEmployees
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /employees
  method: post
  operationId: createOrUpdateEmployee
  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
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /employees/{employee_id}
  method: get
  operationId: getEmployee
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /employees/{employee_id}
  method: delete
  operationId: deleteEmployee
  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
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /payment_types
  method: get
  operationId: listPaymentTypes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /payment_types/{payment_type_id}
  method: get
  operationId: getPaymentType
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /merchants
  method: get
  operationId: listMerchants
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /taxes
  method: get
  operationId: listTaxes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /discounts
  method: get
  operationId: listDiscounts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /modifiers
  method: get
  operationId: listModifiers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /suppliers
  method: get
  operationId: listSuppliers
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /pos_devices
  method: get
  operationId: listPosDevices
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ
- path: /shifts
  method: get
  operationId: listShifts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
    scope:
    - CUSTOMERS_READ
    - INVENTORY_READ
    - ITEMS_READ
    - RECEIPTS_READ
    - STORES_READ