Lolly
Deschide aplicația

Canto (kind: canto)

Notă: Lolly Work

This guide covers the optional organisation service. Configuration, console and API paths refer to your Work instance. The packaged console keeps its release-matched copy of this guide.

Federate a Canto DAM read-only. Canto acquired Image Relay in September 2024, so this kind serves two populations: native Canto tenants leaving at contract end, and Image Relay tenants the vendor migration has already carried across. Either way the destination is your own store (Off-boarding). OAuth2 (BYOT) - see the shared OAuth onboarding.

What you need from Canto

Credential shape

One sealed OAuth JSON blob. clientId/clientSecret are the App ID and Secret Canto support issued you, and refreshToken is the grant against them:

{ "clientId": "…", "clientSecret": "…", "refreshToken": "…" }
lw providers credential acme-canto     # prompts for the blob; never argv, never shell history

Capture that refresh token by running Canto's own documented OAuth2 authorization-code flow once by hand against the App ID/Secret support issued you. No consent flow is registered for this kind, so lw providers auth refuses it: see the shared OAuth onboarding.

instance.json / lw providers add

{
  "id": "acme-canto",
  "kind": "canto",
  "label": "Acme Canto",
  "options": { "tenant": "acme", "domain": "com", "albumId": "AB12C" },
  "mapping": { "availabilityFields": { "until": "Expiry Date" } },
  "exposure": { "groups": ["marketing"], "requireApproved": true }
}

Verify

lw providers preview --kind canto --options '{"tenant":"acme"}'   # dry run, nothing stored
lw providers credential acme-canto
lw providers health acme-canto
ErrorMeaning
oauth token refresh failed (401)App ID/Secret or refresh token wrong, or the grant revoked - re-capture the credential
oauth token refresh failed (400)the token endpoint rejects the request shape; re-capturing cannot fix it - the runbook's row 2a says what to edit
canto api 401token exchange worked, tenant rejected the access token
canto api 403tenant refused the call - most often API access is not on the contract tier
canto url outside allowed hostsa baseUrl or tokenUrl override points off the Canto family

With a real tenant in hand, run the Canto live-verify runbook: the ordered pass that confirms every guessed endpoint and field name, and which constant to edit when one is wrong.

Notes / limits

Off-boarding

An exit target - the acquisition-tier one.

Kind-specific: expiry rides mapping.availabilityFields (above) and approval rides options.approvedStates, so both are lolly-side config that survives a re-point. Coming from Image Relay, which driver you exit through depends on where the vendor migration has put your tenant - the fork matrix in the playbook covers all four cases. The driver is fixture-verified, so read the first materialize as verification: it checksums every format, and a truncated or substituted stream fails loudly rather than landing quietly.

Motion, cadence and the per-DAM readiness table: off-boarding.

See also: OAuth onboarding · catalog · permissions.