canonical: https://jentic.com/apis/orcascan.com/orcascan-api

# Orca Scan REST API

The Orca Scan REST API exposes the sheets, rows, fields, and webhooks behind Orca Scan's barcode-driven inventory app. It lets warehouse and inventory teams treat each scanning sheet as a structured table - adding rows from a backend system, reading the scan history, and reacting to changes through webhooks. The API uses Bearer authentication and is the integration layer that pulls Orca Scan data into ERPs, WMS systems, and analytics tools.

## For AI agents

Read and write rows on Orca Scan barcode sheets, manage fields and webhooks, and pull row history with a Bearer token.

## Scope

Does not handle barcode generation, scanner hardware provisioning, or label printing - use for sheet, row, field, and webhook operations only.

## Capabilities

- List sheets in an Orca Scan account
- Read all rows on a specific scanning sheet
- Create or update individual rows on a sheet
- Manage the field schema attached to a sheet
- Retrieve the change history for rows on a sheet
- Register webhooks to forward sheet events to other systems

## Use cases

### Stock Count Sync to ERP

Run a barcode-driven stock count on Orca Scan and push the resulting row data into an ERP at the end of the session. The /sheets/{sheetId}/rows endpoints return the scanned rows and the ERP integration can map each row's barcode and quantity fields directly into a stock-take entry.

Example prompt: GET /sheets/{sheetId}/rows after the stock count and POST each row into the ERP's stock-take import

### Backend-Driven Sheet Population

Pre-populate Orca Scan sheets from a master product catalog so warehouse staff scan against an expected list rather than building it as they go. The row create endpoint accepts payloads against the sheet's defined fields, and the field endpoints let the integration align with the sheet schema before pushing data.

Example prompt: GET /sheets/{sheetId}/fields, then POST rows to /sheets/{sheetId}/rows mapped onto those fields

### Real-Time Webhooks for Receiving Workflows

Trigger downstream workflows the moment a row is added or updated on an Orca Scan receiving sheet. The /hooks endpoints register webhooks tied to a sheet, and Orca Scan fires JSON payloads at the configured URL so a backend system can react without polling.

Example prompt: POST a hook for the receiving sheet, then handle incoming row-created events to trigger an inbound workflow

### Audit Trail Export for Compliance

Pull the row-level change history out of Orca Scan to feed a compliance archive. The /sheets/{sheetId}/history endpoint exposes the same audit timeline the Orca Scan UI shows, so compliance teams can store the events in their own retention system.

Example prompt: GET /sheets/{sheetId}/history nightly and append the events to a compliance log

### Agent-Driven Scan Sheet Operations via Jentic

An AI assistant for warehouse leads can list sheets, read rows, and add new rows on Orca Scan through Jentic. The agent maps natural-language intents like 'add this received pallet to the receiving sheet' to the right Orca Scan endpoint without holding the raw Bearer token.

Example prompt: Search Jentic for 'add a row to an Orca Scan sheet', load the POST /sheets/{sheetId}/rows operation, and execute

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /sheets | List sheets |
| GET | /sheets/{sheetId} | Retrieve a sheet |
| GET | /sheets/{sheetId}/rows | List rows on a sheet |
| GET | /sheets/{sheetId}/rows/{rowId} | Retrieve a row |
| GET | /sheets/{sheetId}/history | Retrieve row history |
| GET | /sheets/{sheetId}/settings | Retrieve sheet settings |

## Key resources

- **Sheets** — Top-level scanning sheets that act like structured tables
- **Rows** — Individual rows captured by barcode scans on a sheet
- **Fields** — Field schema attached to a sheet
- **History** — Row-level change events on a sheet
- **Hooks** — Webhook subscriptions tied to a sheet
- **Users** — Account user records

## Why Jentic

- **Setup:** Wiring the Orca Scan API by hand means setting up its bearer auth and mapping the sheet, row, field, and webhook routes yourself. Through Jentic you install once, import Orca Scan from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Orca Scan puts the sheet id in the URL path (/sheets/{sheetId}/rows, /sheets/{sheetId}/history), so a rule can pin your agent to one sheet: it can read its rows, history, and settings and nothing else. You choose the operations it may call, so row writes are not included unless you add them.
- **Credential handling:** Your Orca Scan bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'list rows on an Orca Scan sheet' or 'read a sheet's history', and Jentic returns the matching sheet-scoped Orca Scan operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Orca Scan REST API** — Same Orca Scan surface published from a different source spec - pick whichever provenance the integration needs
- **Shopify Admin API** — E-commerce platform commonly paired with Orca Scan to keep stock levels synced
- **Extensiv API** — Full warehouse management platform with native receiving and inventory rather than a sheet-based scanning model

## FAQ

### What authentication does the Orca Scan REST API use?

HTTP Bearer authentication. The token is created in Orca Scan account settings and granted access to specific sheets. Through Jentic the Bearer token is stored encrypted in the vault and the agent only receives a scoped session, never the raw token.

### Can I add rows to an Orca Scan sheet from a backend system?

Yes. POST to /sheets/{sheetId}/rows with a payload matching the sheet's field schema (exposed at /sheets/{sheetId}/fields). The new rows show up in the Orca Scan app and trigger any subscribed webhooks the same way scanned rows do.

### How do I subscribe to row events on a sheet?

Register a webhook on the /hooks endpoints tied to a sheet id and event type. Orca Scan posts JSON payloads to the configured URL whenever rows are created or updated, so the integration does not need to poll /sheets/{sheetId}/rows.

### Does the API expose a row-level audit trail?

Yes. GET /sheets/{sheetId}/history returns the same change history the Orca Scan UI shows, including who changed which row and when. This is the supported path for compliance and audit archives.

### How do I list rows on a sheet through Jentic?

Install the SDK with pip install jentic, then search for 'list rows on an Orca Scan sheet'. Jentic returns the GET /sheets/{sheetId}/rows operation with its schema; load it, supply the sheet id, and execute. Run it through Jentic One, the self-hosted execution layer.

### Can I limit what my agent is allowed to do with the Orca Scan REST API?

Yes. Because Orca Scan puts the sheet id in the URL path, such as /sheets/{sheetId}/rows and /sheets/{sheetId}/history, a rule in your self-hosted Jentic One can pin your agent to a single sheet so it reads only that sheet's rows, history, and settings. You decide which operations the agent may call, so row writes to /sheets/{sheetId}/rows and webhook registration on /hooks are excluded unless you add them. Your own rules also control which stored credential the agent uses, and the bearer token is injected at execution time rather than exposed to the agent.
