Endpoints
create_download_grant
Authorize a five-minute binary download of the exact current manifest. The original bearer is required at delivery.
Request
Authentication is required by the published contract.
curl -X POST 'https://api.ursy.cloud/v1/files/{file_id}/download-grants' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer YOUR_SERVICE_TOKEN'- Scopes
- Not specified by this operation
- Execution
- At the owning service
- Risk classification
- not declared
Parameters
file_id path · string requiredSee the accepted schema for constraints.
If-Match header · string requiredSee the accepted schema for constraints.
Idempotency-Key header · string requiredSee the accepted schema for constraints.
This operation is documented here. Use the owning service with the appropriate credentials and permissions to execute it.
Response schemas and request body
{
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": false
}
}
}
},
"responses": {
"200": {
"description": "Typed operation result; request_id correlates the request.",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": true,
"properties": {
"download": {
"type": "object",
"additionalProperties": false,
"properties": {
"id": {
"type": "string",
"pattern": "^dl_[a-f0-9]{32}$"
},
"file_id": {
"type": "string",
"pattern": "^file_[1-9][0-9]{0,14}$"
},
"version_id": {
"type": "string",
"pattern": "^ver_[1-9][0-9]*$"
},
"url": {
"type": "string"
},
"expires_at": {
"type": "string"
},
"size": {
"type": "integer",
"minimum": 1,
"maximum": 26214400
},
"sha256": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"authorization": {
"type": "string"
}
},
"required": [
"id",
"file_id",
"version_id",
"url",
"expires_at",
"size",
"sha256",
"authorization"
]
},
"request_id": {
"type": "string"
},
"replayed": {
"type": "boolean"
}
},
"required": [
"download"
]
}
}
}
},
"default": {
"description": "Stable error envelope. 401 invalid/expired/revoked grant; 403 missing scope; 404 unavailable resource; 409 plan/idempotency conflict; 412 stale ETag; 413 size/quota; 429 rate limit.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}