> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pureclarity.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Submit a product delta update

> Submit incremental product updates without resubmitting a full feed.
Use this endpoint to add, update, or delete products, manage category
assignments, update account-specific pricing, and update user data.

Returns a token that can be used to check the processing status via
the `/api/deltastatus` endpoint.




## OpenAPI

````yaml /integrations/custom/api-reference/openapi.yaml post /api/delta
openapi: 3.0.3
info:
  title: PureClarity Capture API
  description: >
    The PureClarity Capture API provides endpoints for server-side integration
    with the PureClarity

    personalization platform. Use these endpoints to submit tracking events,
    retrieve personalized

    recommendations, manage product data feeds, and handle GDPR compliance.


    ## Authentication


    All endpoints require your **Access Key** (`appKey` / `appId` / `AccessKey`)
    to identify your store.

    Server-side endpoints also require a **Secret Key** (`secretKey` /
    `SecretKey`) for authentication.


    You can find both keys in the PureClarity Admin console under **My Account >
    Integrations**.


    <Warning>Never expose your Secret Key in client-side code or public
    repositories.</Warning>


    ## Regional Endpoints


    PureClarity operates in two regions. Use the base URL for the region your
    account is provisioned in:


    | Region | Base URL |

    |--------|----------|

    | EU (Ireland) | `https://api-eu-w-1.pureclarity.net` |

    | US (Virginia) | `https://api-us-e-1.pureclarity.net` |


    For data feed operations via SFTP streaming, use the SFTP regional endpoints
    on port 443:


    | Region | SFTP Base URL |

    |--------|---------------|

    | EU (Ireland) | `https://sftp-eu-w-1.pureclarity.net` |

    | US (Virginia) | `https://sftp-us-e-1.pureclarity.net` |
  version: 1.0.0
  contact:
    name: PureClarity Support
    email: support@pureclarity.com
    url: https://pureclarity.com
  license:
    name: Proprietary
servers:
  - url: https://api-eu-w-1.pureclarity.net
    description: EU Region (Ireland)
  - url: https://api-us-e-1.pureclarity.net
    description: US Region (Virginia)
security: []
tags:
  - name: Server-side
    description: Server-side personalization and event tracking
  - name: Data Feeds
    description: Product, category, brand, and user data feed management
  - name: GDPR
    description: GDPR compliance endpoints for user data management
