Bundles

Submit files and/or URLs for compliance review

Step 2 of submission. Provide file_ids (registered via POST /v1/files), urls (web links), or both — at least one is required. Workflow: (1) Ask the user if they have supporting documents (scripts, briefs, disclaimers). If yes, register each with register_file using purpose: supporting_doc and include the file_ids in supporting_doc_file_ids. (1a) If supporting documents were attached, ask whether the assets should be checked against one of them for discrepancies. If yes, set run_discrepancy_analysis: true (and discrepancy_doc_file_id when more than one document is attached). (2) Call get_options to get allowed values for product_lines, business_units, company_departments, distribution_selection, and custom_trigger_fields — present them to the user as a list for multi-selection. (3) Submit the bundle. Submissions with values not in the allowed lists are rejected with 422.

post/v1/bundles

Request

  • Base URL: https://api.blee.com
  • URL: https://api.blee.com/v1/bundles
  • Auth: HTTP bearer

Request body

namestring

Human-readable name for this review bundle. Placeholder field: it is echoed back in the immediate submission response but is not persisted, so GET /v1/bundles/{bundle_id} always returns name: null.

external_refstring nullable

Optional partner-supplied bundle reference (e.g. an MRF Record ID). Set once at bundle creation — it is persisted with every member of the bundle and echoed back on GET /v1/bundles/{bundle_id}, PATCH responses, and GET /v1/assets/{asset_id}. Round-trip only; not queryable. Trimmed before storage; empty or whitespace-only values are stored as null. PATCH does not accept this field (it is inherited from the existing bundle).

file_idsstring[]

File IDs returned by POST /v1/files (purpose: primary). At least one of file_ids or urls must be provided.

urlsstring[]

HTTP/HTTPS URLs to submit for compliance review. Can be combined with file_ids in the same bundle. At least one of file_ids or urls must be provided.

supporting_doc_file_idsstring[]

File IDs of supporting documents to attach to this review (scripts, briefs, legal disclaimers, specs, etc.). Always ask the user: 'Do you have any supporting documents to attach, such as a script, brief, or legal disclaimer?' If yes, call register_file with purpose: supporting_doc for each one, upload the bytes to the signed_url, then include the returned file_ids here. Applied to all assets in the bundle.

run_discrepancy_analysisboolean

Compare every asset in this bundle against one of the attached supporting documents and record the differences as discrepancies. Requires at least one supporting_doc_file_ids entry. Defaults to false. Ask the user: 'Should I check these assets against the supporting document for discrepancies?'

discrepancy_doc_file_idstring

Which supporting document to compare against — must be one of supporting_doc_file_ids. Required when more than one supporting document is attached and run_discrepancy_analysis is true; with a single supporting document it is inferred. Implies run_discrepancy_analysis: true.

Example request

{
  "external_ref": "MRF-12345",
  "subject": {
    "email": "user@company.com"
  },
  "file_ids": [
    "uuid-1",
    "uuid-2"
  ],
  "urls": [
    "https://www.example.com/ad-landing-page",
    "https://docs.google.com/document/d/..."
  ],
  "supporting_doc_file_ids": [
    "uuid-3"
  ],
  "run_discrepancy_analysis": true,
  "discrepancy_doc_file_id": "uuid-3",
  "metadata": {
    "due_date": "2026-06-01T00:00:00Z",
    "expiration_date": "2026-12-31T00:00:00Z",
    "distribution_selection": [
      "SOCIAL_MEDIA",
      "EMAIL"
    ]
  }
}

Response

Bundle accepted. files and urls list accepted assets; failed_files and failed_urls list any assets that could not be submitted (empty when all assets succeeded).

bundle_idstring required
namestring nullable required

Placeholder field. Bundle names are not persisted; this echoes the submitted name on POST only. GET /v1/bundles/{bundle_id} always returns null.

external_refstring nullable required

Echo of the partner-supplied external_ref from the request body. null when none was provided. Round-trips on subsequent GET / PATCH responses.

status'analyzing' required
dashboard_urlstring required
created_atstring required
poll_interval_secondsinteger required

Changes

No recorded changes to this operation across all 1 revision of this API.