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

# Re-sync the product catalog from Stripe

> Runs the same full catalog sync as the Re-sync button on the Products page, against the workspace's connected Stripe account. Products with at least one active price are added or refreshed with their prices; Stripe-synced products that were archived in Stripe or lost their last price are deactivated, never deleted. Manually added products and each product's commission settings (`commissionable`, `campaign_id`, archived) are left alone. You don't need this before a commission call: a single `prod_…` id not yet in the catalog is imported automatically. Limited to one sync a minute per workspace. Requires `write` scope. Configuration only, never moves money.



## OpenAPI

````yaml /openapi.yaml post /v1/products/sync
openapi: 3.1.0
info:
  title: Affixo API
  version: 1.0.0
  description: |
    The Affixo REST API for affiliate program management and server-to-server
    conversion tracking.

    All requests authenticate with a workspace key (`sa_live_…`) as a Bearer
    token. Scopes: `read` / `write` / `track` / `*`.
servers:
  - url: https://go.affixo.dev
    description: Production
security: []
tags:
  - name: Affiliates
    description: Manage affiliates (workspace key)
  - name: Campaigns
    description: Create and configure campaigns + commission rules (workspace key)
  - name: Links
    description: Manage referral links (workspace key)
  - name: Risk
    description: AI risk assessments for fraud triage (workspace key)
  - name: Commissions
    description: Approve, deny, and manage commissions (workspace key)
  - name: Conversions
    description: Re-attribute and manage conversions (workspace key)
  - name: Webhooks
    description: Manage webhook endpoint subscriptions (workspace key)
  - name: Reports
    description: Aggregated reporting data (workspace key)
  - name: Resources
    description: Read campaigns, commissions, conversions, payouts (workspace key)
  - name: Referrals
    description: >-
      Move a referred customer to another affiliate, and send test referrals
      (workspace key)
  - name: Tracking
    description: >-
      Server-to-server click & conversion tracking (workspace key, scope
      "track")
  - name: Products
    description: >-
      Your Stripe product catalog and which products earn commission (workspace
      key)
paths:
  /v1/products/sync:
    post:
      tags:
        - Products
      summary: Re-sync the product catalog from Stripe
      description: >-
        Runs the same full catalog sync as the Re-sync button on the Products
        page, against the workspace's connected Stripe account. Products with at
        least one active price are added or refreshed with their prices;
        Stripe-synced products that were archived in Stripe or lost their last
        price are deactivated, never deleted. Manually added products and each
        product's commission settings (`commissionable`, `campaign_id`,
        archived) are left alone. You don't need this before a commission call:
        a single `prod_…` id not yet in the catalog is imported automatically.
        Limited to one sync a minute per workspace. Requires `write` scope.
        Configuration only, never moves money.
      responses:
        '200':
          description: Sync finished
          content:
            application/json:
              schema:
                type: object
                properties:
                  object:
                    type: string
                    enum:
                      - product_sync
                  products:
                    type: integer
                    description: Priced products now in the catalog from Stripe
                  prices:
                    type: integer
                    description: Active prices written
                  deactivated:
                    type: integer
                    description: Stripe-synced products switched off by this sync
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/InsufficientScope'
        '409':
          description: >-
            stripe_not_connected: the workspace has no connected Stripe account.
            stripe_reconnect_required: Stripe revoked Affixo's access; reconnect
            Stripe in Settings
        '429':
          description: >-
            rate_limited: synced less than a minute ago; see Retry-After and
            retry_after
        '502':
          description: >-
            catalog_sync_failed: Stripe was unavailable or rate limited; retry
            in a few minutes, nothing to reconnect
        '503':
          description: >-
            catalog_sync_unavailable: Affixo's sync service failed before
            reaching Stripe; retry later, nothing to reconnect
      security:
        - WorkspaceKey: []
components:
  responses:
    Unauthorized:
      description: Missing or invalid bearer token
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: unauthorized
    InsufficientScope:
      description: The key lacks the required scope
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: insufficient_scope
            need: write
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
        need:
          type: string
          description: Present on insufficient_scope.
        detail:
          type: string
  securitySchemes:
    WorkspaceKey:
      type: http
      scheme: bearer
      description: 'Workspace API key, e.g. `sa_live_…`. Scopes: read / write / track / *.'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.