Repsly

Repsly is a retail execution and field sales platform for CPG brands and field teams - covering in-store activity, merchandising, retail audits, order taking, and territory management. The Repsly Web API (v3) is a REST interface at https://api.repsly.com/v3 designed for ERP/CRM integration - it moves clients and products into Repsly (import) and pulls clients, visits, retail audits, forms, photos, purchase orders, pricelists, representatives, and schedules back out (export). Requests use HTTP Basic authentication over SSL, exchange JSON or XML, and paginate export results in batches of up to 50 records using timestamp or last-ID cursors until the response MetaCollectionResult TotalCount reaches zero.

9 APIs 0 Features
Retail ExecutionField SalesMerchandisingCPGRetail AuditsSales Force Automation

APIs

Repsly Clients API

Export clients and client notes from Repsly and import (insert or update) client master data from an ERP/CRM. Client export uses a timestamp cursor; client notes use a last-note...

Repsly Representatives API

Export the field representatives (and back-office users) on the account along with their territories and permissions, plus daily working time records that log each representativ...

Repsly Visits API

Export in-store visits (check-in/check-out, GPS, notes), planned visit schedules over a date range, and visit schedule realizations, and import visit schedules to plan represent...

Repsly Products API

Export products, product lists, and document types, and import (insert or update) product catalog and product packaging data from an ERP so mobile reps always work from current ...

Repsly Forms API

Export completed custom forms and retail audit results (including matrix answers) captured by representatives in the field, using last-form-ID and last-retail-audit-ID cursors.

Repsly Photos API

Export photos captured during visits - shelf and display shots, merchandising evidence, and form/audit attachments - with their metadata and URLs, paginated by a last-photo-ID c...

Repsly Pricelists API

Export the list of pricelists and the items within a specific pricelist, and import (insert or update) pricelists and their items so order taking uses the correct per-client pri...

Repsly Purchase Orders API

Export purchase orders (and other sales documents) taken by reps in the field, paginated by a last-document-ID cursor, and post status updates back to a sales document after it ...

Repsly Import and Export API

The bulk integration surface. Import (POST) clients, products, packages, pricelists, and schedules where Repsly decides per record whether to insert or update, then poll the imp...

Collections

Pricing Plans

Repsly Plans Pricing

2 plans

PLANS

Rate Limits

Repsly Rate Limits

3 limits

RATE LIMITS

FinOps

Repsly Finops

FINOPS

Resources

🔗
TrustCenter
TrustCenter
🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Repsly Web API (v3)
  version: '3.0'
request:
  auth:
    type: basic
    username: '{{apiUsername}}'
    password: '{{apiPassword}}'
items:
- info:
    name: Clients
    type: folder
  items:
  - info:
      name: Export clients
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/clients/:lastTimestamp
      params:
      - name: lastTimestamp
        value: '0'
        type: path
        description: Timestamp cursor; start at 0, then pass MetaCollectionResult.LastTimeStamp.
    docs: Returns up to 50 clients changed since the timestamp. Iterate until MetaCollectionResult.TotalCount is 0.
  - info:
      name: Export client notes
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/clientnotes/:lastClientNoteID
      params:
      - name: lastClientNoteID
        value: '0'
        type: path
        description: Last client note ID already retrieved; start at 0.
    docs: Returns up to 50 client notes with an ID greater than lastClientNoteID.
  - info:
      name: Import clients
      type: http
    http:
      method: POST
      url: https://api.repsly.com/v3/import/client
      body:
        type: json
        data: "[\n  {\n    \"Code\": \"CLIENT-001\",\n    \"Name\": \"Example Retailer\",\n    \"Active\": true\n  }\n]"
    docs: Insert or update clients. Repsly decides per record whether to insert or update. Returns an importJobID.
- info:
    name: Representatives
    type: folder
  items:
  - info:
      name: Export representatives
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/representatives
    docs: Returns all field representatives, including territories, roles, and active status.
  - info:
      name: Export users
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/users
    docs: Returns the account's users.
  - info:
      name: Export daily working time
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/dailyworkingtime/:lastDailyWorkingTimeID
      params:
      - name: lastDailyWorkingTimeID
        value: '0'
        type: path
        description: Last daily working time ID already retrieved; start at 0.
    docs: Returns up to 50 daily working time records with an ID greater than lastDailyWorkingTimeID.
