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

# Lightspeed Retail X-Series OAuth 2.0 connector profile – StackOne setup guide

> Set up the OAuth 2.0 connector profile for Lightspeed Retail X-Series in StackOne. One-time admin setup required before your users can link Lightspeed Retail X-Series accounts via Hub.

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;lightspeed_list_brands&#x22;,&#x22;label&#x22;:&#x22;List Brands&#x22;,&#x22;scopes&#x22;:[&#x22;products:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_brand&#x22;,&#x22;label&#x22;:&#x22;Get A Single Brand&#x22;,&#x22;scopes&#x22;:[&#x22;products:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_create_brand&#x22;,&#x22;label&#x22;:&#x22;Create Brand&#x22;,&#x22;scopes&#x22;:[&#x22;products:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_consignments&#x22;,&#x22;label&#x22;:&#x22;List Consignments&#x22;,&#x22;scopes&#x22;:[&#x22;consignments:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_consignment&#x22;,&#x22;label&#x22;:&#x22;Get A Single Consignment&#x22;,&#x22;scopes&#x22;:[&#x22;consignments:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_create_consignment&#x22;,&#x22;label&#x22;:&#x22;Create A Consignment&#x22;,&#x22;scopes&#x22;:[&#x22;consignments:write:inventory_count&#x22;,&#x22;consignments:write:stock_order&#x22;,&#x22;consignments:write:stock_transfer&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_update_consignment&#x22;,&#x22;label&#x22;:&#x22;Update A Consignment&#x22;,&#x22;scopes&#x22;:[&#x22;consignments:write:inventory_count&#x22;,&#x22;consignments:write:stock_order&#x22;,&#x22;consignments:write:stock_transfer&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_customers&#x22;,&#x22;label&#x22;:&#x22;List Customers&#x22;,&#x22;scopes&#x22;:[&#x22;customers:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_customer&#x22;,&#x22;label&#x22;:&#x22;Get A Single Customer&#x22;,&#x22;scopes&#x22;:[&#x22;customers:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_create_customer&#x22;,&#x22;label&#x22;:&#x22;Create A New Customer&#x22;,&#x22;scopes&#x22;:[&#x22;customers:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_update_customer&#x22;,&#x22;label&#x22;:&#x22;Update A Customer&#x22;,&#x22;scopes&#x22;:[&#x22;customers:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_delete_customer&#x22;,&#x22;label&#x22;:&#x22;Delete A Customer&#x22;,&#x22;scopes&#x22;:[&#x22;customers:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_gift_cards&#x22;,&#x22;label&#x22;:&#x22;List Gift Cards&#x22;,&#x22;scopes&#x22;:[&#x22;gift_cards:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_gift_card&#x22;,&#x22;label&#x22;:&#x22;Find Gift Card&#x22;,&#x22;scopes&#x22;:[&#x22;gift_cards:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_inventory&#x22;,&#x22;label&#x22;:&#x22;List Inventory Records&#x22;,&#x22;scopes&#x22;:[&#x22;inventory:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_stock_adjustments&#x22;,&#x22;label&#x22;:&#x22;List Stock Adjustments&#x22;,&#x22;scopes&#x22;:[&#x22;inventory:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_create_stock_adjustment&#x22;,&#x22;label&#x22;:&#x22;Create Stock Adjustments&#x22;,&#x22;scopes&#x22;:[&#x22;inventory:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_outlets&#x22;,&#x22;label&#x22;:&#x22;List Outlets&#x22;,&#x22;scopes&#x22;:[&#x22;outlets:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_outlet&#x22;,&#x22;label&#x22;:&#x22;Get A Single Outlet&#x22;,&#x22;scopes&#x22;:[&#x22;outlets:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_payment_types&#x22;,&#x22;label&#x22;:&#x22;List Payment Types&#x22;,&#x22;scopes&#x22;:[&#x22;payment_types:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_price_books&#x22;,&#x22;label&#x22;:&#x22;List Price Books&#x22;,&#x22;scopes&#x22;:[&#x22;customers:read&#x22;,&#x22;outlets:read&#x22;,&#x22;products:read:price_books&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_price_book&#x22;,&#x22;label&#x22;:&#x22;Get A Single Price Book&#x22;,&#x22;scopes&#x22;:[&#x22;customers:read&#x22;,&#x22;outlets:read&#x22;,&#x22;products:read:price_books&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_price_book_products&#x22;,&#x22;label&#x22;:&#x22;List Price Book Products&#x22;,&#x22;scopes&#x22;:[&#x22;products:read:price_books&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_products&#x22;,&#x22;label&#x22;:&#x22;List Products&#x22;,&#x22;scopes&#x22;:[&#x22;products:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_product&#x22;,&#x22;label&#x22;:&#x22;Get A Single Product&#x22;,&#x22;scopes&#x22;:[&#x22;products:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_create_product&#x22;,&#x22;label&#x22;:&#x22;Create Product&#x22;,&#x22;scopes&#x22;:[&#x22;products:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_update_product&#x22;,&#x22;label&#x22;:&#x22;Update A Product&#x22;,&#x22;scopes&#x22;:[&#x22;products:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_delete_product&#x22;,&#x22;label&#x22;:&#x22;Delete A Single Product&#x22;,&#x22;scopes&#x22;:[&#x22;products:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_product_categories&#x22;,&#x22;label&#x22;:&#x22;List Product Categories&#x22;,&#x22;scopes&#x22;:[&#x22;products:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_bulk_product_category&#x22;,&#x22;label&#x22;:&#x22;Create And Update A Product Category Hierarchy&#x22;,&#x22;scopes&#x22;:[&#x22;products:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_product_image&#x22;,&#x22;label&#x22;:&#x22;Get A Single Product Image Data&#x22;,&#x22;scopes&#x22;:[&#x22;products:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_update_product_image&#x22;,&#x22;label&#x22;:&#x22;Set Image Position&#x22;,&#x22;scopes&#x22;:[&#x22;products:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_product_types&#x22;,&#x22;label&#x22;:&#x22;List Product Types&#x22;,&#x22;scopes&#x22;:[&#x22;products:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_product_type&#x22;,&#x22;label&#x22;:&#x22;Get A Single Product Type&#x22;,&#x22;scopes&#x22;:[&#x22;products:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_promotions&#x22;,&#x22;label&#x22;:&#x22;List Promotions&#x22;,&#x22;scopes&#x22;:[&#x22;promotions:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_promotion&#x22;,&#x22;label&#x22;:&#x22;Get A Promotion By ID&#x22;,&#x22;scopes&#x22;:[&#x22;promotions:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_create_promotion&#x22;,&#x22;label&#x22;:&#x22;Create A Promotion&#x22;,&#x22;scopes&#x22;:[&#x22;promotions:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_registers&#x22;,&#x22;label&#x22;:&#x22;List Registers&#x22;,&#x22;scopes&#x22;:[&#x22;registers:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_register&#x22;,&#x22;label&#x22;:&#x22;Get A Single Register&#x22;,&#x22;scopes&#x22;:[&#x22;registers:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_retailer&#x22;,&#x22;label&#x22;:&#x22;Get Information About This Retailer&#x22;,&#x22;scopes&#x22;:[&#x22;payment_types:read&#x22;,&#x22;retailer:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_sales&#x22;,&#x22;label&#x22;:&#x22;List Sales&#x22;,&#x22;scopes&#x22;:[&#x22;sales:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_sale&#x22;,&#x22;label&#x22;:&#x22;Get A Single Sale&#x22;,&#x22;scopes&#x22;:[&#x22;sales:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_create_sale&#x22;,&#x22;label&#x22;:&#x22;Create A Sale&#x22;,&#x22;scopes&#x22;:[&#x22;sales:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_update_sale&#x22;,&#x22;label&#x22;:&#x22;Update A Sale&#x22;,&#x22;scopes&#x22;:[&#x22;sales:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_store_credits&#x22;,&#x22;label&#x22;:&#x22;Store Credit List&#x22;,&#x22;scopes&#x22;:[&#x22;store_credits:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_store_credit&#x22;,&#x22;label&#x22;:&#x22;List Store Credits For A Given Customer&#x22;,&#x22;scopes&#x22;:[&#x22;store_credits:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_suppliers&#x22;,&#x22;label&#x22;:&#x22;List Suppliers&#x22;,&#x22;scopes&#x22;:[&#x22;suppliers:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_supplier&#x22;,&#x22;label&#x22;:&#x22;Get A Single Supplier&#x22;,&#x22;scopes&#x22;:[&#x22;suppliers:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_create_supplier&#x22;,&#x22;label&#x22;:&#x22;Create New Supplier&#x22;,&#x22;scopes&#x22;:[&#x22;suppliers:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_update_supplier&#x22;,&#x22;label&#x22;:&#x22;Update A Supplier&#x22;,&#x22;scopes&#x22;:[&#x22;suppliers:write&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_taxes&#x22;,&#x22;label&#x22;:&#x22;List Taxes&#x22;,&#x22;scopes&#x22;:[&#x22;taxes:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_tax&#x22;,&#x22;label&#x22;:&#x22;Get A Single Tax&#x22;,&#x22;scopes&#x22;:[&#x22;taxes:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_users&#x22;,&#x22;label&#x22;:&#x22;List Users&#x22;,&#x22;scopes&#x22;:[&#x22;users:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_get_user&#x22;,&#x22;label&#x22;:&#x22;Get A Single User&#x22;,&#x22;scopes&#x22;:[&#x22;users:read&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_list_webhooks&#x22;,&#x22;label&#x22;:&#x22;List Webhooks&#x22;,&#x22;scopes&#x22;:[&#x22;webhooks&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_create_webhook&#x22;,&#x22;label&#x22;:&#x22;Create Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;webhooks&#x22;]},{&#x22;id&#x22;:&#x22;lightspeed_delete_webhook&#x22;,&#x22;label&#x22;:&#x22;Delete Webhook&#x22;,&#x22;scopes&#x22;:[&#x22;webhooks&#x22;]}]" style={{ borderRadius: '8px', padding: '16px', marginBottom: '24px' }}>
    <div className="guides-scope-selector__title" style={{ fontSize: '16px', fontWeight: '600', marginBottom: '12px' }}>Select Actions to adjust the guide</div>
    <div className="guides-scope-selector__muted" style={{ fontSize: '13px', marginBottom: '12px' }}>Some actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.</div>

    <div style={{ display: 'flex', gap: '8px', marginBottom: '12px', flexWrap: 'wrap' }}>
      <input type="text" placeholder="Search actions..." className="guides-scope-selector__input" data-guide-action-search style={{ padding: '8px 12px', borderRadius: '6px', fontSize: '13px', flex: 1, minWidth: '160px' }} />

      <button type="button" className="guides-scope-selector__quick-btn" data-guide-select-all style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Select all</button>
      <button type="button" className="guides-scope-selector__quick-btn" data-guide-clear style={{ padding: '6px 10px', borderRadius: '6px', fontSize: '12px', cursor: 'pointer' }}>Clear</button>
    </div>

    <div className="guides-scope-selector__list" style={{ maxHeight: '240px', overflowY: 'auto', borderRadius: '6px', marginBottom: '12px' }}>
      <div className="guides-scope-selector__list-header" style={{ display: 'flex', alignItems: 'center', gap: '10px', padding: '8px 12px', fontSize: '12px', fontWeight: '600', position: 'sticky', top: 0, zIndex: 1 }}>
        <div style={{ width: '16px', flexShrink: 0 }} />

        <div style={{ flex: 1, textAlign: 'left' }}>Action</div>
        <div style={{ minWidth: '120px', marginLeft: 'auto', textAlign: 'right' }}>Scope(s)</div>
      </div>

      <div className="guides-scope-selector__muted" data-guide-loading style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>Loading actions...</div>
      <div className="guides-scope-selector__muted" data-guide-no-results hidden style={{ padding: '16px', textAlign: 'center', fontSize: '13px' }}>No actions match your search.</div>
    </div>

    <div className="guides-scope-selector__url-section" style={{ marginTop: '12px', paddingTop: '12px' }}>
      <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Dynamic Guide URL</div>

      <div style={{ display: 'flex', alignItems: 'center', gap: '8px', flexWrap: 'wrap' }}>
        <input type="text" readOnly className="guides-scope-selector__input" data-guide-url style={{ flex: 1, minWidth: '200px', padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace' }} />

        <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-url style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap', marginLeft: 'auto' }}>Copy URL</button>
      </div>

      <div style={{ marginTop: '12px' }}>
        <div className="guides-scope-selector__muted" style={{ fontSize: '12px', fontWeight: '500', marginBottom: '6px' }}>Scopes Selected</div>

        <div style={{ display: 'flex', alignItems: 'stretch', gap: '8px', flexWrap: 'wrap' }}>
          <pre className="guides-scope-selector__input" role="textbox" aria-readonly="true" tabIndex={0} data-guide-scopes-output style={{ flex: 1, minWidth: '200px', minHeight: '88px', maxHeight: '120px', overflowY: 'auto', margin: 0, padding: '8px 10px', borderRadius: '6px', fontSize: '12px', fontFamily: 'monospace', whiteSpace: 'pre-wrap' }} />

          <div className="guides-scope-selector__muted" style={{ display: 'flex', flexDirection: 'column', gap: '8px', fontSize: '12px', fontWeight: '500', flexShrink: 0, alignItems: 'flex-start' }}>
            <div style={{ whiteSpace: 'nowrap' }}>Separator</div>

            <select className="guides-scope-selector__input" data-guide-scope-delimiter style={{ width: '100%', padding: '6px 10px', borderRadius: '6px', fontSize: '12px' }}>
              <option value="space">Space</option>
              <option value="comma">Comma</option>
              <option value="semicolon">Semicolon</option>
              <option value="pipe">Pipe</option>
              <option value="newline">Newline</option>
            </select>

            <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-scopes style={{ width: '120px', padding: '8px 14px', borderRadius: '6px', fontSize: '13px', fontWeight: '500', cursor: 'pointer', whiteSpace: 'nowrap' }}>Copy scopes</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</Panel>

<section data-guide-section data-guide-scopes="">
  <h2>Create OAuth application</h2>

  <p>Register a Public App in the Lightspeed Retail X-Series developer portal.</p>

  <Steps>
    <Step title="Open the developer portal">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to the Lightspeed Retail X-Series developer portal.</p>

        <ul>
          <li>Go to [https://developers.retail.lightspeed.app/](https://developers.retail.lightspeed.app/)</li>
          <li>Sign in with your Lightspeed account (use an admin account)</li>
          <li>Click "Create new app" / "Register application"</li>
        </ul>
      </div>
    </Step>

    <Step title="Configure redirect URL">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Set the callback URL on your application.</p>

        <ul>
          <li>Redirect URL: [https://api.stackone.com/connect/oauth2/lightspeed/callback](https://api.stackone.com/connect/oauth2/lightspeed/callback)</li>
        </ul>
      </div>
    </Step>

    <Step title="Configure scopes">
      <div data-guide-step data-guide-scopes="consignments:read,consignments:write:inventory_count,consignments:write:stock_order,consignments:write:stock_transfer,customers:read,customers:write,gift_cards:read,inventory:read,inventory:write,outlets:read,payment_types:read,products:read,products:read:price_books,products:write,promotions:read,promotions:write,registers:read,retailer:read,sales:read,sales:write,store_credits:read,suppliers:read,suppliers:write,taxes:read,users:read,webhooks" data-guide-display-scopes-list="consignments:read,consignments:write:inventory_count,consignments:write:stock_order,consignments:write:stock_transfer,customers:read,customers:write,gift_cards:read,inventory:read,inventory:write,outlets:read,payment_types:read,products:read,products:read:price_books,products:write,promotions:read,promotions:write,registers:read,retailer:read,sales:read,sales:write,store_credits:read,suppliers:read,suppliers:write,taxes:read,users:read,webhooks">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="consignments:read,consignments:write:inventory_count,consignments:write:stock_order,consignments:write:stock_transfer,customers:read,customers:write,gift_cards:read,inventory:read,inventory:write,outlets:read,payment_types:read,products:read,products:read:price_books,products:write,promotions:read,promotions:write,registers:read,retailer:read,sales:read,sales:write,store_credits:read,suppliers:read,suppliers:write,taxes:read,users:read,webhooks" style={{ display: 'block', width: 'fit-content', maxWidth: '100%', padding: '2px 8px', borderRadius: '8px', fontSize: '12px', marginBottom: '8px', marginTop: '-10px', whiteSpace: 'nowrap', overflowX: 'auto', overflowY: 'hidden', msOverflowStyle: 'none', scrollbarWidth: 'none' }}>
          <span>Enables actions: </span><span data-guide-actions-badge-labels>Create A Consignment, Create A New Customer, Create A Promotion, Create A Sale, Create And Update A Product Category Hierarchy, Create Brand, Create New Supplier, Create Product, Create Stock Adjustments, Create Webhook, Delete A Customer, Delete A Single Product, Delete Webhook, Find Gift Card, Get A Promotion By ID, Get A Single Brand, Get A Single Consignment, Get A Single Customer, Get A Single Outlet, Get A Single Price Book, Get A Single Product, Get A Single Product Image Data, Get A Single Product Type, Get A Single Register, Get A Single Sale, Get A Single Supplier, Get A Single Tax, Get A Single User, Get Information About This Retailer, List Brands, List Consignments, List Customers, List Gift Cards, List Inventory Records, List Outlets, List Payment Types, List Price Book Products, List Price Books, List Product Categories, List Product Types, List Products, List Promotions, List Registers, List Sales, List Stock Adjustments, List Store Credits For A Given Customer, List Suppliers, List Taxes, List Users, List Webhooks, Set Image Position, Store Credit List, Update A Consignment, Update A Customer, Update A Product, Update A Sale, Update A Supplier</span>
        </div>

        <p>Pre-declare the scopes your integration will request. Until 2026-06-01 scopes are OPTIONAL on the authorization request; after that date applications must request only scopes that are pre-declared on the app in the developer portal.</p>

        <div style={{ marginTop: '8px' }} data-guide-display-scopes>
          <div className="connector-guide-scopes-container connector-guide-scopes-container--scrollable">
            <ul className="not-prose" style={{ listStyleType: "'- '", paddingLeft: '1em', margin: 0 }}>
              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="consignments:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy consignments:read" title="Copy scope" data-copy="consignments:read">
                  <span className="connector-guide-scope-copy__label">consignments:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="consignments:write:inventory_count">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy consignments:write:inventory_count" title="Copy scope" data-copy="consignments:write:inventory_count">
                  <span className="connector-guide-scope-copy__label">consignments:write:inventory\_count</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="consignments:write:stock_order">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy consignments:write:stock_order" title="Copy scope" data-copy="consignments:write:stock_order">
                  <span className="connector-guide-scope-copy__label">consignments:write:stock\_order</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="consignments:write:stock_transfer">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy consignments:write:stock_transfer" title="Copy scope" data-copy="consignments:write:stock_transfer">
                  <span className="connector-guide-scope-copy__label">consignments:write:stock\_transfer</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="customers:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy customers:read" title="Copy scope" data-copy="customers:read">
                  <span className="connector-guide-scope-copy__label">customers:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="customers:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy customers:write" title="Copy scope" data-copy="customers:write">
                  <span className="connector-guide-scope-copy__label">customers:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="gift_cards:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy gift_cards:read" title="Copy scope" data-copy="gift_cards:read">
                  <span className="connector-guide-scope-copy__label">gift\_cards:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="inventory:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy inventory:read" title="Copy scope" data-copy="inventory:read">
                  <span className="connector-guide-scope-copy__label">inventory:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="inventory:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy inventory:write" title="Copy scope" data-copy="inventory:write">
                  <span className="connector-guide-scope-copy__label">inventory:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="outlets:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy outlets:read" title="Copy scope" data-copy="outlets:read">
                  <span className="connector-guide-scope-copy__label">outlets:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="payment_types:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy payment_types:read" title="Copy scope" data-copy="payment_types:read">
                  <span className="connector-guide-scope-copy__label">payment\_types:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="products:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy products:read" title="Copy scope" data-copy="products:read">
                  <span className="connector-guide-scope-copy__label">products:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="products:read:price_books">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy products:read:price_books" title="Copy scope" data-copy="products:read:price_books">
                  <span className="connector-guide-scope-copy__label">products:read:price\_books</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="products:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy products:write" title="Copy scope" data-copy="products:write">
                  <span className="connector-guide-scope-copy__label">products:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="promotions:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy promotions:read" title="Copy scope" data-copy="promotions:read">
                  <span className="connector-guide-scope-copy__label">promotions:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="promotions:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy promotions:write" title="Copy scope" data-copy="promotions:write">
                  <span className="connector-guide-scope-copy__label">promotions:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="registers:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy registers:read" title="Copy scope" data-copy="registers:read">
                  <span className="connector-guide-scope-copy__label">registers:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="retailer:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy retailer:read" title="Copy scope" data-copy="retailer:read">
                  <span className="connector-guide-scope-copy__label">retailer:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="sales:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy sales:read" title="Copy scope" data-copy="sales:read">
                  <span className="connector-guide-scope-copy__label">sales:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="sales:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy sales:write" title="Copy scope" data-copy="sales:write">
                  <span className="connector-guide-scope-copy__label">sales:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="store_credits:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy store_credits:read" title="Copy scope" data-copy="store_credits:read">
                  <span className="connector-guide-scope-copy__label">store\_credits:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="suppliers:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy suppliers:read" title="Copy scope" data-copy="suppliers:read">
                  <span className="connector-guide-scope-copy__label">suppliers:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="suppliers:write">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy suppliers:write" title="Copy scope" data-copy="suppliers:write">
                  <span className="connector-guide-scope-copy__label">suppliers:write</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="taxes:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy taxes:read" title="Copy scope" data-copy="taxes:read">
                  <span className="connector-guide-scope-copy__label">taxes:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="users:read">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy users:read" title="Copy scope" data-copy="users:read">
                  <span className="connector-guide-scope-copy__label">users:read</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li style={{ overflowWrap: 'anywhere', wordBreak: 'break-word' }} data-guide-display-scope="webhooks">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy webhooks" title="Copy scope" data-copy="webhooks">
                  <span className="connector-guide-scope-copy__label">webhooks</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>

    <Step title="Save and copy credentials">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Save the application and copy the issued credentials.</p>

        <ul>
          <li>Click Save to register the application</li>
          <li>Copy the Client ID and Client Secret — they are required to connect from StackOne</li>
        </ul>
      </div>
    </Step>

    <Step title="Note on the state parameter">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Lightspeed requires the OAuth <code>state</code> parameter to be at least 8 characters. The StackOne Falcon platform handles this automatically; no manual configuration needed.</p>
      </div>
    </Step>
  </Steps>
</section>

## Creating the StackOne Connector Profile

To create the Connector Profile in StackOne for <strong>Lightspeed Retail X-Series</strong>:

<Steps>
  <Step title="Navigate to Connector Profiles">
    Login to StackOne and navigate to [Connector Profiles](https://app.stackone.com/connector_profiles)
  </Step>

  <Step title="Create New Connector Profile">
    <ul>
      <li>Click <strong>+ Connector Profile</strong></li>
      <li>Search for and select <strong>Lightspeed Retail X-Series</strong></li>
      <li>Select <strong>Type</strong> as <strong>OAuth 2.0</strong></li>

      <li>
        Fill out the fields using details retrieved from your provider:

        <ul style={{ marginLeft: '20px' }}>
          <li><strong>Client ID</strong></li>
          <li><strong>Client Secret</strong></li>
          <li><strong>Scopes</strong> (Optional)</li>
        </ul>
      </li>

      <li>(Optional) Select <strong>Actions</strong> to be enabled for this Connector Profile</li>
      <li>Click <strong>Save</strong></li>
    </ul>
  </Step>
</Steps>

Congratulations! The new Connector Profile will now show up in your project ready to be used. You can now continue to <a href="/guides/accounts-section#linking-accounts">Link Accounts</a> for <strong>Lightspeed Retail X-Series</strong>.
