emfasemfas
Introduction

Overview

Introduction to the Emfas REST API

The Emfas API allows you to programmatically manage your product catalog. Use it to sync products from external systems, build custom integrations, or automate your product data workflows.

Base URL

All API requests are made to:

https://api.emfas.ai/v1

Request Format

The API accepts JSON request bodies for POST, PATCH, and PUT requests. Set the Content-Type header accordingly:

Content-Type: application/json

Response Format

All responses return JSON. A successful response typically contains the requested data:

{
  "result": [
    {
      "identifier": "PROD-001",
      "name": "Example Product",
      "attributes": {}
    }
  ]
}

HTTP Methods

MethodUsage
GETRetrieve resources
POSTCreate new resources
PATCHUpdate existing resources
DELETERemove resources

Getting Started

To start using the API:

  1. Enable API access — Contact the Emfas team if API access isn't available for your organization
  2. Generate an API key — Go to Settings in your Emfas workspace to create an API key
  3. Make your first request — Try listing your products to verify everything works
curl "https://api.emfas.ai/v1/products" \
  -H "Authorization: Bearer YOUR_API_KEY"

Core Concepts

If you're new to Emfas, these concepts from our documentation are helpful for understanding the API:

  • Products — The main entities in your catalog
  • Variants — Product variations (size, color, etc.)
  • SKUs — Stock-keeping units, the sellable items
  • Attributes — Custom fields that hold your product data
  • Categories — Hierarchical organization of products

Product Hierarchy

Emfas uses a flexible product hierarchy with up to three levels:

  • ProductVariantSKU

Not all levels are required — some organizations use all three, some use only product + variant, and some use only products.

Hierarchy-Aware Filtering

When using the updated_after parameter, each endpoint includes changes from its parent levels:

EndpointCatches changes on
/products?updated_after=XProduct
/variants?updated_after=XVariant, Product
/skus?updated_after=XSKU, Variant, Product

This means fetching from the lowest level you use will capture all relevant changes across the hierarchy. See Incremental Sync for more details.

Attributes in Responses

The API only returns attributes that have values. If an attribute has not been set, it will not appear in the response.

To see all available attributes in your workspace, use GET /v1/attributes. Attributes will appear in product, variant, and SKU responses once values have been set.

Need Help?

For questions about the API or your integration, contact us at integrations@emfas.ai.