Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Priority REST API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fprioritysoftware.github.io%2Fprioritysoftware-github" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fprioritysoftware.github.io%2Fprioritysoftware-github" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Priority REST API.
Query any Priority ERP entity collection with OData filter, orderby, select, expand, and since parameters
Perform incremental data sync using the $since timestamp parameter for modified records
Execute batch operations to process multiple inserts and updates in a single request
Navigate multi-level entity hierarchies through parent-child subform paths
GET STARTED
Authenticate via OAuth2 authorization code flow, Basic auth, or Personal Access Tokens
Create and update related entities at nested subform levels
Delete entities from any Priority form collection by key
Patterns agents use Priority REST API for, with concrete tasks.
★ Incremental Data Synchronization
Keep external systems in sync with Priority ERP by querying only records modified since the last sync point. The $since parameter accepts an ISO 8601 timestamp and returns only entities changed after that time. This dramatically reduces data transfer for integrations that run frequently, enabling near-real-time sync of orders, invoices, and inventory without pulling entire datasets.
Query the ORDERS entity collection with $since set to '2026-06-14T00:00:00Z' to retrieve all orders modified in the last 24 hours, and return their order numbers and status
Multi-Level Entity Management
Create and manage nested business entities through Priority's hierarchical form structure. The API supports creating parent entities and then adding child records at multiple levels, such as creating an order header and then posting line items and delivery details as related entities. PATCH operations at nested paths allow updating individual line items without touching the parent record.
Create a new ORDERS entity with CUSTNAME 'Beta Corp', then POST two ORDERITEMS related entities with PARTNAME 'A100' qty 10 and PARTNAME 'B200' qty 5, then PATCH the second item to qty 8
Batch Bulk Processing
Process high volumes of ERP data changes in single batch requests. The batch endpoint accepts multiple insert and update operations, processes them server-side, and returns consolidated results. This is essential for nightly data imports, warehouse stock adjustments, or end-of-day accounting reconciliations where hundreds of records need updating atomically.
Execute a batch operation on ORDERS('ORD001')/$batch containing 5 insert operations to add new ORDERITEMS with different part numbers and quantities
AI Agent ERP Access via Jentic
AI agents can interact with Priority ERP through Jentic without manually constructing OData URLs or managing OAuth2 token refresh. Jentic provides typed operation schemas for all Priority endpoints and handles credential lifecycle, enabling agents to query financial data, create business records, and perform batch operations by expressing intent in natural language.
Search Jentic for 'sync priority erp orders since yesterday', load the getEntityCollection operation schema, and execute with entityCollection 'ORDERS' and $since '2026-06-14T00:00:00Z'
11 endpoints — priority rest api provides odata-based access to priority erp entities for reading, querying, creating, updating, and deleting business data.
METHOD
PATH
DESCRIPTION
/
List available entity collections
/$metadata
Get OData schema metadata
/{entityCollection}
Query entities with OData parameters and $since
/{entityCollection}
Create a new entity
/{entityCollection}('{entityId}')
Retrieve an entity by ID
/{entityCollection}('{entityId}')
Update an entity
/{entityCollection}('{entityId}')/{relatedEntity}
Navigate to related entities
/{entityCollection}('{entityId}')/$batch
Batch insert/update operations
/
List available entity collections
/$metadata
Get OData schema metadata
/{entityCollection}
Query entities with OData parameters and $since
/{entityCollection}
Create a new entity
/{entityCollection}('{entityId}')
Retrieve an entity by ID
/{entityCollection}('{entityId}')
Update an entity
/{entityCollection}('{entityId}')/{relatedEntity}
Navigate to related entities
/{entityCollection}('{entityId}')/$batch
Batch insert/update operations
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Priority REST API by hand means choosing Basic auth, OAuth2, or a Personal Access Token, refreshing OAuth2 tokens yourself, and assembling the templated OData host with your server, environment, and company before touching the {entityCollection} path. Through Jentic you install once, import the Priority REST API from the API Directory, store the credentials once, and your agent calls it.
Permission scoping
Priority puts the entity id in the URL path (/{entityCollection}('{entityId}')), so a rule can pin your agent to specific entity records. You choose the operations it may call, so a write like PATCH on an entity is not included unless you add it.
Credential isolation
Your Priority Basic auth credentials, OAuth2 token, or Personal Access Token are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'sync orders from Priority since yesterday' or 'create an invoice in Priority ERP', and Jentic returns the matching operation with its input schema, including the dynamic entity collection path variable, so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Priority REST API through Jentic.
What authentication does the Priority REST API support?
The API supports three authentication methods: Basic auth with Priority username and password, OAuth2 via External ID using the authorization code flow, and Personal Access Tokens (PAT) passed in the Authorization header. OAuth2 is recommended for production integrations where token refresh is needed. Through Jentic, all credential types are stored encrypted in the vault.
How do I perform incremental sync with the Priority REST API?
Use the $since query parameter on the GET /{entityCollection} endpoint with an ISO 8601 timestamp value. The API returns only entities modified after that timestamp. For example, GET /ORDERS?$since=2026-06-14T00:00:00Z returns orders changed in the last day. Store the latest sync timestamp after each run for the next query.
Can I execute batch operations with the Priority REST API?
Yes. POST to /{entityCollection}('{entityId}')/$batch with a JSON body containing multiple insert or update operations. This processes them server-side in a single request, reducing network overhead for bulk data changes. Useful for nightly imports or bulk inventory adjustments.
How do I navigate to related subform entities?
Use the path pattern GET /{entityCollection}('{entityId}')/{relatedEntity} to access child records. For example, GET /ORDERS('ORD001')/ORDERITEMS returns all line items for that order. You can also POST to the same path to create new related entities, or PATCH /{entityCollection}('{entityId}')/{relatedEntity}('{relatedEntityId}') to update a specific child record.
How do I query Priority ERP forms through Jentic?
Search Jentic for 'query priority erp orders' or any intent describing your data need. Load the getEntityCollection operation schema which includes the entityCollection path parameter and all OData query options. Execute with your form name and filters. Install with pip install jentic and set JENTIC_AGENT_API_KEY.
What entity collections are available in the Priority REST API?
Call GET / (the service root) to retrieve a list of all available entity collections in your Priority instance. Each entry has a name (the form name like ORDERS, CUSTOMERS, INVOICES) and a URL. The full schema is at GET /$metadata which returns an XML document describing all entity types, properties, and relationships.
Can I limit what my agent is allowed to do with the Priority REST API?
Yes. Because you run Jentic One yourself, your own rules decide which Priority operations the agent may call, so read-only work like GET on an entity collection can be allowed while a write such as PATCH or a POST batch insert stays off unless you add it. Since Priority puts the entity id in the URL path (/{entityCollection}('{entityId}')), you can pin the agent to specific entity records rather than a whole collection. Your Basic auth, OAuth2 token, or Personal Access Token is injected only at execution time under those rules, so the agent never sees the raw credentials.
For Agents
Access Priority ERP via OData for CRUD, batch operations, and incremental sync. Supports OAuth2, Basic auth, and PAT across all Priority business forms and subforms.
Use for: I need to sync orders modified since yesterday from Priority ERP, I want to create a new invoice in Priority with line items, List all customers from Priority ERP sorted by name, Get the service metadata to discover available forms
Not supported: Does not handle payroll, HR management, or manufacturing execution - use for OData-based CRUD, batch, and sync access to Priority ERP business entities only.
Priority REST API provides OData-based access to Priority ERP entities for reading, querying, creating, updating, and deleting business data. The API exposes 11 endpoints supporting full CRUD on dynamic entity collections, nested entity navigation, batch operations for bulk processing, and incremental sync via the $since parameter. Authentication options include Basic auth, OAuth2 via External ID, and Personal Access Tokens.
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.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>