Skip to content
Posific Developer API

Keep your website and your shop in sync.

Use one governed, versioned API to publish products and prices, show location stock, update catalog data, and follow changes from your own trusted backend.

Tenant and location boundHash-only credentialsIdempotent writes
Get published productsAPI v1
curl 'https://posific.com/api/integrations/v1/products?published_only=true' \
  -H "Authorization: Bearer $POSIFIC_API_KEY"
01 · Quick start

From key to first sync.

API keys are server secrets. Your website calls your backend; your backend calls Posific.

  1. 1
    Create a least-privilege key

    An active Owner opens Developer API in the merchant workspace, chooses scopes, and copies the key once.

  2. 2
    Confirm the bound store

    Call the API root and verify the organization, currency, and selected location before importing records.

  3. 3
    Load and retain IDs

    Page categories, products, and optional Inventory. Save Posific UUIDs and revisions with your records.

  4. 4
    Continue from the event cursor

    Poll events, process each page durably, refetch changed resources, then persist the returned cursor.

02 · Authorization

Give each integration only what it needs.

catalog:read

Read store metadata, categories, products, prices, and publication state.

catalog:write

Create and update categories and products. Requires catalog:read.

pricing:write

Create immutable sell-price versions. Requires catalog:write.

inventory:read

Read quantity and revision for the API key's selected location.

inventory:write

Record an absolute physical count. Requires inventory:read.

events:read

Poll ordered Catalog and Inventory change hints for durable sync.

A read-only website normally needs catalog:read, inventory:read, and events:read.

03 · API surface

Eight routes, one stable base path.

Base URL: https://posific.com/api/integrations/v1

MethodPathPurposeScope
GET/api/integrations/v1Connection context and capabilitiescatalog:read
GET · POST/categoriesPage categories or create onecatalog:read / write
GET · PATCH/categories/{category_id}Read or revision-check an updatecatalog:read / write
GET · POST/productsPage products or create one with its pricecatalog:read / write + pricing
GET · PATCH/products/{product_id}Read or revision-check product and price changescatalog:read / write
GET/inventoryPage current location stock and revisionsinventory:read
POST/inventory/adjustmentsAppend an absolute physical countinventory:write
GET/eventsPoll the ordered change feedevents:read
Generate a typed client from OpenAPI 3.1

The live YAML is the machine-readable contract for schemas, query parameters, request bodies, responses, and error envelopes.

View specification
04 · Durable synchronization

Initial load, then ordered refresh hints.

Events tell you what changed; the resource endpoint tells you what is true now.

  1. Build the snapshot

    Page every collection and commit the returned IDs and revisions locally.

  2. Poll after the saved cursor

    Process the complete event page before persisting its opaque next cursor.

  3. Refetch and reconcile

    On a change event, fetch the current record. Never calculate stock truth by adding event payloads.

05 · Data and write rules

Exact values. Safe retries. Visible conflicts.

Money

Integer minor units. AED 12.34 is 1234.

Quantities

Integer thousandths. 2.5 kg is 2500.

Tax

Integer basis points. 5% is 500.

Creates

Use stable client-generated UUIDs.

Writes

Send a UUID Idempotency-Key.

Updates

Send the latest expected_revision; reconcile HTTP 409 instead of overwriting.

06 · Boundaries and limits

Checkout is not part of API v1.

Available
  • Catalog and category reads/writes
  • Immutable price-version changes
  • Location Inventory reads
  • Append-only physical counts
  • Ordered Catalog and Inventory events
Not in v1
  • Online orders or stock reservations
  • Payments, refunds, or raw card data
  • Customer and loyalty writes
  • Media uploads or fulfillment booking
  • Outbound webhooks
Rate limits600 reads and 120 writes per credential per UTC minute. Honor Retry-After on HTTP 429.
Ready to connect?

Create a key for the correct location.

Sign in as an active Owner, choose the smallest scope set, and copy the token into your backend secret manager.