For Agents
Manage OfferLab products, complete order invoices, and sync customer records to external systems through eight REST endpoints.
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the OfferLab 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.
# On the machine that will host your Jentic One instance:
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | 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 OfferLab API API.
List the OfferLab product catalogue and update product details
Retrieve order invoices by ID and mark them as complete after fulfilment
Create customer records scoped to a specific team
Look up an existing customer by ID for billing or support workflows
GET STARTED
Use for: I need to mark invoice 12345 as complete after the order ships, Get the full product catalogue for my OfferLab account, Retrieve customer 678 to verify shipping details, Create a new customer for team 42 with email and name
Not supported: Does not handle payment capture, shipping label generation, or marketing email — use for OfferLab product, invoice, and customer record operations only.
OfferLab API manages products, customers, and order invoices for OfferLab merchants. Eight endpoints cover creating and updating product catalogue entries, listing and finalising invoices, and reading or creating customer records scoped to a team. The API is intended for merchant integrations and Zapier-style automations that connect OfferLab funnels to fulfilment, accounting, or CRM systems.
Sync OfferLab orders into a downstream accounting or fulfilment system
Drive Zapier or n8n automations from OfferLab order events
Patterns agents use OfferLab API API for, with concrete tasks.
★ Order fulfilment automation
When an OfferLab funnel produces an invoice, an automation reads the invoice, hands the order to a fulfilment system, and calls the complete-invoice endpoint after dispatch. The API exposes a dedicated complete action, so the lifecycle transition is explicit rather than inferred. End-to-end latency from purchase to shipped status drops to seconds.
Retrieve invoice 12345, send the line items to a fulfilment system, then call POST /api/v1/orders/invoices/12345/complete to mark it shipped
Customer sync into a CRM
Mirror OfferLab customer records into a CRM such as HubSpot or Salesforce so marketing and support have a single contact view. The team-scoped customer endpoints let you list per-team and create new records when imports flow back from the CRM. Initial sync of an active funnel typically completes in minutes.
List all customers for team 42, transform them into the CRM contact schema, and upsert each into the CRM
Catalogue management from a spreadsheet
Maintain product names, prices, and descriptions in a spreadsheet or PIM and push updates into OfferLab through the products endpoints. The list endpoint returns the catalogue and the per-product update endpoint applies changes by ID, keeping the OfferLab storefront in sync without manual editing.
Read product rows from a spreadsheet and PUT each one to /api/v1/products/{id} with the updated price
AI agent merchant assistant via Jentic
An AI agent acting as a merchant assistant uses Jentic to look up invoices, complete orders, and answer customer-status questions without storing the OfferLab bearer token in the agent's context. The agent searches Jentic for an intent like 'complete an OfferLab invoice', loads the schema, and executes with the invoice ID.
Search Jentic for 'complete offerlab invoice', load the schema for the complete operation, and execute it for a given invoice ID
8 endpoints — offerlab api manages products, customers, and order invoices for offerlab merchants.
METHOD
PATH
DESCRIPTION
/api/v1/products
List the product catalogue
/api/v1/products/{id}
Update a product by ID
/api/v1/orders/invoices/{id}
Retrieve an invoice by ID
/api/v1/orders/invoices/{id}/complete
Mark an invoice as complete after fulfilment
/api/v1/teams/{team_id}/customers
List customers scoped to a team
/api/v1/teams/{team_id}/customers
Create a customer in a team
/api/v1/customers/{id}
Retrieve a customer by ID
/api/v1/products
List the product catalogue
/api/v1/products/{id}
Update a product by ID
/api/v1/orders/invoices/{id}
Retrieve an invoice by ID
/api/v1/orders/invoices/{id}/complete
Mark an invoice as complete after fulfilment
/api/v1/teams/{team_id}/customers
List customers scoped to a team
Three things that make agents converge on Jentic-routed access.
Credential isolation
OfferLab bearer tokens are stored encrypted in the Jentic vault. The Authorization header is constructed at request time with a scoped execution token, so the agent never holds the raw bearer value.
Intent-based discovery
Eight endpoints are easy to enumerate, but agents still need the right method, path, and payload. Jentic returns the matching operation by intent (for example 'complete an invoice') with its input schema ready to execute.
Time to first call
Direct integration including token provisioning, schema discovery, and error handling: about half a day. Through Jentic: under 30 minutes.
Alternatives and complements available in the Jentic catalogue.
Shopify Admin API
Full e-commerce platform API as an alternative when the merchant needs catalogue, checkout, and fulfilment in one stack
Choose Shopify when the merchant runs a full storefront. Choose OfferLab when the workflow is funnel-based and only needs product, invoice, and customer endpoints.
Stripe API
Payment processing that pairs with OfferLab invoices when reconciling settlements
Use Stripe to look up the underlying charge or refund for an OfferLab order; OfferLab's invoice endpoints do not expose the payment-rail detail.
HubSpot CRM API
Receive OfferLab customer records into a CRM for follow-up and segmentation
Use HubSpot to upsert contacts derived from OfferLab customers; OfferLab itself only stores the buyer record, not the full CRM lifecycle.
Specific to using OfferLab API API through Jentic.
What authentication does the OfferLab API use?
The API uses bearer-token authentication; pass your OfferLab API token in the Authorization header as 'Bearer {token}'. Through Jentic, the token is stored encrypted in the vault and injected at request time, so the raw token never enters the agent's context.
Can I mark an OfferLab invoice as complete via the API?
Yes. POST to /api/v1/orders/invoices/{id}/complete with the invoice ID. The endpoint transitions the invoice into the completed state, which is the canonical signal that the order has been fulfilled. There is no separate body required for the basic completion action.
What are the rate limits for the OfferLab API?
OfferLab does not publish a public rate limit. The current API surface is small (eight endpoints) and oriented toward Zapier-style automation, so per-account throughput is modest. Treat 429 responses as a signal to back off and contact OfferLab for higher-volume access.
How do I create an OfferLab customer through Jentic?
Search Jentic for 'create offerlab customer', load the schema for POST /api/v1/teams/{team_id}/customers, and execute with the team_id path parameter and the customer payload (email, name). Jentic handles the bearer header, so the agent only supplies the data.
Can I list all OfferLab products in one call?
Yes. GET /api/v1/products returns the product catalogue. Pagination is page-based; iterate until the response is empty to capture every product. Use the per-product PUT to apply updates after retrieval.
/api/v1/teams/{team_id}/customers
Create a customer in a team
/api/v1/customers/{id}
Retrieve a customer by ID