Skip to main content

Ramps & Docks

The lake has two types of access points:
  • Ramps: Where artifacts enter the lake (for distributors)
  • Docks: Where artifacts leave the lake (for collectors)

Ramps

A ramp is an authenticated connection that allows distributors to upload artifacts into the lake.

What Distributors Do at Ramps

  1. Authenticate using API credentials
  2. Select Artifact Type template
  3. Provide Lock Values (metadata for the document)
  4. Set Weights & Threshold for access control
  5. Upload Content (the actual file)

Ramp Example

A distributor uploads an insurance declaration:
POST /api/v1/ramp/artifacts
{
  "template_id": "uuid-of-insurance-declaration-template",
  "locks": {
    "policy_number": { "value": "POL-12345678", "weight": 20 },
    "effective_date": { "value": "2026-03-15", "weight": 10 },
    "mortgagee_name": { "value": "FirstCity Bank", "weight": 5 }
  },
  "threshold": 20,
  "content": "<base64-encoded-file>"
}

Key Ramp Concepts

ConceptDescription
Ramp IDUnique identifier for each ramp
Distributor IDWho owns this ramp
API KeysAuthentication credentials
Rate LimitsUpload throttling

Docks

A dock is an authenticated connection that allows collectors to retrieve artifacts from the lake.

What Collectors Do at Docks

  1. Authenticate using API credentials
  2. Search for artifacts by lock type values
  3. Present Keys for lock types they have access to
  4. Retrieve artifacts if score ≥ threshold

Dock Example

A collector searches for insurance declarations:
POST /api/v1/dock/search
{
  "locks": {
    "policy_number": "POL-12345678"
  }
}
If the collector has the matching key (policy number), they get access.

Key Dock Concepts

ConceptDescription
Dock IDUnique identifier for each dock
Collector IDWho owns this dock
API KeysAuthentication credentials
Lock PermissionsWhich lock types they can use

Distributor vs. Collector Flow

Key Differences

AspectRampDock
PurposeUpload artifactsRetrieve artifacts
ActionPush into lakeFish from lake
Required InfoTemplate, locks, weights, contentSearch criteria, keys
ResultArtifact stored in lakeArtifact returned
AuthenticationDistributor credentialsCollector credentials

Authentication

Both ramps and docks use API key authentication:
# Ramp (Distributor)
curl -X POST https://api.docyard.io/v1/ramp/artifacts \
  -H "X-API-Key: distributor_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

# Dock (Collector)
curl -X POST https://api.docyard.io/v1/dock/search \
  -H "X-API-Key: collector_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{ ... }'

Rate Limits

Endpoint TypeDefault LimitNotes
Ramp (Upload)100 requests/minuteFor artifact uploads
Dock (Search)300 requests/minuteFor searches
Dock (Retrieve)100 requests/minuteFor retrievals

Next Steps