# Chunkify documentation > Integrate on-demand video streaming, transcoding, playback, and analytics into your application. [Website and product index](https://chunkify.dev/llms.txt) - [Current pricing](https://chunkify.dev/pricing.md) - [Integration skill](https://chunkify.dev/SKILL.md) - [Platform OpenAPI specification](https://chunkify.dev/docs/openapi.json) ## Platform - [Overview](https://chunkify.dev/docs/index.md): Add video uploads, streaming, playback, and transcoding to your application. - [Introduction](https://chunkify.dev/docs/formats/index.md): Learn to transcode with formats and codecs: MP4 (H.264, H.265, AV1), WebM (VP9), HLS, and JPG thumbnails. - [HLS](https://chunkify.dev/docs/formats/hls.md): Create HTTP live streaming with H.264, H.265, AV1 codecs. Learn manifest handling, keyframe configuration. - [JPG](https://chunkify.dev/docs/formats/jpg.md): Generate individual JPG images or sprite sheets with VTT files for video previews. - [MP4](https://chunkify.dev/docs/formats/mp4.md): Transcode videos to MP4 with H.264, H.265, or AV1 codecs. Configure encoding parameters for optimal quality. - [Per-title optimization](https://chunkify.dev/docs/formats/per-title.md): Automatically select video quality and bitrate settings for each source instead of using one fixed setting for every video. - [WebM](https://chunkify.dev/docs/formats/webm.md): Transcode videos to WebM format using VP9 codec. Configure encoding parameters for optimal quality. - [Get started](https://chunkify.dev/docs/integration/analytics/index.md): Add playback tracking to your player. - [Events and metrics](https://chunkify.dev/docs/integration/analytics/events.md): Playback event payloads and measurements. - [Send events](https://chunkify.dev/docs/integration/analytics/send-events.md): Send playback events to your analytics service. - [Overview](https://chunkify.dev/docs/integration/analytics/server/index.md): Store playback events and query analytics. - [API reference](https://chunkify.dev/docs/integration/analytics/server/api-reference.md): The Analytics Server API reference is coming soon. - [Configuration](https://chunkify.dev/docs/integration/analytics/server/configuration.md): Configure your Analytics Server. - [Chunkify dashboard](https://chunkify.dev/docs/integration/analytics/server/dashboard.md): View playback reports in Chunkify. - [Administration](https://chunkify.dev/docs/integration/analytics/server/maintenance.md): Manage your Analytics Server. - [Connect with MCP](https://chunkify.dev/docs/integration/analytics/server/mcp.md): Explore playback analytics with an AI client. - [Query reports](https://chunkify.dev/docs/integration/analytics/server/query-analytics.md): Query playback reports from your application. - [SDKs](https://chunkify.dev/docs/integration/analytics/server/sdk.md): Call the Analytics Server API from your application. - [Setup](https://chunkify.dev/docs/integration/analytics/server/setup.md): Set up your Analytics Server. - [Build with agents](https://chunkify.dev/docs/integration/chunkify-skill.md): Add video uploads, playback, and analytics to your application with a coding agent. - [Events](https://chunkify.dev/docs/integration/events.md): Find supported events and inspect their webhook delivery history. - [Metadata](https://chunkify.dev/docs/integration/metadata.md): Link video assets, uploads, sources, and jobs to your application records with custom metadata. - [Get started](https://chunkify.dev/docs/integration/player/index.md): Add Chunkify Player to your application and configure video playback. - [Customization](https://chunkify.dev/docs/integration/player/customize.md): Customize Chunkify Player colors, controls, layout, and templates. - [SDKs](https://chunkify.dev/docs/integration/sdk.md): Install an official Chunkify SDK and make your first API request. - [Get started](https://chunkify.dev/docs/integration/uploader/index.md): Add browser video uploads with file selection, progress, retries, and a customizable interface. - [Styles](https://chunkify.dev/docs/integration/uploader/customize.md): Style the uploader to match your application with CSS, Tailwind CSS, or CSS Modules. - [Events](https://chunkify.dev/docs/integration/uploader/events.md): Handle file selection, upload progress, completion, errors, and reset events in the browser. - [Setup](https://chunkify.dev/docs/integration/uploader/setup.md): Create upload sessions on your server and configure transfer modes, retries, and browser access. - [Webhooks](https://chunkify.dev/docs/integration/uploader/webhook.md): Receive upload completion and video streaming readiness on your application server. - [Video upload](https://chunkify.dev/docs/integration/video-upload.md): Upload videos to your storage and optionally prepare them for streaming. - [Overview](https://chunkify.dev/docs/integration/webhooks/index.md): Set up webhook notifications, verify their signatures, and test your integration. - [.created](https://chunkify.dev/docs/integration/webhooks/asset-created.md): A video asset was created and has entered preparation. - [.deleted](https://chunkify.dev/docs/integration/webhooks/asset-deleted.md): Payload for asset.deleted, with a snapshot of the deleted video asset and file cleanup result. - [.expired](https://chunkify.dev/docs/integration/webhooks/asset-expired.md): Payload for asset.expired, recorded when a video asset in Chunkify temporary storage expires. - [.failed](https://chunkify.dev/docs/integration/webhooks/asset-failed.md): Payload for asset.failed, recorded when required video asset processing fails. - [.created](https://chunkify.dev/docs/integration/webhooks/asset-output-created.md): Payload recorded when an output request is accepted. - [.deleted](https://chunkify.dev/docs/integration/webhooks/asset-output-deleted.md): Payload recorded when an output is deleted. - [.failed](https://chunkify.dev/docs/integration/webhooks/asset-output-failed.md): Payload recorded when output processing fails. - [.ready](https://chunkify.dev/docs/integration/webhooks/asset-output-ready.md): Payload recorded when an output becomes available. - [.playback_ready](https://chunkify.dev/docs/integration/webhooks/asset-playback-ready.md): Payload for asset.playback_ready, recorded when a video asset can start HLS playback. - [.ready](https://chunkify.dev/docs/integration/webhooks/asset-ready.md): Payload for asset.ready, recorded when playback, the poster, and timeline previews are ready. - [.cancelled](https://chunkify.dev/docs/integration/webhooks/job-cancelled.md): A legacy transcoding Job was cancelled. - [.completed](https://chunkify.dev/docs/integration/webhooks/job-completed.md): A legacy transcoding Job completed and produced files. - [.created](https://chunkify.dev/docs/integration/webhooks/job-created.md): A legacy transcoding Job was accepted for processing. - [.failed](https://chunkify.dev/docs/integration/webhooks/job-failed.md): A legacy transcoding Job failed. - [.created](https://chunkify.dev/docs/integration/webhooks/source-created.md): A Source was validated and saved. - [.deleted](https://chunkify.dev/docs/integration/webhooks/source-deleted.md): A Source was deleted. - [.completed](https://chunkify.dev/docs/integration/webhooks/upload-completed.md): An Upload completed and created a Source. - [.created](https://chunkify.dev/docs/integration/webhooks/upload-created.md): An Upload session was created and is waiting for completion. - [.expired](https://chunkify.dev/docs/integration/webhooks/upload-expired.md): An Upload session expired before completion. - [.failed](https://chunkify.dev/docs/integration/webhooks/upload-failed.md): An Upload failed. - [.cancelled](https://chunkify.dev/docs/integration/webhooks/workflow-run-cancelled.md): A Workflow run was cancelled. - [.completed](https://chunkify.dev/docs/integration/webhooks/workflow-run-completed.md): Every action in a Workflow run reached a terminal state. - [.created](https://chunkify.dev/docs/integration/webhooks/workflow-run-created.md): A Workflow run was created for a video asset. - [.failed](https://chunkify.dev/docs/integration/webhooks/workflow-run-failed.md): An action in a Workflow run failed. - [Migrate from Jobs](https://chunkify.dev/docs/migration.md): Move Jobs API code to Transcodings, Assets, and Thumbnails. - [Pricing](https://chunkify.dev/docs/pricing/index.md): Pricing and billing details for transcoding, captions, plans, and data transfer. - [Outputs and lifecycle](https://chunkify.dev/docs/thumbnails/lifecycle.md): Retrieve thumbnail files and manage their lifecycle. - [Generate thumbnails](https://chunkify.dev/docs/thumbnails/quickstart.md): Generate thumbnails from a video Source with an SDK. - [Introduction](https://chunkify.dev/docs/transcoders/index.md): Learn about transcoders for parallel processing and how to use them effectively for your workflow. - [CPU Usage](https://chunkify.dev/docs/transcoders/cpu-usage.md): Learn how CPU usage is calculated based on transcoder count and type. Plan limits and reservation system. - [Configuration](https://chunkify.dev/docs/transcoders/customization.md): Transcoder configuration guide. Automatic configuration and manual settings. - [How transcoding works](https://chunkify.dev/docs/transcoding/index.md): Convert a video or audio file into an MP4, WebM, or M4A file. - [Transcoding webhooks](https://chunkify.dev/docs/transcoding/events-and-webhooks.md): Find webhook setup and transcoding event documentation. - [Output formats](https://chunkify.dev/docs/transcoding/formats/index.md): Choose a standalone video or audio export and configure its encoding settings. - [Audio exports](https://chunkify.dev/docs/transcoding/formats/audio.md): Extract AAC audio from a video or audio Source and save it in an M4A file. - [MP4](https://chunkify.dev/docs/transcoding/formats/mp4.md): Encode an MP4 file with H.264, H.265, or AV1 and configure its video settings. - [WebM](https://chunkify.dev/docs/transcoding/formats/webm.md): Encode VP9 video and optional Opus audio into a WebM file. - [Lifecycle and files](https://chunkify.dev/docs/transcoding/lifecycle.md): Track progress and manage your files. - [Per-title optimization](https://chunkify.dev/docs/transcoding/per-title.md): Select video bitrate from the content while preserving your accepted output settings. - [Pricing](https://chunkify.dev/docs/transcoding/pricing.md): See transcode rates and how encoding settings affect the price. - [Create a transcode](https://chunkify.dev/docs/transcoding/quickstart.md): Create an H.264 MP4 transcode. - [How it works](https://chunkify.dev/docs/video-streaming/index.md): See how Chunkify prepares video assets for playback and creates HLS renditions on request. - [Workflows](https://chunkify.dev/docs/video-streaming/asset-workflow.md): Automate outputs for new video assets. - [Metrics](https://chunkify.dev/docs/video-streaming/metrics.md): Read processing and storage metrics. - [Outputs](https://chunkify.dev/docs/video-streaming/outputs.md): Find transcripts, captions, static renditions, and additional thumbnails produced for a video asset. - [Pricing](https://chunkify.dev/docs/video-streaming/pricing.md): See streaming preparation rates and the cost of optional outputs. - [Create your first video stream](https://chunkify.dev/docs/video-streaming/quickstart.md): Create a video asset and receive its playback URL with a webhook. - [Overview](https://chunkify.dev/docs/video-streaming/storage/index.md): Understand where Chunkify stores sources and outputs for video assets and transcoding jobs. - [Amazon S3](https://chunkify.dev/docs/video-streaming/storage/aws-s3.md): Connect an Amazon S3 bucket for source uploads and video outputs. - [Overview](https://chunkify.dev/docs/video-streaming/storage/cdn-delivery.md): Serve your video assets through a CDN. - [Cloudflare](https://chunkify.dev/docs/video-streaming/storage/cloudflare.md): Serve video files from R2 through a Cloudflare custom domain. - [Cloudflare R2](https://chunkify.dev/docs/video-streaming/storage/cloudflare-r2.md): Connect a Cloudflare R2 bucket for source uploads and video outputs. - [Amazon CloudFront](https://chunkify.dev/docs/video-streaming/storage/cloudfront.md): Serve video files from a private S3 bucket through CloudFront. - [Configure CORS](https://chunkify.dev/docs/video-streaming/storage/cors.md): Allow browser uploads and video playback from your application. - [Output paths](https://chunkify.dev/docs/video-streaming/storage/output-paths.md): Choose where video asset and Transcoding outputs go in your storage. - [S3-compatible storage](https://chunkify.dev/docs/video-streaming/storage/s3-compatible.md): Connect an S3-compatible bucket for source uploads and video outputs. - [How it works](https://chunkify.dev/docs/workflow.md): Create a Source, submit a transcoding Job, and receive webhook notifications. ## API Reference - [API reference](https://chunkify.dev/docs/api-reference/index.md): Find API endpoints, request parameters, and response formats. - [Create an Asset](https://chunkify.dev/docs/api-reference/assets/create-an-asset.md): Create an Asset from a video Source. Processing starts asynchronously. - [Create an Asset output](https://chunkify.dev/docs/api-reference/assets/create-an-asset-output.md): Create one caption, static rendition or additional thumbnail output. The accepted output processes asynchronously and is returned in the same envelope as output reads. - [Delete an Asset](https://chunkify.dev/docs/api-reference/assets/delete-an-asset.md): Delete an Asset after all processing finishes. Files remain in Storage unless delete_files is true. - [Delete an Asset output](https://chunkify.dev/docs/api-reference/assets/delete-an-asset-output.md): Delete one output belonging to this Asset and Project. Its type is resolved from the output ID. Type-specific processing and dependency restrictions still apply. - [Get a preview output](https://chunkify.dev/docs/api-reference/assets/get-a-preview-output.md): Retrieve a public preview playlist or timeline, or redirect to its poster. Follow the URLs returned by the Asset API. No API token is required. Signed media URLs expire within one hour; reload to refresh them. - [Get a preview playlist](https://chunkify.dev/docs/api-reference/assets/get-a-preview-playlist.md): Retrieve the public HLS playlist when preview access is enabled and playback is available. No API token is required. Signed media URLs expire within one hour; reload the playlist to refresh them. - [Get an Asset output](https://chunkify.dev/docs/api-reference/assets/get-an-asset-output.md): Retrieve one output belonging to the specified Asset and authenticated Project. Delivery URLs follow the output resource retention and expiry rules. - [List Asset outputs](https://chunkify.dev/docs/api-reference/assets/list-asset-outputs.md): List outputs requested directly or by a Workflow. Results are ordered by creation date, newest first, with descending output ID as a tie-breaker. Pagination and total apply after type and status filters. Core playback, poster and default timeline previews remain on the Asset. - [List Asset workflow actions](https://chunkify.dev/docs/api-reference/assets/list-asset-workflow-actions.md): List retained Workflow actions for an Asset, newest first. Direct output requests are excluded. - [List Assets](https://chunkify.dev/docs/api-reference/assets/list-assets.md): List Assets in the Project, with filtering and pagination. - [Retrieve an Asset](https://chunkify.dev/docs/api-reference/assets/retrieve-an-asset.md): Retrieve an Asset and its streaming, static, poster, and timeline outputs. - [Update an Asset](https://chunkify.dev/docs/api-reference/assets/update-an-asset.md): Update the title, metadata, or public preview access. Omitted fields remain unchanged. - [Update Asset workflow](https://chunkify.dev/docs/api-reference/assets/update-asset-workflow.md): Update a ready Asset to the latest revision of its selected Workflow. Existing outputs are preserved and missing outputs are created. - [Authentication](https://chunkify.dev/docs/api-reference/authentication.md): Authenticate API requests with a Project or Team access token. - [List events](https://chunkify.dev/docs/api-reference/events/list-events.md): List lifecycle events recorded with or without webhooks. Events and their deliveries expire according to the plan retention deadline. Historical notifications recorded before the event log remain available through Notifications. - [Retrieve an event](https://chunkify.dev/docs/api-reference/events/retrieve-an-event.md): Retrieve a retained event, its frozen payload, related resources, and up to 100 delivery attempts. No webhook configuration is required. - [Get Asset metrics](https://chunkify.dev/docs/api-reference/metrics/get-asset-metrics.md): Retrieve Asset outcomes, timings, output sizes and source profiles by UTC creation date. - [Get storage metrics](https://chunkify.dev/docs/api-reference/metrics/get-storage-metrics.md): Retrieve recorded additions and successful removals by storage and UTC date. Historical coverage depends on event retention. - [Get usage metrics](https://chunkify.dev/docs/api-reference/metrics/get-usage-metrics.md): Retrieve project usage totals and daily values for a UTC date range. - [Create a notification](https://chunkify.dev/docs/api-reference/notifications/create-a-notification.md): Send an event notification to a webhook endpoint. Recorded events replay their original payload. - [Delete a notification](https://chunkify.dev/docs/api-reference/notifications/delete-a-notification.md): Delete a notification. - [Get a single notification](https://chunkify.dev/docs/api-reference/notifications/get-a-single-notification.md): Retrieve details of a specific notification - [Get all notifications](https://chunkify.dev/docs/api-reference/notifications/get-all-notifications.md): Retrieve a list of notifications with optional filtering and pagination - [Create a new project](https://chunkify.dev/docs/api-reference/projects/create-a-new-project.md): Create a new project with the specified name. The project will be created with default Chunkify storage settings. - [Create an analytics connection](https://chunkify.dev/docs/api-reference/projects/create-an-analytics-connection.md): Add a hosted connection or validate and save a custom server. Only team owners can create connections. Retry a known failed hosted setup with the same name to resume its saved project; an unknown creation outcome requires operator reconciliation. - [Create an analytics key](https://chunkify.dev/docs/api-reference/projects/create-an-analytics-key.md): Generate a public key for players to send events, or a read-only secret key for a dashboard or MCP client to query a hosted Chunkify Analytics server. Save secret keys when returned. Requires a team owner and a Team Access Key. - [Delete a project](https://chunkify.dev/docs/api-reference/projects/delete-a-project.md): Delete a project and revoke all associated access tokens. Only team owners can delete projects. Customer output files remain in Storage; managed temporary files retain their original expiry. - [Delete an analytics connection](https://chunkify.dev/docs/api-reference/projects/delete-an-analytics-connection.md): For hosted connections, delete the linked analytics project and invalidate its keys before removing the saved connection. Stored events expire under the collector retention policy. For custom connections, remove only the saved credentials and connection; the remote server, project and data remain unchanged. Only team owners can delete connections. An uncertain remote result preserves the connection for reconciliation. - [Get a single project](https://chunkify.dev/docs/api-reference/projects/get-a-single-project.md): Retrieve details of a specific project by its slug - [Get all projects](https://chunkify.dev/docs/api-reference/projects/get-all-projects.md): Retrieve a list of all projects for a team - [List analytics connections](https://chunkify.dev/docs/api-reference/projects/list-analytics-connections.md): List the saved connections for this project. No connection is activated by this request. - [List analytics keys](https://chunkify.dev/docs/api-reference/projects/list-analytics-keys.md): List keys for a hosted Chunkify Analytics server: the public key used by players to send events, and read-only secret key records for dashboard and MCP access. Secret values are not returned. Requires a team owner and a Team Access Key. - [Retrieve an analytics connection](https://chunkify.dev/docs/api-reference/projects/retrieve-an-analytics-connection.md): Retrieve non-secret connection metadata within its owning project. - [Rotate an analytics key](https://chunkify.dev/docs/api-reference/projects/rotate-an-analytics-key.md): Rotate a public or read-only secret key for a hosted Chunkify Analytics server. Update the player, dashboard, or MCP client with the new key; the old key stops working immediately. Requires a team owner and a Team Access Key. - [Update a project](https://chunkify.dev/docs/api-reference/projects/update-a-project.md): Update a project's name or storage settings. Only team owners can update projects. - [Update an analytics connection](https://chunkify.dev/docs/api-reference/projects/update-an-analytics-connection.md): Rename a connection or validate replacement custom credentials. Only team owners can update connections. Existing settings remain unchanged if validation fails. - [Rate Limits](https://chunkify.dev/docs/api-reference/rate-limit.md): Learn about requests per second limits, team-based restrictions, and best practices. - [Overview](https://chunkify.dev/docs/api-reference/response/index.md): Understand API status codes and response formats. - [Error](https://chunkify.dev/docs/api-reference/response/error.md): Understand error responses, status codes, and error details. - [Success](https://chunkify.dev/docs/api-reference/response/success.md): Read successful API responses and paginated results. - [Create a new source](https://chunkify.dev/docs/api-reference/sources/create-a-new-source.md): Create a new source from a media URL. The source will be analyzed to extract metadata and generate a thumbnail. The source will be automatically deleted after the data retention period. - [Delete a source](https://chunkify.dev/docs/api-reference/sources/delete-a-source.md): Delete a source. It will fail if there are processing jobs using this source. - [Get a single source](https://chunkify.dev/docs/api-reference/sources/get-a-single-source.md): Retrieve details of a specific source by its ID, including metadata, media properties, and associated jobs. - [Get all sources](https://chunkify.dev/docs/api-reference/sources/get-all-sources.md): Retrieve a list of all sources with optional filtering and pagination. Supports filtering by various media properties like duration, dimensions, codecs, etc. - [Create a new storage](https://chunkify.dev/docs/api-reference/storages/create-a-new-storage.md): Create a new storage configuration for cloud storage providers like AWS S3, Cloudflare R2, etc. The storage credentials will be validated before saving. - [Delete a storage](https://chunkify.dev/docs/api-reference/storages/delete-a-storage.md): Delete a storage configuration. The storage must not be currently attached to the project. - [Get a single storage](https://chunkify.dev/docs/api-reference/storages/get-a-single-storage.md): Retrieve details of a specific storage configuration by its id. - [Get all storages](https://chunkify.dev/docs/api-reference/storages/get-all-storages.md): Retrieve a list of all storage configurations for the current project. - [Update storage settings](https://chunkify.dev/docs/api-reference/storages/update-storage-settings.md): Update customer-owned storage settings. Send access_key_id and secret_access_key together to rotate credentials for AWS S3, Cloudflare R2, or S3-compatible storage. Both values must be non-empty and non-null. Omitting both preserves the saved pair and skips connection validation. Replacement credentials are checked against the saved bucket, endpoint, region, and addressing style using the creation upload, metadata, and download checks with best-effort probe cleanup. A prefix changed in the same request is used for validation. Both credentials are encrypted and saved atomically with other settings; a failed update preserves the previous values. Credential-only updates keep the Storage ID, resource associations, object paths, and Project default. Subsequent storage lookups use the new pair; running work may retain an existing client or signed URL. Rotation does not renew issued URLs, and revoking old keys can invalidate them. Prefix changes apply to final outputs that have not been uploaded yet. Existing files keep their stored object keys. - [Create Thumbnails](https://chunkify.dev/docs/api-reference/thumbnails/create-thumbnails.md): Generate individual images or sprite sheets from a Source. Each accepted request creates a new resource. Processing continues after the response. - [Delete Thumbnails](https://chunkify.dev/docs/api-reference/thumbnails/delete-thumbnails.md): Delete a ready, failed or expired Thumbnail after all workers have stopped. The Source and settled usage are preserved. Files remain unless delete_files is true; temporary files retain their original 24-hour expiry. Deletion remains available for inactive teams. - [Get Thumbnails](https://chunkify.dev/docs/api-reference/thumbnails/get-thumbnails.md): Retrieve the accepted settings, published files and current state of one Thumbnail. - [List Thumbnails](https://chunkify.dev/docs/api-reference/thumbnails/list-thumbnails.md): List Thumbnails in the authenticated Project, newest first by default. - [Create a new access token](https://chunkify.dev/docs/api-reference/tokens/create-a-new-access-token.md): Create a new access token for either account-wide or project-specific access. Project tokens require a valid project slug. - [List all API tokens](https://chunkify.dev/docs/api-reference/tokens/list-all-api-tokens.md): Retrieve a list of all API tokens for your account, including both team-scoped and project-scoped tokens. For each token, the response includes its name, scope, creation date, and usage statistics. The token values are not included in the response for security reasons. - [Revoke an access token](https://chunkify.dev/docs/api-reference/tokens/revoke-an-access-token.md): Revoke an access token by its ID. This action is irreversible and will immediately invalidate the token. - [Cancel Transcoding](https://chunkify.dev/docs/api-reference/transcodings/cancel-transcoding.md): Cancel a preparing Transcoding and release its unpaid reservation. Repeating an accepted cancellation succeeds. - [Create Transcoding](https://chunkify.dev/docs/api-reference/transcodings/create-transcoding.md): Create a standalone file export with resolved encoding settings. - [Delete Transcoding](https://chunkify.dev/docs/api-reference/transcodings/delete-transcoding.md): Delete a ready, failed, cancelled or expired Transcoding and its file records. The Source and settled usage are preserved. Customer output files remain unless delete_files is true; temporary files retain their original 24-hour expiry. Deletion remains available for inactive teams. - [Get Transcoding](https://chunkify.dev/docs/api-reference/transcodings/get-transcoding.md): Retrieve the accepted settings, published files and current state of one Transcoding. - [List Transcodings](https://chunkify.dev/docs/api-reference/transcodings/list-transcodings.md): List Transcodings in the authenticated Project, newest first by default. - [Complete an upload](https://chunkify.dev/docs/api-reference/uploads/complete-an-upload.md): POST the returned completion_url before expires_at. Single-PUT Uploads send no body; multipart Uploads send every part number and storage ETag. Chunkify verifies the assembled object and atomically creates the Source and optional Asset. An Asset destination conflict returns 409 and fails the Upload without committing Source, Asset, or usage changes. Valid retries return 204 without duplicate side effects. Retry network errors, 429, and 5xx responses with bounded backoff. - [Create a new upload](https://chunkify.dev/docs/api-reference/uploads/create-a-new-upload.md): Create an Upload session for a direct transfer to storage. Multipart creation returns every signed part URL. Retry parts with their original URLs and complete before expiry. Customer storage requires long-lived credentials and an incomplete-multipart lifecycle rule. Start a new Upload after abandoning a session. - [Delete an upload](https://chunkify.dev/docs/api-reference/uploads/delete-an-upload.md): Delete an upload. - [Get a single upload](https://chunkify.dev/docs/api-reference/uploads/get-a-single-upload.md): Retrieve details of a specific upload by its ID, including metadata, status, and associated source. - [Get all uploads](https://chunkify.dev/docs/api-reference/uploads/get-all-uploads.md): Retrieve a list of all uploads with optional filtering and pagination. - [Create a new webhook](https://chunkify.dev/docs/api-reference/webhooks/create-a-new-webhook.md): Create a new webhook for a project. The webhook will receive notifications for specified events. - [Delete a webhook](https://chunkify.dev/docs/api-reference/webhooks/delete-a-webhook.md): Permanently delete a webhook configuration. The webhook must belong to the current project. This action cannot be undone. - [Get a single webhook](https://chunkify.dev/docs/api-reference/webhooks/get-a-single-webhook.md): Retrieve details of a specific webhook configuration by its ID. The webhook must belong to the current project. - [Get all webhooks](https://chunkify.dev/docs/api-reference/webhooks/get-all-webhooks.md): Retrieve a list of all webhooks configured for the current project. Each webhook includes its URL, enabled status, and subscribed events. - [Update a webhook](https://chunkify.dev/docs/api-reference/webhooks/update-a-webhook.md): Update the enabled status of a webhook. The webhook must belong to the current project. - [Create Workflow](https://chunkify.dev/docs/api-reference/workflows/create-workflow.md): Create a Workflow with its first definition revision. Select it when creating an Asset or Upload, or set it as the Project default. - [Delete Workflow](https://chunkify.dev/docs/api-reference/workflows/delete-workflow.md): Archive the Workflow and clear it from the Project default. New Assets cannot select it and new events do not start runs. Accepted actions finish, and outputs and retained history remain available. - [Get Workflow](https://chunkify.dev/docs/api-reference/workflows/get-workflow.md): Retrieve a Workflow and its current definition, including archived Workflows. - [Get Workflow action](https://chunkify.dev/docs/api-reference/workflows/get-workflow-action.md): Retrieve one action execution in a retained Workflow run, including its resolved inputs, status, and result. - [Get Workflow revision](https://chunkify.dev/docs/api-reference/workflows/get-workflow-revision.md): Retrieve an immutable definition revision, including revisions of archived Workflows. - [Get Workflow run](https://chunkify.dev/docs/api-reference/workflows/get-workflow-run.md): Retrieve a retained run with its triggering event, status, and action counts. - [List Workflow actions](https://chunkify.dev/docs/api-reference/workflows/list-workflow-actions.md): List actions in a retained Workflow run, newest first. Includes resolved inputs, statuses, output references, and skip or failure reasons. - [List Workflow runs](https://chunkify.dev/docs/api-reference/workflows/list-workflow-runs.md): List retained runs for this Workflow, newest first. Each run corresponds to one matching Asset event. - [List Workflows](https://chunkify.dev/docs/api-reference/workflows/list-workflows.md): List Workflows in the Project, newest first. Archived Workflows are excluded unless archived is true. - [Update Workflow](https://chunkify.dev/docs/api-reference/workflows/update-workflow.md): Update the Workflow name or replace its rules. Replacing rules requires the current revision. A changed definition creates a new revision; unchanged rules and name-only edits preserve it. Existing Assets and Uploads keep their selected revision until a ready Asset explicitly updates to the latest revision. Archived Workflows cannot be updated. ## CLI - [Introduction](https://chunkify.dev/docs/cli/index.md): Guide for fast video transcoding from terminal. Upload, transcode using Chunkify's parallel technology and download the result. - [Getting started](https://chunkify.dev/docs/cli/installation.md): Install Chunkify CLI, authenticate with project tokens, and configure profiles for multiple projects or different environments. - [API integration](https://chunkify.dev/docs/cli/integration.md): Forward Chunkify webhooks locally. Receive Asset and Upload events on your development server for testing. - [Transcoding parameters](https://chunkify.dev/docs/cli/parameters.md): Complete reference of Chunkify CLI transcoding parameters: video settings, audio options, codec configurations. - [Video transcoding](https://chunkify.dev/docs/cli/transcode.md): Transcode videos with Chunkify CLI. Convert to MP4, WebM, HLS formats, customize transcoder settings, and generate thumbnails. ## More documentation - [Video asset output paths](https://chunkify.dev/docs/integration/asset-paths.md): Find output path guidance in the Storage section. - [Manually send a notification](https://chunkify.dev/docs/integration/webhooks/notification.md): Find manual notification guidance in the Webhooks overview. - [Legal](https://chunkify.dev/docs/legal/index.md): Terms of Service, Privacy Policy, and Service Level Agreement to understand your rights and obligations when using our services. - [Privacy Policy](https://chunkify.dev/docs/legal/privacy-policy.md): Chunkify is operated by SARL Particles. Details on our privacy policy. - [Service Level Agreement (SLA)](https://chunkify.dev/docs/legal/sla.md): Service Level Agreement for Pro and Enterprise plans. Guarantee and support response. - [Terms of Service](https://chunkify.dev/docs/legal/tos.md): Terms of Service for Chunkify. Review account terms, billing, data retention, acceptable use, and liability limits. - [Storage](https://chunkify.dev/docs/storage/index.md): Find the current storage connection and delivery guides. - [Configure CORS](https://chunkify.dev/docs/storage/cors.md): Find the current CORS guide for browser uploads and video playback. - [Transcoding events](https://chunkify.dev/docs/transcoding/events.md): Find the events for standalone transcoding jobs. - [Video streaming events](https://chunkify.dev/docs/video-streaming/events.md): Find the events for video assets, optional outputs, and Workflow runs. - [Video streaming webhooks](https://chunkify.dev/docs/video-streaming/events-and-webhooks.md): Find webhook setup and video streaming event documentation. - [Video asset processing](https://chunkify.dev/docs/video-streaming/processing.md): Find video asset processing details in How it works. - [Output paths and CDN](https://chunkify.dev/docs/video-streaming/storage/output-paths-cdn.md): Find the separate guides for output paths and CDN delivery.