paths:
  /api/delta:
    post:
      tags:
        - Data Feeds
      summary: Submit a product delta update
      description: |
        Submit incremental product updates without resubmitting a full feed.
        Use this endpoint to add, update, or delete products, manage category
        assignments, update account-specific pricing, and update user data.

        Returns a token that can be used to check the processing status via
        the `/api/deltastatus` endpoint.
      operationId: submitDelta
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeltaRequest'
            example:
              AppKey: your-access-key
              SecretKey: your-secret-key
              Products:
                - Id: PROD-001
                  Title: Running Shoes - Updated
                  Prices:
                    - 59.99 GBP
                    - 74.99 USD
                  Categories:
                    - shoes
                    - running
                  Link: /products/running-shoes
                  Image: https://cdn.example.com/shoes.jpg
              DeleteProducts:
                - PROD-OLD-001
      responses:
        '200':
          description: Delta accepted for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenResponse'
              example:
                Token: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        '400':
          description: Validation error or invalid access key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedErrorResponse'
        '413':
          description: Delta payload too large
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeedErrorResponse'
components:
  schemas:
    DeltaRequest:
      type: object
      required:
        - AppKey
        - SecretKey
      properties:
        AppKey:
          type: string
          description: Your store's unique access key
        SecretKey:
          type: string
          description: Your store's secret key
        Products:
          type: array
          description: Products to add or update
          items:
            $ref: '#/components/schemas/Product'
        DeleteProducts:
          type: array
          description: Product IDs to remove
          items:
            type: string
        SetCategoryOnProducts:
          type: array
          description: Category assignments to add
          items:
            $ref: '#/components/schemas/CategoryAssignment'
        RemoveCategoryFromProducts:
          type: array
          description: Category assignments to remove
          items:
            $ref: '#/components/schemas/CategoryAssignment'
        AccountPrices:
          type: array
          description: Account-specific prices to add or update
          items:
            $ref: '#/components/schemas/AccountPrice'
        DeleteAccountPrices:
          type: array
          description: Account-specific prices to remove
          items:
            $ref: '#/components/schemas/AccountPrice'
        Users:
          type: array
          description: User records to add or update
          items:
            $ref: '#/components/schemas/User'
    TokenResponse:
      type: object
      properties:
        Token:
          type: string
          description: Processing token for status tracking
    FeedErrorResponse:
      type: object
      properties:
        Error:
          type: string
          description: Error message describing what went wrong
    Product:
      type: object
      description: Product data record
      required:
        - Id
        - Title
        - Prices
        - Categories
        - Link
        - Image
      properties:
        Id:
          type: string
          description: Unique product identifier
        Sku:
          type: string
          description: Product SKU
        Title:
          type: string
          description: Product title
        Description:
          type: string
          description: Product description
        Brand:
          type: string
          description: Brand name
        Prices:
          type: array
          description: Product prices in the format "amount currency" (e.g. "1.00 GBP")
          items:
            type: string
          example:
            - 59.99 GBP
            - 74.99 USD
        SalePrices:
          type: array
          description: Sale prices in the same format as Prices
          items:
            type: string
        Categories:
          type: array
          description: Category IDs this product belongs to
          items:
            type: string
        Link:
          type: string
          description: Product page URL (relative or absolute)
        Image:
          type: string
          description: Main product image URL
        ImageOverlay:
          type: string
          description: Overlay image URL
        SearchTags:
          type: array
          description: Additional search terms for this product
          items:
            type: string
        AssociatedSkus:
          type: array
          description: Associated product SKUs
          items:
            type: string
        AssociatedIds:
          type: array
          description: Associated product IDs
          items:
            type: string
        AccountInclusions:
          type: array
          description: Account IDs that can see this product
          items:
            type: string
        AccountExclusions:
          type: array
          description: Account IDs that cannot see this product
          items:
            type: string
        ExcludeFromRecommenders:
          type: boolean
          description: Whether to exclude this product from recommendations
        OnOffer:
          type: boolean
          description: Whether the product is on offer
        NewArrival:
          type: boolean
          description: Whether the product is a new arrival
        RelatedProducts:
          type: array
          description: Related product IDs
          items:
            type: string
    CategoryAssignment:
      type: object
      required:
        - Category
        - Products
      properties:
        Category:
          type: string
          description: Category ID
        Products:
          type: array
          description: Product IDs to assign to or remove from the category
          items:
            type: string
    AccountPrice:
      type: object
      required:
        - AccountId
        - Id
        - Prices
      properties:
        AccountId:
          type: string
          description: Unique account identifier
        Id:
          type: string
          description: Product ID
        Prices:
          type: array
          description: Account-specific prices in "amount currency" format
          items:
            type: string
        SalePrices:
          type: array
          description: Account-specific sale prices in "amount currency" format
          items:
            type: string
    User:
      type: object
      description: User data record
      required:
        - UserId
      properties:
        UserId:
          type: string
          description: Unique user identifier
        Email:
          type: string
          format: email
          description: User email address
        FirstName:
          type: string
          description: User first name
        LastName:
          type: string
          description: User last name
        Title:
          type: string
          description: User title (e.g. Mr, Mrs)
        DOB:
          type: string
          description: Date of birth in YYYY-MM-DD format
        Gender:
          type: string
          description: User gender
        City:
          type: string
          description: User city
        State:
          type: string
          description: User state or region
        Country:
          type: string
          description: User country
        GroupId:
          type: string
          description: User group identifier

````