Zoho Inventory · Agentic Access

Zoho Inventory Agentic Access

x-agentic-access generated

Zoho Inventory exposes 504 API operations that an AI agent could call, of which 356 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: 148 read, 236 write, 116 physical, and 4 safety-critical.

4 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.

Inventory ManagementWarehousingSales OrdersPurchase OrdersStock AdjustmentShipmentsItemsE-commerce
Operations: 504 Acting: 356 Human-in-the-loop: 4 Method: generated

By consequence

read 148 write 236 physical 116 safety-critical 4

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 /invoices/{invoice_id}/paymentreminder/disable safety-critical required
POST /items/disablestoragelocation safety-critical required
POST /locations/{location_id}/storagelocations/disable safety-critical required
POST /settings/warehouses/{warehouse_id}/storagelocations/disable safety-critical required
PUT /creditnotes/{creditnote_id}/address/shipping physical conditional
POST /creditnotes/{creditnote_id}/invoices physical conditional
DELETE /creditnotes/{creditnote_id}/invoices/{creditnote_invoice_id} physical conditional
POST /creditnotes/{creditnote_id}/refunds physical conditional
PUT /creditnotes/{creditnote_id}/refunds/{creditnote_refund_id} physical conditional
DELETE /creditnotes/{creditnote_id}/refunds/{creditnote_refund_id} physical conditional
PUT /customerpayment/{customer_payment_id}/customfields physical conditional
POST /customerpayments physical conditional
PUT /customerpayments/{payment_id} physical conditional
DELETE /customerpayments/{payment_id} physical conditional
PUT /deliverychallans/{deliverychallan_id}/address/shipping physical conditional
PUT /invoice/{invoice_id}/customfields physical conditional
POST /invoices physical conditional
POST /invoices/approve physical conditional
POST /invoices/email physical conditional
POST /invoices/submit physical conditional
PUT /invoices/{invoice_id} physical conditional
DELETE /invoices/{invoice_id} physical conditional
PUT /invoices/{invoice_id}/address/billing physical conditional
PUT /invoices/{invoice_id}/address/shipping physical conditional
POST /invoices/{invoice_id}/approve physical conditional

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/batches.yml, openapi/bills.yml, openapi/compositeitems.yml, openapi/contact-persons.yml,
  openapi/contacts.yml, openapi/credit-notes.yml, openapi/currency.yml, openapi/customer-payments.yml,
  openapi/delivery-challans.yml, openapi/inventoryadjustments.yml, openapi/invoices.yml, openapi/itemgroups.yml,
  openapi/items.yml, openapi/landedcosts.yml, openapi/locations.yml, openapi/moveorders.yml,
  openapi/organizations.yml, openapi/packages.yml, openapi/picklists.yml, openapi/pricelists.yml,
  openapi/purchaseorders.yml, openapi/purchasereceives.yml, openapi/putaways.yml, openapi/replenishment.yml,
  openapi/reporting-tags.yml, openapi/retainer-invoices.yml, openapi/salesorders.yml, openapi/salesreturns.yml,
  openapi/serialnumbers.yml, openapi/shipmentorders.yml, openapi/storagelocations.yml, openapi/tasks.yml,
  openapi/taxes.yml, openapi/transferorders.yml, openapi/unit_of_measurement.yml, openapi/users.yml,
  openapi/vendor-credits.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: 504
  by_action_class:
    acting: 356
    connected: 148
  by_consequence:
    write: 236
    read: 148
    physical: 116
    safety-critical: 4
  human_in_the_loop_required: 4
operations:
- path: /items/batches
  method: post
  operationId: create_a_batch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.items.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /items/batches
  method: get
  operationId: list_batches
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.items.READ
    token:
      max-ttl: 3600
    audit: none
- path: /items/batches
  method: delete
  operationId: bulk_delete_batches
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.items.DELETE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /items/batches/{batch_id}
  method: get
  operationId: retrieve_a_batch
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.items.READ
    token:
      max-ttl: 3600
    audit: none
- path: /items/batches/{batch_id}
  method: put
  operationId: update_a_batch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.items.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /items/batches/{batch_id}
  method: delete
  operationId: delete_a_batch
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.items.DELETE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /items/batches/{batch_id}/active
  method: post
  operationId: mark_batch_as_active
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.items.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /items/batches/{batch_id}/inactive
  method: post
  operationId: mark_batch_as_inactive
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.items.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /items/batches/active
  method: post
  operationId: mark_batches_as_active
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.items.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /items/batches/inactive
  method: post
  operationId: mark_batches_as_inactive
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.items.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bills
  method: post
  operationId: create_bill
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bills
  method: get
  operationId: list_bills
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.bills.READ
    token:
      max-ttl: 3600
    audit: none
