# Fishbowl Inventory API Documentation: Auth, Endpoints and Examples

> Source: https://netray.co/erp-help/fishbowl-inventory-api-documentation-rest-endpoints-auth
> Publisher: Netray (netray.co), AI and integration engineering for ERP and manufacturing systems.
> Section: ERP Help

## Short answer

Fishbowl exposes a JSON REST API from its own server. You log in with an app name, app ID and a Fishbowl user to receive a token, send that token as a Bearer header, and call resource endpoints for parts, inventory, sales orders, purchase orders and imports. Fishbowl publishes reference documentation online and the server can show interactive docs for your own version.

## Kind

how-to

## System

small-erp

## Erp

Fishbowl Inventory

## Module

REST API

## Query

fishbowl inventory api documentation

## Alternate Queries

- fishbowl rest api
- fishbowl api endpoints
- fishbowl api example login parts

## Applies To

Fishbowl Inventory versions with the REST API (recent releases). The older TCP/JSON API still exists in some installs. Endpoint names below are the commonly used ones; verify against the reference for your version.

## Steps

### Getting started with the Fishbowl API

**Items:**

- Find the reference: Fishbowl's help site publishes the REST API reference, and your server can serve interactive API documentation for the exact version you run.
- Pick an app identity: choose an integer app ID and a name for your integration. They identify your program to Fishbowl.
- POST to the login endpoint with your appName, appId, username and password. The response contains a token.
- In the Fishbowl client, approve the new integration under the integrated apps setting. Until an administrator approves it, calls are refused.
- Send the token as an Authorization Bearer header on every later request.
- Call a read endpoint first, such as parts, and page through results before attempting any write.
- Log out when finished so you do not exhaust the licensed user connections.

## Sections

### Authentication in detail

**Body:**

The API uses a Fishbowl user, so the integration runs with that user's rights. Create a dedicated user and group for each integration with only the module access it needs. Fishbowl licenses concurrent connections, and an API session can count against them, so always log out and reuse a token rather than logging in for every call.

A 401 after a correct password usually means the app has not been approved in the Fishbowl client, or the token expired. We cover that case on a dedicated page linked below.

**Code:**

- POST https://FISHBOWL_HOST:PORT/api/login
Content-Type: application/json

{
  "appName": "MyIntegration",
  "appId": 1234,
  "username": "api_user",
  "password": "********"
}
- GET https://FISHBOWL_HOST:PORT/api/parts?pageNumber=1&pageSize=50
Authorization: Bearer <token>

### Endpoints most integrations use

**Body:**

Resource endpoints cover parts, part inventory, sales orders, purchase orders, customers, vendors, locations and more, and most list endpoints support paging parameters. Writes generally take a JSON body that mirrors the object the Fishbowl client shows. For bulk loading, the import endpoints accept the same CSV formats as the client's import tool, which is often faster and safer than creating records one by one.

For reporting there is a data query style endpoint that accepts a SQL SELECT and returns rows. It is powerful but ties you to the Fishbowl table design, so keep queries read-only and document them.

**Code:**

POST https://FISHBOWL_HOST:PORT/api/data-query
Content-Type: text/plain
Authorization: Bearer <token>

SELECT num, description FROM part WHERE activeflag = 1 LIMIT 10

### Designing a dependable integration

**Body:**

Treat Fishbowl as the system of record for inventory quantities. Push orders in, pull availability out, and avoid writing quantities from outside except through proper inventory transactions, since direct changes bypass costing and tracking.

Build for failure: retry with back-off on timeouts, make order creation idempotent by checking for an existing order number first, and keep a log of every request ID and Fishbowl response. If you only need analytics, read a replica or a scheduled extract rather than hitting the live server during picking hours.

## Pitfalls

- Using a personal admin login for the integration, so a password change or departure breaks it.
- Forgetting to approve the integrated app in the Fishbowl client, then chasing a phantom 401.
- Logging in on every request and consuming licensed connections.
- Writing quantities directly instead of using inventory adjustment or move transactions.
- Relying on ad hoc SQL through the data query route without version-testing after Fishbowl upgrades.

## Ai Angle

The API reference tells you what exists; it does not tell you what your data means. A private assistant like DataRay can read your Fishbowl database read-only, answer plain-language questions on stock, orders and receipts, show the SQL it ran and keep everything on your own hardware. Teams often prototype an integration question that way before writing code against the API.

## Faq

### Where is the Fishbowl API documentation?

**Answer:** Fishbowl's help site hosts the REST API reference, and the Fishbowl server can serve interactive documentation for the version you run. Prefer the interactive one for your install since endpoints and fields change between releases.

### Does the Fishbowl API use OAuth?

**Answer:** Login returns a token based on a Fishbowl user plus an app identity that an administrator approves. It is token based and sent as a Bearer header, but it is Fishbowl's own login rather than a general OAuth provider flow.

### Can I create sales orders through the API?

**Answer:** Yes. Sales order endpoints accept a JSON order with items, and the import endpoints can load many orders from CSV. Validate customers, parts and locations first, because Fishbowl rejects references it cannot resolve.

### Is there a rate limit?

**Answer:** Treat the server as the limit. It runs on your own hardware with a licensed connection count, so batch requests, page results and avoid heavy queries during peak shop hours.

## Search terms

fishbowl inventory api documentation, fishbowl rest api, fishbowl api login, fishbowl api token, fishbowl api endpoints, fishbowl data query api, fishbowl api import, fishbowl integration developer

---
Talk to an engineer: https://netray.co/contact?intent=erp_ai | Machine catalog: https://netray.co/agent/catalog.json
