canonical: https://jentic.com/apis/iptor.com/iptor

# iptor-base-erp-tables

The Iptor Base ERP Tables API reads and maintains extended item descriptions in the Iptor DC1 ERP, the multilingual text lines stored in the SRBPRX table for each item. Each line is keyed by item number, two-letter language code, and line number, and carries up to 60 characters of text plus Y or N print flags that decide whether it appears on sales documents such as quotations, pick lists, and invoices, and purchase documents such as purchase orders and reception notes. Lines can be listed with filters, read per item or per item and language, created in bulk of up to 100 per request, replaced, or deleted.

## For AI agents

Read, add, replace, and delete the multilingual extended description lines of Iptor DC1 ERP items, including which sales and purchase documents each line prints on.

## Scope

Does not handle stock levels, prices, orders, or item master creation. Use for extended item description lines in Iptor DC1 only.

## Capabilities

- List extended item description lines filtered by item, language, or a print flag such as printOnInvoice=N
- Read every description line for one item across all languages, or for one item in one language sorted by line number
- Add up to 100 extended description lines for items in one bulk request
- Replace a description line's textDescription and print flags by item, language, and lineNumber
- Control which documents a line prints on, from quotations and invoices to purchase orders and quality control notes
- Delete a single description line without touching other lines for the same item or language

## Use cases

### Agent-maintained multilingual item text

An AI agent translating product text for a distributor needs to write the result back to the ERP without hand-wiring its auth and headers. Through Jentic the agent searches for 'add an item description line', loads the Iptor create operation, and posts lines with item, language, lineNumber, and textDescription, with the bearer token and Env-Company header handled at call time. It then reads the item back by language to confirm the sequence.

Example prompt: Call POST /extendedItemDescription with item 5801301, language SP, lineNumber 2, and textDescription TAZA DE INODORO, EVAC-90, PISO INCLUYE ANILLO, then call GET `/extendedItemDescription/byItem/{item}/{language}` for item 5801301 and language SP

### Document print-flag audit

An operations team checks that technical description lines appear on the right paperwork. Each SRBPRX line holds Y or N flags for sales documents such as quotations, order confirmations, pick lists, transport notes, and invoices, and for purchase documents such as delivery schedules, purchase orders, reception notes, and quality control notes. The list read filters by printFlag, and a PUT replaces the flags on one line.

Example prompt: Call GET /extendedItemDescription with printFlag printOnInvoice=N, then call PUT `/extendedItemDescription/{item}/{language}/{lineNumber}` on one returned line with its textDescription and printOnInvoice Y

### Item description review before a product sheet export

Before exporting a product sheet, a merchandiser pulls the complete description of an item in every language. The by-item read returns all lines organised by language, so missing translations or stale lines stand out, and an obsolete line can be removed by its composite key.

Example prompt: Call GET `/extendedItemDescription/byItem/{item}` for item 5801301 and list the languages that have no description lines

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/extendedItemDescription` | List extended item descriptions with filters |
| POST | `/extendedItemDescription` | Create one or more description lines |
| GET | `/extendedItemDescription/byItem/{item}` | Get all descriptions for an item |
| GET | `/extendedItemDescription/byItem/{item}/{language}` | Get an item's descriptions in one language |
| PUT | `/extendedItemDescription/{item}/{language}/{lineNumber}` | Replace a description line |
| DELETE | `/extendedItemDescription/{item}/{language}/{lineNumber}` | Delete a description line |

## Key resources

- **Extended item descriptions** — SRBPRX description lines keyed by item, language, and lineNumber, with text and sales and purchase document print flags; list, read, bulk create, replace, and delete

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 60 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 67 / 100
  - Developer Experience & Jentic Compatibility: 74 / 100
  - AI-Readiness & Agent Experience: 34 / 100
  - Agent Usability: 94 / 100
  - Security: 75 / 100
  - AI Discoverability: 89 / 100
- **View full report:** https://jentic.com/apis/iptor.com/iptor/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring Iptor by hand means obtaining a JWT bearer token, sending the Env-Company header on every call, and choosing between the test and production hosts. Through Jentic you install once, import the Iptor Base ERP Tables API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Iptor puts the item number in the URL path (`/extendedItemDescription/byItem/{item}`), so a rule can scope your agent to one item's description reads. You choose the operations it may call, so writes such as the PUT replace or the irreversible DELETE are not included unless you add them.
- **Credential handling:** Your Iptor 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 'add an item description line' or 'get item descriptions by language', and Jentic returns the matching Iptor operation with its input schema, including the Env-Company header, so the agent calls the right endpoint.

## Related APIs

- **Dynamics 365 Business Central** — Microsoft's ERP with item, sales, and purchasing records over a broader API surface
- **Microsoft Translator** — Machine translation for producing item text in other languages
- **LibreTranslate** — Open-source, self-hostable translation for item description text

## FAQ

### What authentication does the Iptor Base ERP Tables API use?

Per its OpenAPI spec, the API uses a bearer token in JWT format on every operation, and each request also needs the Env-Company header naming the environment company. Through Jentic the token is stored by your own instance and attached at call time, so the agent never sees it.

### Can I create many item description lines at once with the Iptor API?

Yes. POST /extendedItemDescription accepts either one record or an array of up to 100. Each record needs item, language, lineNumber, and textDescription of at most 60 characters, the item must be active in SROPRG, and lineNumber must be unique per item and language.

### What are the rate limits for the Iptor Base ERP Tables API?

The OpenAPI spec does not specify rate limits. Check with Iptor at https://iptor.com for the limits that apply to your DC1 environment.

### Is there an Iptor MCP server?

You don't need an MCP server to give your agent the Iptor Base ERP Tables API. Jentic connects it directly from the API Directory: import it, store your token once, and your agent calls the description operations it needs without loading another server's tool definitions into its context.

### Can I limit what my agent is allowed to do with the Iptor Base ERP Tables API?

Yes. For example, write a rule that allows only the two GET operations under `/extendedItemDescription/byItem/5801301`, and the agent can read that item's descriptions in every language but cannot create, replace, or delete any line. Every call it makes is logged.

### How do I read an item's descriptions through Jentic?

Search Jentic for 'get item descriptions by language', load the GET `/extendedItemDescription/byItem/{item}/{language}` operation, and execute it with the item number and a language code such as EN. Lines come back sorted by line number. To run it on your own infrastructure, install Jentic One from its GitHub repo.
