Sepolo

Build with Sepolo. Open from the first request.

Explore authentication, endpoints and data contracts without a login. Connect your systems to Sepolo through organization-scoped API requests. Includes customer, vendor and service-parts lookup contracts.

Read, explore and download without an account. API requests use your organization’s key and permissions.

Download OpenAPI definitionDownload Postman collection

Your field service layer. With or without an ERP.

Give service teams one place to plan work, support technicians and understand asset costs. Connect Sepolo to your financial system, or start with your own service records.

Keep your ERP at the financial center.

Use Sepolo for service planning, mobile reports, parts, time and connected equipment. Bring in master data through the configured ERP integration and prepare financial handover through the supported provider workflow. Agree the required operations and mapping before rollout.

Start with service. Add connections when needed.

Run service operations with local customer, asset and item records in the online portal and mobile app. An ERP connector is optional. Sepolo manages service delivery and operating costs; it is not a complete accounting or ERP replacement.

Choose the right ERP connection

Microsoft Dynamics 365 Business Central
Dynamics 365 Business Central has a provider implementation for master-data synchronization and supported financial workflows. Validate the tenant connection, permissions, item mapping and required handover with your implementation team.
SAP
Treat SAP as a scoped integration project. The current SAP parts client is a prototype, and automated SAP financial delivery is not ready to promise as a standard connector. Agree the required SAP interfaces, implementation and acceptance tests first.
e-conomic · Dinero · Uniconta · AutoCount · SQL Account
Other provider implementations include e-conomic, Dinero, Uniconta, AutoCount and SQL Account. Supported operations and setup differ by provider. Source implementation is not certification of a deployed customer integration.

Decide who owns each record

With an ERP, keep agreed customer, supplier, item and financial master data there. Sepolo connects that context to assets, visits, reports, parts and time. The lookup APIs read your organization’s Sepolo records; freshness follows the configured synchronization, not a live ERP query on every call.

Understand what the lookup APIs return

Customer and parts lookups are read-only. Parts come from the organization’s physical service catalog: local items and mapped ERP parts allowed by its stock/position policy, rather than the entire raw ERP item cache. Service-only items are excluded. Catalog quantity is not a guarantee of current ERP stock availability. These endpoints do not create ERP customers/items or post invoices; confirm the currency of catalog prices during setup.

Use externalSystem plus externalCustomerId for the source identity. customerNumber currently mirrors externalCustomerId; it is not a separately resolved ERP account number. updatedAtUtc is nullable. Reconcile by stable IDs: live paging is not a transactional snapshot or change feed.

Prove one complete service flow

Agree the data owner, target ERP version, credentials and required operations. Validate the key with /api/v1/me, read vendors, customers and eligible parts, then test the selected service-to-finance workflow in your configured environment. Keep operational API keys on trusted servers.

Your first request

Use the base URL of your Sepolo environment. The example below checks the key, organization, client identity and available scopes.

curl "https://app.sepolo.app/api/v1/me" -H "X-Sepolo-Api-Key: YOUR_API_KEY"

Authentication and access

Send X-Sepolo-Api-Key: YOUR_API_KEY on each request, or use Authorization: Bearer YOUR_API_KEY. The key determines the organization; it does not grant access to other organizations. Keep keys on your server or in your secret store, not in public frontend code.

Each operation lists its required scope. Impact Mapping additionally requires the organization’s Impact Mapping license. Ask your organization’s administrator for API access.

Requests, dates and pagination

Use UTC ISO 8601 timestamps for date filters. Telemetry and PointGuard cycle lists require from/to (or fromUtc/toUtc), with at most 31 days per request. Movement windows allow up to 366 days. Appointments and service visits default to a 60-day window when omitted, with a 366-day maximum.

Where pageSize and cursor are supported, use the returned nextCursor for the next page and stop when hasMore is false. Page size is capped at 500. Some list endpoints return a single data page and have no cursor parameter; check each operation. Treat cursors as opaque.

Endpoint reference

Browse the implemented v1 operations. Expand an operation for parameters, permissions and request fields. Availability in your environment depends on its deployed version and configuration.

Identity

Confirm the organization and scopes associated with the key.

GET/api/v1/me

Required scope Valid organization API key

Successful response 200 PublicApiMeResponse