- path: /bills/{bill_id}
  method: get
  operationId: get_bill
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.bills.READ
    token:
      max-ttl: 3600
    audit: none
- path: /bills/{bill_id}
  method: put
  operationId: update_bill
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bills/{bill_id}
  method: delete
  operationId: delete_bill
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.DELETE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bill/{bill_id}/customfields
  method: put
  operationId: update_custom_field_in_bill
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bills/{bill_id}/status/open
  method: post
  operationId: mark_bill_as_open
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bills/{bill_id}/status/void
  method: post
  operationId: mark_bill_as_void
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bills/{bill_id}/submit
  method: post
  operationId: submit_bill
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bills/{bill_id}/approve
  method: post
  operationId: approve_bill
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bills/{bill_id}/approve/final
  method: post
  operationId: approve_bill_final
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bills/{bill_id}/reject
  method: post
  operationId: reject_bill
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bills/submit
  method: post
  operationId: bulk_submit_bills
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bills/approve
  method: post
  operationId: bulk_approve_bills
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.bills.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /compositeitems
  method: post
  operationId: create_composite_item
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /compositeitems
  method: get
  operationId: list_composite_items
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.compositeitems.READ
    token:
      max-ttl: 3600
    audit: none
- path: /compositeitems/{composite_item_id}
  method: get
  operationId: get_composite_item
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.compositeitems.READ
    token:
      max-ttl: 3600
    audit: none
- path: /compositeitems/{composite_item_id}
  method: put
  operationId: update_composite_item
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /compositeitems/{composite_item_id}
  method: delete
  operationId: delete_composite_item
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.DELETE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /compositeitems/{composite_item_id}/active
  method: post
  operationId: mark_composite_item_active
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /compositeitems/{composite_item_id}/inactive
  method: post
  operationId: mark_composite_item_inactive
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /compositeitems/{composite_item_id}/image
  method: post
  operationId: upload_composite_item_image
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /compositeitems/{composite_item_id}/image
  method: delete
  operationId: delete_composite_item_image
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.DELETE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bundles
  method: post
  operationId: create_assemblies
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bundles
  method: get
  operationId: list_assemblies
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.compositeitems.READ
    token:
      max-ttl: 3600
    audit: none
- path: /bundles/{bundle_id}
  method: get
  operationId: get_assembly
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.compositeitems.READ
    token:
      max-ttl: 3600
    audit: none
- path: /bundles/{bundle_id}
  method: put
  operationId: update_assembly
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bundles/{bundle_id}
  method: delete
  operationId: delete_assembly
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.DELETE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bundles/{bundle_id}/bundled
  method: post
  operationId: mark_assembly_as_built
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /bundles/{bundle_id}/confirmed
  method: post
  operationId: mark_assembly_as_confirmed
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.compositeitems.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts/contactpersons
  method: post
  operationId: create_contact_person
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.contacts.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts/contactpersons/{contact_person_id}
  method: put
  operationId: update_contact_person
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.contacts.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts/contactpersons/{contact_person_id}
  method: delete
  operationId: delete_contact_person
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.contacts.DELETE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts/{contact_id}/contactpersons
  method: get
  operationId: list_contact_persons
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.contacts.READ
    token:
      max-ttl: 3600
    audit: none
- path: /contacts/{contact_id}/contactpersons/{contact_person_id}
  method: get
  operationId: get_contact_person
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.contacts.READ
    token:
      max-ttl: 3600
    audit: none
- path: /contacts/contactpersons/{contact_person_id}/primary
  method: post
  operationId: mark_contact_person_as_primary
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.contacts.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts
  method: post
  operationId: create_contact
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.contacts.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts
  method: get
  operationId: list_contacts
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.contacts.READ
    token:
      max-ttl: 3600
    audit: none
- path: /contacts/{contact_id}
  method: put
  operationId: update_contact
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.contacts.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts/{contact_id}
  method: get
  operationId: get_contact
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.contacts.READ
    token:
      max-ttl: 3600
    audit: none
- path: /contacts/{contact_id}
  method: delete
  operationId: delete_contact
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.contacts.DELETE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts/{contact_id}/address
  method: get
  operationId: get_contact_address
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.contacts.READ
    token:
      max-ttl: 3600
    audit: none
