WP DEPRECATED: usa solo DAM TS (polosaas DAM STG)mode: standalonetenant: tenant_ownerenv: STGarea: DAMauth: unknownstack: nest+next
DAMPoloSaaS DAM

Integration Catalog

Endpoint ufficiali DAM ingest (clicca endpoint per specifiche)

Catalogo operativo per integrare qualsiasi form di upload (interno o esterno) via API DAM, con configurazione da control panel.
EndpointServiceAuth
POST/api/v1/dam/uploads/file/presign
Presign upload for a new asset
Allocate storage key + presigned URL for direct browser upload to Wasabi.
ParamInRequiredDescription
filenamebodyyesOriginal file name.
mimebodyyesSource MIME type.
bytesbodynoExpected payload size in bytes.
sha256bodynoOptional content hash for upload integrity.
Operational notes
  1. Call before uploading binary data.
  2. Use returned presigned URL to upload directly to Wasabi.
  3. Pass returned storage key to commit endpoint.
cURL
curl -X POST '$BASE/api/v1/dam/uploads/file/presign' -H 'content-type: application/json' -d '{"filename":"hero.png","mime":"image/png"}'
polo-saas-apisession (oauth2-proxy headers)
POST/api/v1/dam/uploads/file
Commit upload for a new asset
Create asset + version record and enqueue async ingest pipeline.
ParamInRequiredDescription
external_storage_keybodyyesWasabi key produced by presign.
source_namebodyyesOriginal source file name.
mimebodyyesSource MIME type.
bytesbodyyesUploaded byte size.
ingest_profile_keybodynoIngest profile key for preview policy.
customer_key / project_key / subproject_keybodynoRouting metadata for DAM workflow.
source_form / source_channel / source_urlbodynoSource workflow metadata for traceability.
Operational notes
  1. Call only after successful upload to Wasabi.
  2. On success status starts from draft and moves through pipeline.
  3. Current target status after ingest completion is ready_for_tagging.
cURL
curl -X POST '$BASE/api/v1/dam/uploads/file' -H 'content-type: application/json' -d '{"external_storage_key":"dam/AA000AA/AA000AA_v1_ab12cd.png","source_name":"hero.png","mime":"image/png","bytes":183921}'
polo-saas-apisession (oauth2-proxy headers)
POST/api/v1/dam/assets/:id/files/presign
Presign upload for new version on existing asset
Allocate upload slot for a new file/version under an existing asset.
ParamInRequiredDescription
idpathyesTarget asset id.
filenamebodyyesIncoming file name.
mimebodyyesIncoming MIME type.
version_indexbodynoOptional deterministic version slot.
Operational notes
  1. Use when uploading a new variant/version on an existing asset.
  2. Follow with commit endpoint for the same asset id.
cURL
curl -X POST '$BASE/api/v1/dam/assets/123/files/presign' -H 'content-type: application/json' -d '{"filename":"hero_v2.jpg","mime":"image/jpeg"}'
polo-saas-apisession (oauth2-proxy headers)
POST/api/v1/dam/assets/:id/files
Commit new version on existing asset
Finalize version ingest for an existing asset and queue derivative jobs.
ParamInRequiredDescription
idpathyesTarget asset id.
external_storage_keybodyyesWasabi key from presign/upload.
source_namebodyyesSource file name.
mimebodyyesSource MIME.
bytesbodyyesUploaded byte size.
Operational notes
  1. Use for manual versioning on the same asset.
  2. Storage layout follows dam/{asset_code}/{asset_code}_v{n}_{token}.{ext}.
cURL
curl -X POST '$BASE/api/v1/dam/assets/123/files' -H 'content-type: application/json' -d '{"external_storage_key":"dam/AA000AA/AA000AA_v2_82ac19.jpg","source_name":"hero_v2.jpg","mime":"image/jpeg","bytes":285004}'
polo-saas-apisession (oauth2-proxy headers)
GET/api/v1/dam/ingest/profiles
List ingest profiles
Read configurable ingest/rendition profiles used by forms and defaults.
ParamInRequiredDescription
Operational notes
  1. Used by DAM control panel and admin tooling.
  2. Profiles define web and thumbnail formats/sizes.
cURL
curl '$BASE/api/v1/dam/ingest/profiles'
polo-saas-apiadmin session
GET/api/v1/dam/ingest/profiles/enabled
List enabled ingest profiles
Return only enabled profiles for upload forms and defaults.
ParamInRequiredDescription
Operational notes
  1. Use this endpoint for uploader profile dropdowns.
  2. Avoid filtering manually on client side.
cURL
curl '$BASE/api/v1/dam/ingest/profiles/enabled'
polo-saas-apiadmin session
POST/api/v1/dam/ingest/profiles
Create or upsert ingest profile by key
Create/update profile by stable profile_key.
ParamInRequiredDescription
profile_keybodyyesStable profile key.
labelbodynoUI label.
descriptionbodynoOperational notes.
enabledbodynoEnable profile for uploads.
is_defaultbodynoSet as default profile.
settingsbodynoPreview/source settings payload.
Operational notes
  1. Use when profile id is not known yet.
  2. Prefer PATCH /:id for targeted edits on existing profile ids.