Response fields

  • organizationId · Guid
  • clientId · string
  • clientName · string
  • scopes · IReadOnlyList<string>
  • version · string
  • rateLimit · PublicApiRateLimitDto
  • allowedGroupIds · IReadOnlyList<int>
  • allowedCustomerIds · IReadOnlyList<string>

Vendors

Read local and external ERP vendors for the organization.

GET/api/v1/vendors

Required scope vendors.read

Successful response 200 PublicApiPage<PublicApiVendorDto>

Response fields

  • vendorId · Guid
  • name · string
  • contactName · string
  • contactEmail · string
  • contactPhone · string
  • city · string
  • country · string
  • isExternal · bool
  • externalSystem · string
  • externalVendorNumber · string
  • createdOn · DateTime
  • modifiedOn · DateTime
  • status · bool

Customers

Read local and synchronized customer directory records for the key’s organization. Filter by externalSystem and page through the results.

GET/api/v1/customers

Required scope customers.read

Parameters

  • externalSystem · Query · string?
  • pageSize · Query · int · Default 100
  • cursor · Query · string? · Default null

Successful response 200 PublicApiPage<PublicApiCustomerDto>

Response fields

  • customerDirectoryId · Guid?
  • externalSystem · string
  • externalCustomerId · string
  • customerNumber · string
  • name · string
  • email · string
  • phone · string
  • city · string
  • country · string
  • updatedAtUtc · DateTime?

Items and parts

Read eligible physical service catalog items, including local and mapped ERP parts, with item identifiers, vendor, catalog quantity, prices and ERP references. Filter by vendorId and status.

GET/api/v1/inventory/parts

Required scope inventory.read

Parameters

  • vendorId · Query · Guid?
  • status · Query · string?
  • pageSize · Query · int · Default 100
  • cursor · Query · string? · Default null

Successful response 200 PublicApiPage<PublicApiInventoryPartDto>

Response fields

  • partId · Guid
  • partName · string
  • partNumber · string
  • itemNo · string
  • vendorName · string
  • quantity · int
  • costPrice · decimal
  • salesPrice · decimal
  • status · bool
  • externalSystem · string
  • externalPartId · string
  • isErpManaged · bool

Appointments

Read calendar appointments, optionally filtered by user.

GET/api/v1/appointments

Required scope appointments.read

Parameters

  • fromUtc · Query · DateTime?
  • toUtc · Query · DateTime?
  • userId · Query · Guid?

Successful response 200 PublicApiPage<PublicApiAppointmentDto>

Response fields

  • appointmentId · Guid
  • userId · Guid
  • subject · string
  • description · string
  • location · string
  • startTimeUtc · DateTime
  • endTimeUtc · DateTime
  • isAllDay · bool
  • calendarId · int
  • timezoneKey · string
  • recurrenceRule · string
  • recurrenceId · Guid?
  • recurrenceException · string
  • createdUtc · DateTime
  • updatedUtc · DateTime

Service visits

Read planned work, status, asset context and available agreement fields.

GET/api/v1/service-visits

Required scope service_visits.read

Parameters

  • fromUtc · Query · DateTime?
  • toUtc · Query · DateTime?

Successful response 200 PublicApiPage<PublicApiServiceVisitDto>

Response fields

  • serviceVisitId · Guid
  • title · string
  • type · Guid
  • typeText · string
  • state · int
  • stateText · string
  • startDate · DateTime?
  • endDate · DateTime?
  • startTime · TimeSpan?
  • endTime · TimeSpan?
  • assetId · Guid
  • externalSystem · string
  • externalCustomerId · string
  • estimatedCost · decimal?
  • actualCost · decimal?
  • slaServiceContractId · Guid?
  • slaResponseMinutes · int?
  • slaDueAt · DateTime?
  • maintenanceContractId · Guid?
  • maintenanceContractAssetId · Guid?

Agreements

Read SLA, onsite service and remote support agreements and their coverage.

GET/api/v1/agreements

Required scope agreements.read

Parameters

  • type · Query · string?
  • customerId · Query · string?
  • status · Query · string?
  • pageSize · Query · int · Default 100
  • cursor · Query · string? · Default null

Successful response 200 PublicApiPage<PublicApiAgreementDto>