- info:
    name: Visits
    type: folder
  items:
  - info:
      name: Export visits
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/visits/:lastTimestamp
      params:
      - name: lastTimestamp
        value: '0'
        type: path
        description: Timestamp cursor; start at 0.
    docs: Returns up to 50 visits changed since the timestamp.
  - info:
      name: Export visit schedules
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/visitschedules/:beginDateTime/:endDateTime
      params:
      - name: beginDateTime
        value: '2026-07-01'
        type: path
        description: Start of the date range.
      - name: endDateTime
        value: '2026-07-31'
        type: path
        description: End of the date range.
    docs: Returns planned visit schedules between beginDateTime and endDateTime for all representatives.
  - info:
      name: Export visit realizations
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/visit-realizations
    docs: Returns visit schedule realizations - how planned schedules were actually executed.
  - info:
      name: Import visit schedules
      type: http
    http:
      method: POST
      url: https://api.repsly.com/v3/import/schedule
      body:
        type: json
        data: '[]'
    docs: Insert or update visit schedules to plan representatives' routes. Returns an importJobID.
- info:
    name: Products
    type: folder
  items:
  - info:
      name: Export products
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/products/:lastTimestamp
      params:
      - name: lastTimestamp
        value: '0'
        type: path
        description: Timestamp cursor (modeled); start at 0.
    docs: Returns products from the catalog. Timestamp cursor form modeled after the other export endpoints.
  - info:
      name: Export product lists
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/product-lists
    docs: Returns product lists (groupings of products).
  - info:
      name: Export document types
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/documentTypes/
    docs: Returns the document types configured on the account.
  - info:
      name: Import products
      type: http
    http:
      method: POST
      url: https://api.repsly.com/v3/import/product
      body:
        type: json
        data: '[]'
    docs: Insert or update products in the catalog. Returns an importJobID.
  - info:
      name: Import product packages
      type: http
    http:
      method: POST
      url: https://api.repsly.com/v3/import/package
      body:
        type: json
        data: '[]'
    docs: Insert or update product packaging definitions. Returns an importJobID.
- info:
    name: Forms
    type: folder
  items:
  - info:
      name: Export forms
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/forms/:lastFormID
      params:
      - name: lastFormID
        value: '0'
        type: path
        description: Last form ID already retrieved; start at 0.
    docs: Returns up to 50 completed forms with an ID greater than lastFormID.
  - info:
      name: Export retail audits
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/retailaudits/:lastRetailAuditID
      params:
      - name: lastRetailAuditID
        value: '0'
        type: path
        description: Last retail audit ID already retrieved; start at 0.
    docs: Returns up to 50 retail audits with an ID greater than lastRetailAuditID.
- info:
    name: Photos
    type: folder
  items:
  - info:
      name: Export photos
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/photos/:lastPhotoID
      params:
      - name: lastPhotoID
        value: '0'
        type: path
        description: Last photo ID already retrieved; start at 0.
    docs: Returns up to 50 photos with an ID greater than lastPhotoID, including metadata and image URLs.
- info:
    name: Pricelists
    type: folder
  items:
  - info:
      name: Export pricelists
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/pricelists/
    docs: Returns the list of pricelists configured on the account.
  - info:
      name: Export pricelist items
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/pricelists/:pricelistID
      params:
      - name: pricelistID
        value: ''
        type: path
        description: The ID of the pricelist whose items to export.
    docs: Returns the items (products and prices) within a specific pricelist.
  - info:
      name: Import pricelists
      type: http
    http:
      method: POST
      url: https://api.repsly.com/v3/import/pricelist
      body:
        type: json
        data: '[]'
    docs: Insert or update pricelists and their items. Returns an importJobID.
- info:
    name: Purchase Orders
    type: folder
  items:
  - info:
      name: Export purchase orders
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/purchaseorders/:lastDocumentID
      params:
      - name: lastDocumentID
        value: '0'
        type: path
        description: Last document ID already retrieved; start at 0.
    docs: Returns up to 50 purchase orders with a document ID greater than lastDocumentID.
  - info:
      name: Update sales document status
      type: http
    http:
      method: POST
      url: https://api.repsly.com/v3/import/sales-document-status
      body:
        type: json
        data: '{}'
    docs: Post a status update back to a sales document after it is processed in the back office. Body fields modeled.
- info:
    name: Import
    type: folder
  items:
  - info:
      name: Get import job status
      type: http
    http:
      method: GET
      url: https://api.repsly.com/v3/export/importStatus/:importJobID
      params:
      - name: importJobID
        value: ''
        type: path
        description: The import job ID returned by an import call.
    docs: Returns the status of a previously submitted import job.
bundled: true