A contract is the schema baseline that DriftOps compares incoming files against. It stores the field structure extracted from a representative sample document.
Creating a contract
- Go to Contracts and click New Contract.
- Provide a name. Names must be unique within your organization.
- Paste JSON directly or upload a file. DriftOps extracts the schema automatically.
- Optionally add a description, vendor name, and tags.
- Click Save.
The schema is stored as a JSONB structure representing field names, types, and nesting. The raw source file is not stored, only the extracted schema.
Supported formats
| Format | Notes |
|---|---|
| JSON | Any nested object or array structure |
| EDI X12 | Parsed to segment-element key-value pairs |
| XML | Field extraction from element tree |
| Flat key-value | Period-delimited or nested flat structures |
When you upload an EDI file, DriftOps uses the X12 segment parser to convert it to a JSON-comparable structure before storing.
Tags and vendors
A plain text label for grouping contracts by trading partner. Indexed for fast filtering. One vendor per contract.
Categorized labels (e.g. “Vendor”, “Document Type”, “Environment”). Multiple tags per contract. Filter the contracts list by any tag.
Example: a contract named Target 856 ASN might have vendor Target and tags 856, ASN, Production.
Version history
Every time you save changes to a contract schema, DriftOps stores the previous version. Versions are numbered sequentially starting at 1.
Each version records:
- The full schema at that point in time
- A change summary (optional)
- Which fields were accepted or rejected in that version
- Who made the change and when
- Change type:
manual,auto_import,revert, orimport
To view version history, open a contract and click History. You can compare any two versions or revert to a previous version.
When a drift event is resolved by accepting the drift, the contract schema updates and a new version is saved automatically.
Export destinations
Each contract can have one or more export destinations. When a drift event is created for that contract, DriftOps can automatically export the event data to the configured destinations.
Supported destination types: s3, azure, gcp, sftp, webhook.
Export destinations are configured under the contract’s settings tab. Each destination has a name, type, and type-specific configuration.
Export attempts are logged with status (pending, success, failed), retry count, and any error messages.
Limits
| Tier | Contract limit |
|---|---|
| Free | 3 |
| Starter | 25 |
| Team | 75 |
| Pro | 500 |
When you reach the limit, new contract creation is blocked. To increase the limit, upgrade your plan from Settings > Billing.