Response fields

  • agreementId · Guid
  • agreementType · string
  • agreementKind · string
  • agreementNumber · string
  • name · string
  • status · string
  • customerDirectoryId · Guid?
  • externalSystem · string
  • externalCustomerId · string
  • customerName · string
  • startDate · DateTime
  • endDate · DateTime?
  • contractAmount · decimal
  • includesLabor · bool
  • includesTravel · bool
  • includesRemoteSupport · bool
  • partsCoverage · string
  • partsCoverageLimitText · string
  • serviceDeliveryManagerName · string
  • serviceDeliveryManagerEmail · string
  • proposedAt · DateTime?
  • followUpAt · DateTime?
  • wonAt · DateTime?
  • lostAt · DateTime?
  • createdUtc · DateTime
  • updatedUtc · DateTime?
GET/api/v1/agreements/{agreementId}

Required scope agreements.read

Parameters

  • agreementId · Path · Guid

Successful response 200 PublicApiAgreementDetailDto

Response fields

  • agreement · PublicApiAgreementDto
  • sla · PublicApiSlaTermsDto?
  • coverage · IReadOnlyList<PublicApiAgreementCoverageDto>
  • assets · IReadOnlyList<PublicApiAgreementAssetDto>
  • resources · IReadOnlyList<PublicApiAgreementResourceDto>
  • supportHourBuckets · IReadOnlyList<PublicApiAgreementSupportBucketDto>

Remote support

Read support cases, SLA context and recorded time consumption.

GET/api/v1/remote-support-cases

Required scope remote_support.read

Parameters

  • status · Query · string?
  • assetId · Query · Guid?
  • slaOnly · Query · bool?
  • customer · Query · string?
  • pageSize · Query · int · Default 100
  • cursor · Query · string? · Default null

Successful response 200 PublicApiPage<PublicApiRemoteSupportCaseDto>

Response fields

  • serviceReportId · Guid
  • serviceVisitId · Guid
  • assetId · Guid
  • caseNumber · string
  • reportNumber · string
  • title · string
  • reasonForService · string
  • customerName · string
  • assetName · string
  • state · int
  • stateText · string
  • createdAt · DateTime
  • plannedStart · DateTime?
  • actualStartOfInspection · DateTime?
  • actualEndOfInspection · DateTime?
  • hasActiveTimer · bool
  • activeTimerStartedAt · DateTime?
  • remoteWorkMinutes · int?
  • closedRemoteWorkMinutes · int?
  • timeEntryCount · int
  • remoteSupporters · string
  • remoteSupporterCount · int
  • lastRemoteSupporter · string
  • hasEscalation · bool
  • escalationLevel · string
  • hasSlaAgreement · bool
  • slaAgreementNumber · string
  • slaAgreementName · string
  • slaCoverageScope · string
  • slaResponseHours · int?
  • slaDueAt · DateTime?
  • slaMinutesRemaining · int?
GET/api/v1/remote-support-cases/{serviceReportId}

Required scope remote_support.read

Parameters

  • serviceReportId · Path · Guid

Successful response 200 PublicApiRemoteSupportCaseDetailDto

Response fields

  • case · PublicApiRemoteSupportCaseDto
  • description · string
  • problemSummary · string
  • solution · string
  • customerEmail · string
  • customerPhone · string
  • customerAddress · string
  • primaryContactName · string
  • primaryContactJobTitle · string
  • primaryContactEmail · string
  • primaryContactPhone · string
  • timeEntries · IReadOnlyList<PublicApiRemoteSupportTimeEntryDto>

Devices and telemetry

Read devices, telemetry, movements, PointGuard cycles and samples.

GET/api/v1/devices

Required scope devices.read

Parameters

  • updatedSince · Query · DateTime?
  • groupId · Query · int?
  • status · Query · string?
  • pageSize · Query · int · Default 100
  • cursor · Query · string? · Default null

Successful response 200 PublicApiPage<PublicApiDeviceDto>

Response fields

  • deviceId · string
  • deviceName · string
  • deviceType · int
  • organizationId · Guid
  • groupId · int
  • deviceLocation · string
  • description · string
  • deviceStatus · int
  • modelId · Guid
  • modelName · string
  • equipmentType · string
  • calculatedNextService · DateTime
  • latitude · double
  • longitude · double
  • lastTelemetryAt · DateTime?
  • temperature · double?
  • humidity · double?
  • batteryVoltage · double?
  • batteryPercentage · double?
