{"command":{"effect":"write","timeoutSeconds":30,"inputSchema":{"type":"object","description":"Creates a direct upload endpoint that allows an end-user to upload a video without an API key.","properties":{"path":{"type":"object","properties":{"account_id":{"$ref":"#/definitions/stream_account_identifier"}},"required":["account_id"],"additionalProperties":false},"headers":{"type":"object","properties":{"Upload-Creator":{"$ref":"#/definitions/stream_creator"}},"required":[],"additionalProperties":false},"body":{"$ref":"#/definitions/stream_direct_upload_request"}},"required":["path","body"],"additionalProperties":false,"definitions":{"stream_account_identifier":{"description":"The account identifier tag.","type":"string","maxLength":32,"examples":["023e105f4ecef8ad9ca31a8372d0c353"]},"stream_creator":{"description":"A user-defined identifier for the media creator.","type":"string","maxLength":64,"examples":["creator-id_abcde12345"]},"stream_direct_upload_request":{"type":"object","properties":{"allowedOrigins":{"$ref":"#/definitions/stream_allowedOrigins"},"creator":{"$ref":"#/definitions/stream_creator"},"expiry":{"description":"The date and time after upload when videos will not be accepted.","type":"string","format":"date-time","default":"Now + 30 minutes","examples":["2021-01-02T02:20:00Z"]},"maxDurationSeconds":{"$ref":"#/definitions/stream_maxDurationSeconds"},"meta":{"$ref":"#/definitions/stream_media_metadata"},"requireSignedURLs":{"$ref":"#/definitions/stream_requireSignedURLs"},"scheduledDeletion":{"$ref":"#/definitions/stream_scheduledDeletion"},"thumbnailTimestampPct":{"$ref":"#/definitions/stream_thumbnailTimestampPct"},"watermark":{"$ref":"#/definitions/stream_watermark_at_upload"}},"required":["maxDurationSeconds"]},"stream_allowedOrigins":{"description":"Lists the origins allowed to display the video. Enter allowed origin domains in an array and use `*` for wildcard subdomains. Empty arrays allow the video to be viewed on any origin.","type":"array","items":{"type":"string"},"examples":[["example.com"]]},"stream_maxDurationSeconds":{"description":"The maximum duration in seconds for a video upload. Can be set for a video that is not yet uploaded to limit its duration. Uploads that exceed the specified duration will fail during processing. A value of `-1` means the value is unknown.","type":"integer","maximum":36000,"minimum":1},"stream_media_metadata":{"description":"A user modifiable key-value store used to reference other systems of record for managing videos.","type":"object","examples":[{"name":"video12345.mp4"}]},"stream_requireSignedURLs":{"description":"Indicates whether the video can be a accessed using the UID. When set to `true`, a signed token must be generated with a signing key to view the video.","type":"boolean","default":false,"examples":[true]},"stream_scheduledDeletion":{"description":"Indicates the date and time at which the video will be deleted. Omit the field to indicate no change, or include with a `null` value to remove an existing scheduled deletion. If specified, must be at least 30 days from upload time.","type":"string","format":"date-time","examples":["2014-01-02T02:20:00Z"]},"stream_thumbnailTimestampPct":{"description":"The timestamp for a thumbnail image calculated as a percentage value of the video's duration. To convert from a second-wise timestamp to a percentage, divide the desired timestamp by the total duration of the video.  If this value is not set, the default thumbnail image is taken from 0s of the video.","type":"number","default":0,"maximum":1,"minimum":0,"examples":[0.529241]},"stream_watermark_at_upload":{"type":"object","properties":{"uid":{"description":"The unique identifier for the watermark profile.","type":"string","maxLength":32,"examples":["ea95132c15732412d22c1476fa83f27a"]}}}}},"name":"Upload videos via direct upload URLs","id":"cloudflare.stream-videos-upload-videos-via-direct-upload-ur-ls","example":{"path":{"account_id":"023e105f4ecef8ad9ca31a8372d0c353"},"body":{"maxDurationSeconds":1}},"maxRequests":1,"summary":false}}