openapi: 3.0.3
info:
title: Repsly Web Clients Forms API
description: 'The Repsly Web API (v3) is a REST interface for exchanging data with the Repsly retail execution and field sales platform. It is designed for ERP/CRM integration: import (POST) moves clients and products into Repsly, and export (GET) pulls clients, client notes, visits, retail audits, purchase orders, document types, products, pricelists, forms, photos, daily working time, visit schedules, and representatives back out. All requests use HTTP Basic authentication (API credentials from the Repsly settings page, NOT the login username/password) over SSL, and accept or return JSON or XML. Export endpoints return a maximum of 50 records per call; clients iterate using a timestamp or last-ID cursor and stop when the response MetaCollectionResult.TotalCount is 0.
Endpoint paths and verbs for the export/import surface are grounded in Repsly''s published v3 developer documentation. Request/response schemas below are modeled generically (the docs describe fields per entity but do not publish a machine-readable OpenAPI); treat property-level detail as modeled and confirm exact field names against the live reference at https://api.repsly.com/v3/help.'
version: '3.0'
contact:
name: Repsly
url: https://www.repsly.com
servers:
- url: https://api.repsly.com/v3
description: Repsly Web API v3 (production)
security:
- basicAuth: []
tags:
- name: Forms
description: Export completed forms and retail audits.
paths:
/export/retailaudits/{lastRetailAuditID}:
get:
operationId: exportRetailAudits
tags:
- Forms
summary: Export retail audits
description: Returns up to 50 retail audits with an ID greater than lastRetailAuditID. Start with 0 and page using MetaCollectionResult.LastID until TotalCount is 0.
parameters:
- name: lastRetailAuditID
in: path
required: true
description: Last retail audit ID already retrieved; start at 0.
schema:
type: integer
format: int64
responses:
'200':
description: A batch of retail audits with collection metadata.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericCollection'
'401':
$ref: '#/components/responses/Unauthorized'
/export/forms/{lastFormID}:
get:
operationId: exportForms
tags:
- Forms
summary: Export forms
description: Returns up to 50 completed forms with an ID greater than lastFormID. Start with 0 and page using MetaCollectionResult.LastID until TotalCount is 0. A matrix variant returns matrix-style form answers.
parameters:
- name: lastFormID
in: path
required: true
description: Last form ID already retrieved; start at 0.
schema:
type: integer
format: int64
responses:
'200':
description: A batch of forms with collection metadata.
content:
application/json:
schema:
$ref: '#/components/schemas/GenericCollection'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
GenericCollection:
type: object
description: Generic export collection envelope. Each export endpoint returns an entity array plus MetaCollectionResult; entity fields are documented per resource in the Repsly reference and are modeled here.
properties:
MetaCollectionResult:
$ref: '#/components/schemas/MetaCollectionResult'
Data:
type: array
items:
type: object
additionalProperties: true
MetaCollectionResult:
type: object
description: Pagination metadata returned with export collections. Iterate until TotalCount is 0.
properties:
TotalCount:
type: integer
description: Total count of records in this batch (0 means no more records).
LastTimeStamp:
type: integer
format: int64
description: Timestamp cursor for the next request (timestamp-paged endpoints).
FirstID:
type: integer
format: int64
description: Unique ID of the first item in the list (ID-paged endpoints).
LastID:
type: integer
format: int64
description: Unique ID of the last item in the list (ID-paged endpoints).
Error:
type: object
properties:
code:
type: string
message:
type: string
responses:
Unauthorized:
description: Missing or invalid Basic authentication credentials.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
basicAuth:
type: http
scheme: basic
description: HTTP Basic authentication over SSL. Use the API username and password from the Repsly settings page (API Settings) - these differ from your Repsly login credentials.