GET/api/v1/devices/{deviceId}

Required scope devices.read

Parameters

  • deviceId · Path · string

Successful response 200 PublicApiDeviceDto

Response fields

  • deviceId · string
  • deviceName · string
  • deviceType · int
  • organizationId · Guid
  • groupId · int
  • deviceLocation · string
  • description · string
  • deviceStatus · int
  • modelId · Guid
  • modelName · string
  • equipmentType · string
  • calculatedNextService · DateTime
  • latitude · double
  • longitude · double
  • lastTelemetryAt · DateTime?
  • temperature · double?
  • humidity · double?
  • batteryVoltage · double?
  • batteryPercentage · double?
GET/api/v1/devices/{deviceId}/telemetry

Required scope telemetry.read

Parameters

  • deviceId · Path · string
  • from · Query · DateTime?
  • to · Query · DateTime?
  • fromUtc · Query · DateTime?
  • toUtc · Query · DateTime?
  • metrics · Query · string?
  • telemetryType · Query · int?
  • cycleId · Query · string?
  • pageSize · Query · int · Default 500
  • cursor · Query · string? · Default null

Successful response 200 PublicApiPage<PublicApiTelemetryDto>

Response fields

  • deviceId · string
  • stamp · DateTime
  • latitude · decimal
  • longitude · decimal
  • temperature · double
  • humidity · double
  • batteryVoltage · double
  • batteryCurrent · double
  • batteryPercentage · double
  • current · double
  • signalQuality · double
  • railTemperature · double
  • tiltX · double
  • tiltY · double
  • tiltZ · double
  • description · string
  • telemetryType · int?
  • cycleId · string
  • cycleSampleIndex · int?
  • cycleSampleOffsetMs · int?
  • cycleDurationMs · int?
  • cycleSampleCount · int?
  • schemaVersion · string
  • pressure1Bar · double?
  • pressure2Bar · double?
  • endStop1 · bool?
  • endStop2 · bool?
GET/api/v1/devices/{deviceId}/movements

Required scope movements.read

Parameters

  • deviceId · Path · string
  • from · Query · DateTime?
  • to · Query · DateTime?
  • fromUtc · Query · DateTime?
  • toUtc · Query · DateTime?
  • minDurationSeconds · Query · int · Default 0
  • pageSize · Query · int · Default 500
  • cursor · Query · string? · Default null

Successful response 200 PublicApiPage<PublicApiMovementDto>

Response fields

  • id · Guid
  • deviceId · string
  • location · string
  • start · DateTime
  • stop · DateTime
  • duration · double
  • startCurrent · double
  • stopCurrent · double
  • averageCurrent · double
  • peakCurrent · double
  • cycleCount · int
  • isAnomalySuggested · bool
  • anomalyScore · double?
  • anomalyReason · string
  • modelVersion · string
  • baselineMean · double?
  • baselineStd · double?
  • anomalyDecisionLabel · string
  • anomalyDecisionAction · string
  • anomalyDecisionConfidence · decimal?
  • anomalyDecisionReason · string
  • anomalyPatternId · Guid?
  • estimatedNextService · DateTime?
  • currentSignature · PublicApiMovementSignatureDto?
GET/api/v1/devices/{deviceId}/movements/{movementId}/signature

Required scope movements.read

Parameters

  • deviceId · Path · string
  • movementId · Path · Guid

Successful response 200 PublicApiMovementSignatureDto

Response fields

  • movementId · Guid
  • deviceId · string
  • start · DateTime
  • stop · DateTime
  • sampleCount · int?
  • medianSampleIntervalMs · double?
  • averageCurrent · double?
  • peakCurrent · double?
  • currentAreaAmpSeconds · double?
  • currentRms · double?
  • currentStdDev · double?
  • startupSlopeAmpPerSecond · double?
  • earlyMeanCurrent · double?
  • plateauMeanCurrent · double?
  • endMeanCurrent · double?
  • observedDurationSeconds · double?
  • highLoadDurationSeconds · double?
  • peakHoldDurationSeconds · double?
  • lowLoadTailDurationSeconds · double?
  • rampDownSlopeAmpPerSecond · double?
  • currentP10 · double?
  • currentP50 · double?
  • currentP90 · double?
  • clippedSampleRatio · double?
  • shapeJson · string