cURL
curl -X POST '$BASE/api/v1/dam/ingest/profiles' -H 'content-type: application/json' -d '{"profile_key":"default_web","label":"Default Web","enabled":true}'
polo-saas-apiadmin session
PATCH/api/v1/dam/ingest/profiles/:id
Update ingest profile
Change profile settings (web/thumb sizes, format, quality, flags).
ParamInRequiredDescription
idpathyesProfile id.
settings.preview.*bodyyesPreview blocks: medium, thumb_large, thumb_medium, thumb_small (legacy aliases web/thumb kept).
is_defaultbodynoPromote profile as default for new ingest.
Operational notes
  1. Use future-only for immediate new ingest behavior.
  2. Queue refresh separately when old assets must be regenerated.
cURL
curl -X PATCH '$BASE/api/v1/dam/ingest/profiles/1' -H 'content-type: application/json' -d '{"settings":{"preview":{"web":{"format":"webp","fit":"contain","width":1600,"height":1600,"quality":82}}}}'
polo-saas-apiadmin session
POST/api/v1/dam/ingest/control-panel/preview/apply
Apply preview policy to existing assets queue
Apply new preview dimensions with future-only or queue-existing mode.
ParamInRequiredDescription
modebodyyesfuture_only or queue_existing.
limitbodynoMax assets to enqueue when queue_existing.
payloadbodynoOptional metadata persisted into refresh queue jobs.
Operational notes
  1. future_only affects only new ingest.
  2. queue_existing inserts refresh jobs with queue dedupe.
cURL
curl -X POST '$BASE/api/v1/dam/ingest/control-panel/preview/apply' -H 'content-type: application/json' -d '{"mode":"queue_existing","limit":5000,"payload":{"reason":"preset_update"}}'
polo-saas-apiadmin session
GET/api/v1/dam/output-profiles
List print output profiles
Return tenant-scoped print output profile keys used for asset output files.
ParamInRequiredDescription
include_disabledquerynoInclude disabled custom entries when true.
Operational notes
  1. DAM owns these output profile keys and output files.
  2. PIM should reference DAM asset/version/output identifiers, not redefine these profiles.
cURL
curl '$BASE/api/v1/dam/output-profiles?include_disabled=1'
polo-saas-apisession (oauth2-proxy headers)
POST/api/v1/dam/output-profiles
Create or update print output profile
Upsert tenant-scoped output profile entries (technology label, preferred extension, aliases).
ParamInRequiredDescription
keybodyyesStable output profile key, for example cmyk or screen.
labelbodyyesHuman readable label.
code2bodyyesTwo-char code family.
extensionbodynoPreferred extension for output naming.
aliases[]bodynoAccepted aliases for matching.
enabledbodynoDisable without deleting history.
Operational notes
  1. Use this for DAM output formats/technologies, not for product taxonomy.
  2. Product-specific enablement belongs in PIM by reference to DAM output profiles.
cURL
curl -X POST '$BASE/api/v1/dam/output-profiles' -H 'content-type: application/json' -d '{"key":"cmyk","label":"Quadricromia","code2":"CM","extension":"pdf","aliases":["four_color"],"enabled":true}'
polo-saas-apiadmin session
GET/api/v1/dam/ingest/preview-mirror/jobs
List preview mirror queue jobs
Read mirror queue state for polo-preview sync.
ParamInRequiredDescription
statusquerynoFilter by queue status.
limitquerynoPage size.
Operational notes
  1. Use for diagnostics when preview files are missing.
  2. Queue states: queued, processing, retrying, done, dead_letter.
cURL
curl '$BASE/api/v1/dam/ingest/preview-mirror/jobs?status=retrying&limit=100'
polo-saas-apiadmin session
POST/api/v1/dam/ingest/preview-mirror/dispatch
Dispatch preview mirror workers
Trigger queue dispatch for preview mirror processing.
ParamInRequiredDescription
limitbodynoMax jobs to dispatch this run.
Operational notes
  1. Use when queue needs manual push in staging/testing.
  2. Normal production flow should be automated by worker scheduler.
cURL
curl -X POST '$BASE/api/v1/dam/ingest/preview-mirror/dispatch' -H 'content-type: application/json' -d '{"limit":200}'
polo-saas-apiadmin session
POST/api/v1/dam/ingest/preview/backfill-raster
Queue raster preview backfill
Backfill missing web/thumb previews for raster assets already stored.
ParamInRequiredDescription
limitbodynoMax assets scanned in this run.
only_missingbodynoWhen true, queue only assets with missing previews.
Operational notes
  1. Use after enabling preview generation on legacy assets.
  2. Run in controlled batches to avoid queue spikes.
cURL
curl -X POST '$BASE/api/v1/dam/ingest/preview/backfill-raster' -H 'content-type: application/json' -d '{"limit":500,"only_missing":true}'
polo-saas-apiadmin session