Skip to main content
royaltyport contracts upload <project_id> [file_path]
Uploads a contract PDF to a project for processing. You can provide either a local file path or base64-encoded content.

Arguments

ArgumentRequiredDescription
project_idYesThe project UUID
file_pathNoPath to the PDF file

Options

OptionShortDescription
--base64 <string>Base64-encoded file content (alternative to file_path)
--file-name <name>File name (required with --base64)
--extractions <list>Comma-separated list of extraction types to run after upload

Extraction Types

ExtractionDescription
extract-accounting-periodAccounting period definitions
extract-assetsAsset references
extract-commitmentsCommitment clauses
extract-compensationsCompensation terms
extract-control-areasControl area definitions
extract-costsCost provisions
extract-creative-approvalsCreative approval clauses
extract-datesKey dates (effective, termination, etc.)
extract-royaltiesRoyalty terms
extract-signaturesSignature information
extract-splitsRevenue split information
extract-targetsTarget and threshold clauses

Behavior

  • You must provide either file_path or --base64, but not both
  • When using --base64, --file-name is required
  • --extractions is optional — when omitted, the default extraction pipeline runs after staging completes
  • On success, prints the staging ID and a hint to track progress with royaltyport contracts status

Output

Prints a table with upload details:
FieldDescription
Staging IDUnique identifier for tracking processing progress
Staging StageCurrent processing stage (queued, processing, completed, failed)
Staging DoneWhether staging (pre-processing) has completed
Extractions DoneWhether all extractions have completed
Created AtUpload timestamp

Examples

Upload a local file:
royaltyport contracts upload a1b2c3d4-e5f6-7890-abcd-ef1234567890 ./contract.pdf
Upload with specific extractions:
royaltyport contracts upload a1b2c3d4-e5f6-7890-abcd-ef1234567890 ./contract.pdf \
  --extractions "extract-royalties,extract-dates,extract-signatures"
Upload base64-encoded content:
royaltyport contracts upload a1b2c3d4-e5f6-7890-abcd-ef1234567890 \
  --base64 "JVBERi0xLjQK..." \
  --file-name "contract.pdf"