GET/api/v1/devices/{deviceId}/pointguard/cycles

Required scope telemetry.read

Parameters

  • deviceId · Path · string
  • from · Query · DateTime?
  • to · Query · DateTime?
  • fromUtc · Query · DateTime?
  • toUtc · Query · DateTime?
  • pageSize · Query · int · Default 500
  • cursor · Query · string? · Default null

Successful response 200 PublicApiPage<PublicApiPointGuardCycleDto>

Response fields

  • deviceId · string
  • cycleId · string
  • start · DateTime
  • stop · DateTime
  • samples · int
  • cycleDurationMs · int?
  • cycleSampleCount · int?
  • averageCurrent · double?
  • peakCurrent · double?
  • minCurrent · double?
GET/api/v1/devices/{deviceId}/pointguard/cycles/{cycleId}/samples

Required scope telemetry.read

Parameters

  • deviceId · Path · string
  • cycleId · Path · string
  • pageSize · Query · int · Default 500
  • cursor · Query · string? · Default null

Successful response 200 PublicApiPage<PublicApiTelemetryDto>

Response fields

  • deviceId · string
  • stamp · DateTime
  • latitude · decimal
  • longitude · decimal
  • temperature · double
  • humidity · double
  • batteryVoltage · double
  • batteryCurrent · double
  • batteryPercentage · double
  • current · double
  • signalQuality · double
  • railTemperature · double
  • tiltX · double
  • tiltY · double
  • tiltZ · double
  • description · string
  • telemetryType · int?
  • cycleId · string
  • cycleSampleIndex · int?
  • cycleSampleOffsetMs · int?
  • cycleDurationMs · int?
  • cycleSampleCount · int?
  • schemaVersion · string
  • pressure1Bar · double?
  • pressure2Bar · double?
  • endStop1 · bool?
  • endStop2 · bool?

Impact Mapping

Read and manage dependencies, business capabilities, impact analysis and imports.

GET/api/v1/impact-mapping/relationship-types

Required scope impact_mapping.read · Impact Mapping license required

Successful response 200 IReadOnlyList<PublicApiImpactRelationshipTypeDto>

Response fields

  • id · int
  • name · string
  • description · string?
  • directionLabel · string?
  • reverseLabel · string?
  • isSystemDefault · bool
GET/api/v1/impact-mapping/relationships

Required scope impact_mapping.read · Impact Mapping license required

Parameters

  • assetId · Query · Guid

Successful response 200 PublicApiPage<PublicApiImpactRelationshipDto>

Response fields

  • id · Guid
  • sourceAssetId · Guid
  • sourceAssetName · string?
  • targetAssetId · Guid
  • targetAssetName · string?
  • relationshipTypeId · int
  • relationshipTypeName · string?
  • impactLevel · int
  • isBlockingDependency · bool
  • hasRedundancy · bool
  • failureImpactDescription · string?
  • estimatedDowntimeCostPerHour · decimal?
  • notifyRole · string?
  • notifyEmail · string?
  • notes · string?
POST/api/v1/impact-mapping/relationships

Required scope impact_mapping.write · Impact Mapping license required

JSON request body PublicApiCreateImpactRelationshipRequest

Successful response 201 CreatedId

PUT/api/v1/impact-mapping/relationships/{relationshipId}

Required scope impact_mapping.write · Impact Mapping license required

Parameters

  • relationshipId · Path · Guid

JSON request body PublicApiCreateImpactRelationshipRequest

Successful response 204

DELETE/api/v1/impact-mapping/relationships/{relationshipId}

Required scope impact_mapping.write · Impact Mapping license required

Parameters

  • relationshipId · Path · Guid

Successful response 204

GET/api/v1/impact-mapping/business-capabilities

Required scope impact_mapping.read · Impact Mapping license required

Successful response 200 PublicApiPage<PublicApiBusinessCapabilityDto>

Response fields

  • id · Guid
  • name · string
  • description · string?
  • criticalityLevel · int
  • estimatedDowntimeCostPerHour · decimal?
  • ownerName · string?
  • ownerEmail · string?
POST/api/v1/impact-mapping/business-capabilities

Required scope impact_mapping.write · Impact Mapping license required

JSON request body PublicApiCreateBusinessCapabilityRequest

Successful response 201 CreatedId