- path: /contacts/{contact_id}/active
  method: post
  operationId: mark_contact_as_active
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.contacts.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts/{contact_id}/inactive
  method: post
  operationId: mark_contact_as_inactive
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.contacts.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts/{contact_id}/statements/email
  method: post
  operationId: email_statement
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.contacts.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts/{contact_id}/statements/email
  method: get
  operationId: get_statement_mail_content
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.contacts.READ
    token:
      max-ttl: 3600
    audit: none
- path: /contacts/{contact_id}/email
  method: post
  operationId: email_contact
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.contacts.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /contacts/{contact_id}/comments
  method: get
  operationId: list_contact_comments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.contacts.READ
    token:
      max-ttl: 3600
    audit: none
- path: /creditnotes
  method: post
  operationId: create_credit_note
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes
  method: get
  operationId: list_credit_notes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.creditnotes.READ
    token:
      max-ttl: 3600
    audit: none
- path: /creditnotes/{creditnote_id}
  method: put
  operationId: update_credit_note
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}
  method: get
  operationId: get_credit_note
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.creditnotes.READ
    token:
      max-ttl: 3600
    audit: none
- path: /creditnotes/{creditnote_id}
  method: delete
  operationId: delete_credit_note
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.DELETE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/email
  method: post
  operationId: email_credit_note
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/email
  method: get
  operationId: get_credit_note_email_content
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.creditnotes.READ
    token:
      max-ttl: 3600
    audit: none
- path: /creditnotes/{creditnote_id}/void
  method: post
  operationId: mark_credit_note_as_void
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/draft
  method: post
  operationId: mark_credit_note_as_draft
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/converttoopen
  method: post
  operationId: mark_credit_note_as_open
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/submit
  method: post
  operationId: submit_credit_note
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/approve
  method: post
  operationId: approve_credit_note
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/emailhistory
  method: get
  operationId: get_credit_note_email_history
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.creditnotes.READ
    token:
      max-ttl: 3600
    audit: none
- path: /creditnotes/{creditnote_id}/address/billing
  method: put
  operationId: update_credit_note_billing_address
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/address/shipping
  method: put
  operationId: update_credit_note_shipping_address
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - ZohoInventory.creditnotes.UPDATE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/templates
  method: get
  operationId: list_credit_note_templates
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.creditnotes.READ
    token:
      max-ttl: 3600
    audit: none
- path: /creditnotes/{creditnote_id}/templates/{template_id}
  method: put
  operationId: update_credit_note_template
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.UPDATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/invoices
  method: get
  operationId: list_invoices_credited
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.creditnotes.READ
    token:
      max-ttl: 3600
    audit: none
- path: /creditnotes/{creditnote_id}/invoices
  method: post
  operationId: apply_credits_to_invoices
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - ZohoInventory.creditnotes.CREATE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/invoices/{creditnote_invoice_id}
  method: delete
  operationId: delete_credits_applied_to_invoice
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - ZohoInventory.creditnotes.DELETE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/comments
  method: get
  operationId: list_credit_note_comments
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.creditnotes.READ
    token:
      max-ttl: 3600
    audit: none
- path: /creditnotes/{creditnote_id}/comments
  method: post
  operationId: create_credit_note_comment
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.CREATE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/comments/{comment_id}
  method: delete
  operationId: delete_credit_note_comment
  x-agentic-access:
    action-class: acting
    consequence: write
    subject: required
    scope:
    - ZohoInventory.creditnotes.DELETE
    audience: null
    token:
      max-ttl: 900
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/refunds
  method: get
  operationId: list_credit_note_refunds_of_all_credit_notes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.creditnotes.READ
    token:
      max-ttl: 3600
    audit: none
- path: /creditnotes/{creditnote_id}/refunds
  method: get
  operationId: list_credit_note_refunds_of_a_credit_notes
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.creditnotes.READ
    token:
      max-ttl: 3600
    audit: none
- path: /creditnotes/{creditnote_id}/refunds
  method: post
  operationId: create_credit_note_refund
  x-agentic-access:
    action-class: acting
    consequence: physical
    subject: required
    scope:
    - ZohoInventory.creditnotes.CREATE
    audience: null
    token:
      max-ttl: 300
      exchange: true
      purpose-required: true
    escalation:
      human-in-the-loop: conditional
      triggers:
      - abnormal
      - high-value
    audit: required
- path: /creditnotes/{creditnote_id}/refunds/{creditnote_refund_id}
  method: get
  operationId: get_credit_note_refund
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    scope:
    - ZohoInventory.creditnotes.READ
    token:
      max-ttl: 3600
    audit: none
- path: /creditnotes/{creditnote_id}/refunds/{creditnote_refund_id}
  method: put
  operationId: update_credit_note_refun

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