Skip to main content

Download Contract

Returns a signed download URL for a contract’s original file. The URL expires in 1 hour.

Request

GET /v1/contracts/{contract_id}/download

Path Parameters

ParameterTypeRequiredDescription
contract_idstringYesThe contract ID

Query Parameters

ParameterTypeRequiredDefaultDescription
projectIdUUIDYesThe project the contract belongs to

Headers

HeaderRequiredDescription
AuthorizationYesBearer <token> — must be scoped to the requested project

Response

{
  "data": {
    "url": "https://storage.example.com/contracts/contract.pdf?token=...",
    "fileName": "contract.pdf",
    "fileType": "application/pdf",
    "expiresIn": 3600
  }
}
FieldTypeDescription
urlstringPre-signed download URL
fileNamestringOriginal file name
fileTypestringMIME type of the file
expiresInintegerURL expiration time in seconds

Errors

StatusDescription
400Missing or invalid projectId
403Token is not scoped to the requested project
404Contract not found
429Rate limit exceeded

Example

curl "https://api.royaltyport.com/v1/contracts/contract-123/download?projectId=a1b2c3d4-..." \
  -H "Authorization: Bearer rp_your_token_here"