PUT/api/v1/impact-mapping/business-capabilities/{businessCapabilityId}

Required scope impact_mapping.write · Impact Mapping license required

Parameters

  • businessCapabilityId · Path · Guid

JSON request body PublicApiCreateBusinessCapabilityRequest

Successful response 204

DELETE/api/v1/impact-mapping/business-capabilities/{businessCapabilityId}

Required scope impact_mapping.write · Impact Mapping license required

Parameters

  • businessCapabilityId · Path · Guid

Successful response 204

POST/api/v1/impact-mapping/business-capability-links

Required scope impact_mapping.write · Impact Mapping license required

JSON request body PublicApiLinkAssetCapabilityRequest

Successful response 204

PUT/api/v1/impact-mapping/business-capability-links/{linkId}

Required scope impact_mapping.write · Impact Mapping license required

Parameters

  • linkId · Path · Guid

JSON request body PublicApiUpdateAssetCapabilityLinkRequest

Successful response 204

DELETE/api/v1/impact-mapping/business-capability-links/{linkId}

Required scope impact_mapping.write · Impact Mapping license required

Parameters

  • linkId · Path · Guid

Successful response 204

GET/api/v1/impact-mapping/asset-capabilities

Required scope impact_mapping.read · Impact Mapping license required

Parameters

  • assetId · Query · Guid

Successful response 200 PublicApiPage<PublicApiAssetCapabilityLinkDto>

Response fields

  • id · Guid
  • assetId · Guid
  • assetName · string?
  • businessCapabilityId · Guid
  • businessCapabilityName · string?
  • criticalityLevel · int
  • impactLevel · int
  • isEssential · bool
  • notes · string?
GET/api/v1/impact-mapping/analysis/{assetId}

Required scope impact_mapping.read · Impact Mapping license required

Parameters

  • assetId · Path · Guid
  • maxDepth · Query · int · Default 5

Successful response 200 PublicApiImpactAnalysisDto

Response fields

  • rootAssetId · Guid
  • rootAssetName · string
  • impactedAssets · IReadOnlyList<PublicApiImpactedAssetDto>
  • impactedCapabilities · IReadOnlyList<PublicApiImpactedCapabilityDto>
  • maxImpactLevel · int
  • estimatedTotalDowntimeCostPerHour · decimal
  • recommendation · PublicApiImpactRecommendationDto?
GET/api/v1/impact-mapping/analysis/{assetId}/graph

Required scope impact_mapping.read · Impact Mapping license required

Parameters

  • assetId · Path · Guid
  • maxDepth · Query · int · Default 5

Successful response 200 PublicApiImpactGraphDto

Response fields

  • rootAsset · PublicApiImpactGraphRootDto
  • nodes · IReadOnlyList<PublicApiImpactGraphNodeDto>
  • links · IReadOnlyList<PublicApiImpactGraphLinkDto>
  • summary · PublicApiImpactGraphSummaryDto
  • recommendation · PublicApiImpactRecommendationDto?
POST/api/v1/impact-mapping/import/validate

Required scope impact_mapping.write · Impact Mapping license required

JSON request body PublicApiImpactMappingImportRequest

Successful response 200 PublicApiImpactMappingImportResponse

Response fields

  • committed · bool
  • validRows · int
  • skippedRows · int
  • businessFunctions · int
  • relationships · int
  • assetBusinessFunctionLinks · int
  • rows · IReadOnlyList<PublicApiImpactMappingImportRowResultDto>
POST/api/v1/impact-mapping/import/commit

Required scope impact_mapping.write · Impact Mapping license required

JSON request body PublicApiImpactMappingImportRequest

Successful response 200 PublicApiImpactMappingImportResponse

Response fields

  • committed · bool
  • validRows · int
  • skippedRows · int
  • businessFunctions · int
  • relationships · int
  • assetBusinessFunctionLinks · int
  • rows · IReadOnlyList<PublicApiImpactMappingImportRowResultDto>

Response and error handling

400
Invalid request, missing required value or invalid date window. Check the operation’s parameters.
401
Missing or invalid API key. Check the configured environment and organization key.
403
The required scope or license is missing. Request access from your organization’s administrator.
404
The requested record is unavailable or not found in the organization context.
503
The customer or parts data source is temporarily unavailable. Retry later; this response is not an empty successful export.
Public API documentation | Sepolo