Jasper PIM API Endpoints
This document catalogs the Jasper PIM API endpoints called by the iPaaS.com Jasper PIM integration, grouped by entity. Its primary purpose is to provide a complete inventory of every endpoint the integration depends on so that, when Jasper PIM publishes a deprecation or breaking-change notice, iPaaS.com staff can quickly determine whether the integration is affected. It also serves as a reference for firewall whitelisting, API key scope review, troubleshooting, and understanding data flow.
The Jasper PIM connector operates in the From iPaaS direction only — every endpoint listed below is invoked outbound from iPaaS.com to the subscriber's Jasper PIM tenant. There is no inbound (To iPaaS) pull path and no webhook receiver from Jasper PIM into iPaaS.com today.
Jasper PIM is a single-tenant SaaS platform — every subscriber has their own tenant host. There is no shared regional console URL. The dashboard URL for a subscriber's tenant follows one of two host patterns depending on when the tenant was provisioned:
Host Pattern | Example Dashboard URL |
| |
|
If a subscriber is unsure which pattern applies, the host portion of their Jasper PIM dashboard URL is authoritative. See the Jasper PIM Installation Instructions for end-to-end setup detail.
API Endpoints Intro
The Jasper PIM API is a REST API that exchanges JSON request and response bodies. Authentication is via a long-lived Bearer token (API key) sent in the Authorization header on every call — see Jasper PIM Connections and Settings for credential configuration.
The Base URL is the subscriber's Jasper PIM tenant host with /api/v1 appended. The integration reads this from the API Url subscription setting at runtime. The two host patterns map to the following Base URL shapes:
Host Pattern | Example Base URL |
| |
|
Throughout this document the placeholder [Base URL] refers to that fully constructed Base URL. For example, [Base URL]/products resolves to https://gbzpa8ohoz.pim.jasperpim.com/api/v1/products for a tenant on the newer host pattern.
Sandbox / Test URL: Jasper PIM does not publish a separate sandbox host pattern. Subscribers who need a non-production environment for testing should use a dedicated non-production Jasper PIM tenant (provisioned on either the older *.oci-1.jasperpim.com or newer *.pim.jasperpim.com pattern) and configure a separate iPaaS.com subscription against that tenant's API Url and API Key.
Table of Contents
Product Endpoints
Get a Product by Id (GET)
[Base URL]/products/{id}Retrieves a single product by its Jasper PIM product Id. Used by the integration when re-hydrating an existing product before applying an update.
Create a Product (POST)
[Base URL]/products
Creates a new product in Jasper PIM. The request body carries the product Name, SKU, Type, and other top-level product fields supplied by the iPaaS.com Product mapping collection.
Update a Product (PUT)
[Base URL]/products/{Id}Updates an existing Jasper PIM product. Invoked when the external-ID record for an iPaaS.com Product already points at a Jasper PIM product Id.
Update Product Body fields (PUT)
[Base URL]/products/{ProductId}Secondary PUT against the product resource used by the Option write path to attach or update option-related fields on the parent product.
Assign a Category to a Product (POST)
[Base URL]/products/{ProductId}/categoriesAssociates an existing Jasper PIM Category with a Jasper PIM Product. Called during Product create/update and from the Product Category write path when category assignments need to be synchronized.
Get All Prices for a Product (GET)
[Base URL]/products/{ProductId}/pricesReturns the list of price records (cost and price-tier entries) currently on a Jasper PIM product. Used by the Product write path to determine whether a price row needs to be created or updated.
Create a Product Price (POST)
[Base URL]/products/{ProductId}/pricesCreates a new price record (cost or price-tier entry) for a Jasper PIM product. Used by the Product write path when a price row does not yet exist for the product.
Update a Product Price (PUT)
[Base URL]/products/{ProductId}/prices/{Id}Updates an existing price record on a Jasper PIM product, identified by its price-row Id.
Product Category Endpoints
Get All Categories (GET)
[Base URL]/categories
Returns the full list of categories in the Jasper PIM tenant. Used by the integration to look up the Jasper PIM Category Id by name when establishing category external-id links.
Create a Category (POST)
[Base URL]/categories
Creates a new Jasper PIM category. Called from the Product Category mapping collection (Add/Update Jasper PIM Product Category FROM iPaaS.com).
Update a Category (PUT)
[Base URL]/categories/{Id}Updates an existing Jasper PIM category. Invoked when the external-ID record for an iPaaS.com Product Category already points at a Jasper PIM category Id.
Product Attribute Endpoints
Get All Attributes for a Product (GET)
[Base URL]/products/{ProductId}/attributesLists all attribute values currently set on a specific Jasper PIM product. Used by the integration to determine whether a per-product attribute write should be a create or an update.
Create a Product Attribute Value (POST)
[Base URL]/products/{ProductId}/attributesSets an attribute value on a specific Jasper PIM product. The request body identifies the attribute and value to assign.
Update a Product Attribute Value (PUT)
[Base URL]/products/{ProductId}/attributesUpdates an attribute value on a specific Jasper PIM product. Same URL pattern as the POST above; the HTTP method differentiates create from update.
Note: Per the Jasper PIM API reference, per-attribute updates also support a more granular PUT /products/{ID}/attributes/{ATTR_ID} path. The integration currently uses the collection-level PUT /products/{ProductId}/attributes path for both create-style and update-style writes.
Product Inventory Endpoints
Create a Product Inventory Record (POST)
[Base URL]/products/{ProductId}/inventoryCreates an inventory record for a Jasper PIM product. Used by the Product Inventory mapping collection (Update Jasper PIM Product Inventory FROM iPaaS.com).
Update a Product Inventory Record (PUT)
[Base URL]/products/{ProductId}/inventory/{Id}Updates an existing inventory record on a Jasper PIM product, identified by its inventory-row Id.
Note: The Jasper PIM public API reference documents the inventory sub-collection under the plural path segment inventories and uses field names location_id and quantity. The integration calls the singular inventory segment and sends location (a name string) and count_on_hand instead, which is what the running Jasper PIM API currently accepts. Subscribers should validate inventory behavior in a staging environment before relying on it in production.
Product Variant Endpoints
Create a Product Variant (POST)
[Base URL]/products/{ProductId}/relations/{RelatedProductId}/type/{RelationId}Creates a Product Variant by attaching a related Jasper PIM product to its parent product through the Jasper PIM Related Products endpoint. The variant child product is created first via the Product Create endpoint above, then linked to the parent via this call. {ProductId} is the parent product Id, {RelatedProductId} is the child product Id, and {RelationId} is the Jasper PIM relation-type Id (typically the "variant" relation).
Note: Per the Jasper PIM API reference, the canonical variant creation path is POST /products with parent/child fields on the body (or POST /products/{ID}/child). The integration instead routes variants through the Related Products endpoint, which is what the running Jasper PIM API currently accepts. Subscribers should validate variant create behavior in a staging environment before relying on it in production.
Related Product Endpoints
Create a Related Product Link (POST)
[Base URL]/products/{ProductId}/relations/{ProductId}/type/{RelationId}Creates a related-product link between two Jasper PIM products that are not variants of each other (e.g., cross-sells, up-sells, accessories). Same Jasper PIM endpoint family as Product Variants but with a non-variant {RelationId}.
Attribute Endpoints
Get All Attributes (GET)
[Base URL]/attributes
Returns the full list of attribute definitions in the Jasper PIM tenant. Used by the integration to resolve attribute names to attribute Ids during product-attribute writes.
Create an Attribute (POST)
[Base URL]/attributes
Creates a new attribute definition in Jasper PIM.
Update an Attribute (PUT)
[Base URL]/attributes/{Id}Updates an existing attribute definition, identified by its attribute Id.
Attribute Set Endpoints
Get All Attribute Sets (GET)
[Base URL]/attribute_sets
Returns the full list of attribute set definitions in the Jasper PIM tenant.
Create an Attribute Set (POST)
[Base URL]/attribute_sets
Creates a new attribute set in Jasper PIM.
Update an Attribute Set (PUT)
[Base URL]/attribute_sets/{Id}Updates an existing attribute set, identified by its attribute-set Id.
Add an Attribute to an Attribute Set (POST)
[Base URL]/attribute_sets/{Id}/attributesAdds an existing attribute to the membership of an existing attribute set. {Id} is the attribute set Id; the attribute being added is identified in the request body.
Option Endpoints
Get All Options (GET)
[Base URL]/options
Returns the full list of product options defined in the Jasper PIM tenant.
Get an Option by Id (GET)
[Base URL]/options/{OptionId}Retrieves a single product option by its Jasper PIM option Id. Used during product create/update when resolving option references.
Create an Option (POST)
[Base URL]/options
Creates a new product option in Jasper PIM (e.g., "Size", "Color").
Update an Option (PUT)
[Base URL]/options/{Id}Updates an existing product option, identified by its option Id.
Option Set Endpoints
Get All Option Sets (GET)
[Base URL]/option_sets
Returns the full list of option set definitions in the Jasper PIM tenant.
Create an Option Set (POST)
[Base URL]/option_sets
Creates a new option set in Jasper PIM.
Update an Option Set (PUT)
[Base URL]/option_sets/{Id}Updates an existing option set, identified by its option-set Id.
Get Options in an Option Set (GET)
[Base URL]/option_sets/{OptionSetId}/optionsLists the options that belong to a specific option set.
Add an Option to an Option Set (POST)
[Base URL]/option_sets/{OptionSetId}/optionsAdds an existing option to the membership of an existing option set.
Option Value Endpoints
Get All Values for an Option (GET)
[Base URL]/options/{OptionId}/valuesLists the values defined for a specific Jasper PIM option (e.g., the list of size labels under the "Size" option).
Create an Option Value (POST)
[Base URL]/options/{OptionId}/valuesCreates a new value under a specific option. Used by the Product Option Value mapping collection.
Update an Option Value (PUT)
[Base URL]/options/{OptionId}/values/{Id}Updates an existing option value, identified by its option-value Id.
Webhook Endpoints
The integration's Webhook model includes webhook-management endpoints against the Jasper PIM tenant. These calls exist in the codebase and are documented here for completeness, even though the Jasper PIM connector operates outbound (From iPaaS) only today and there is no inbound webhook receiver wired up on the iPaaS.com side.
Get All Webhooks (GET)
[Base URL]/webhooks
Returns the full list of webhook subscriptions currently registered in the Jasper PIM tenant.
Create a Webhook (POST)
[Base URL]/webhooks
Registers a new webhook subscription in Jasper PIM.
Update a Webhook (PUT)
[Base URL]/webhooks/{Id}Updates an existing webhook subscription, identified by its webhook Id.
Deactivate (Delete) a Webhook (DELETE)
[Base URL]/webhooks/{Id}Deactivates (deletes) a webhook subscription in Jasper PIM. The integration's action name for this call is Webhook_DEACTIVATE.
Authorization Endpoint
Jasper PIM does not expose a token-exchange endpoint — there is no /oauth/token, /auth/login, or equivalent call in the integration. Instead, the subscriber generates a long-lived API key in the Jasper PIM UI under Settings > API Key and pastes it into the API Key subscription setting on the iPaaS.com Subscription Settings page. The integration sends that key on every API call as:
Authorization: Bearer <API Key from Subscription Settings>
The Bearer token remains valid until the subscriber explicitly revokes it in Jasper PIM, deletes the issuing user account, or rotates to a new key. iPaaS.com does not auto-refresh keys.
For credential setup and rotation procedure, see the Jasper PIM Connections and Settings article — specifically the Authentication Methods and Credential Rotation sections.
Connection Validation Endpoints
Validate Connection (GET)
[Base URL]/ping
Called once at connection-establishment time to verify the configured API Url and Bearer token are valid. A connection-validation failure surfaces immediately to the subscriber rather than running through the standard error-tracking path. This is an external Jasper PIM tenant endpoint and is included here for firewall whitelisting and deprecation-impact coverage.
