Client code examples and demo app for the Cinebody API v3.
A React app for browsing project clips, viewing videos, and uploading content.
- Node.js 18+
git clone https://github.com/TravisPageV1/com-cinebody-quickstart-docs.git
cd com-cinebody-quickstart-docs/app
npm install
npm run devOpen http://localhost:3000 and enter your API key to connect.
| Environment | URL |
|---|---|
| Production | https://app-api.cinebody.com |
| Staging | https://stage-app-api.cinebody.com |
All API requests require an API key. Include it in the request headers:
x-api-key: YOUR_API_KEY
GET /app/3.0/organizations- List organizationsGET /app/3.0/organizations/{id}- Get organization detailsGET /app/3.0/organizations/{id}/storage- Get storage infoGET /app/3.0/organizations/{id}/stats- Get organization stats
GET /app/3.0/teams- List teamsPOST /app/3.0/organizations/{orgId}/teams- Create teamGET /app/3.0/teams/{id}- Get team detailsPATCH /app/3.0/teams/{id}- Update teamDELETE /app/3.0/teams/{id}- Delete team
GET /app/3.0/projects- List projectsPOST /app/3.0/projects- Create projectGET /app/3.0/projects/{id}- Get project detailsPATCH /app/3.0/projects/{id}- Update projectDELETE /app/3.0/projects/{id}- Delete project
GET /app/3.0/projects/{projectId}/clips- List project clipsGET /app/3.0/mediaFiles/{id}/download- Download media filePATCH /app/3.0/mediaFiles/{id}- Update media fileDELETE /app/3.0/mediaFiles/{id}- Delete media file
GET /app/3.0/projects/{projectId}/upload- Get upload URLsPOST /app/3.0/projects/{projectId}/clipCompleteUpload- Complete clip upload
Examples are provided in three formats:
- TypeScript -
examples/javascript/- Fully typed examples with interfaces - Python -
examples/python/- Uses requests library - cURL -
examples/curl/examples.sh- Command-line examples
# Set your API key
export CINEBODY_API_KEY="your-api-key-here"
# TypeScript
cd examples/javascript && npm install && npx ts-node projects.ts
# Python
cd examples/python && pip install requests && python projects.py
# cURL
cd examples/curl && chmod +x examples.sh && ./examples.shThe TypeScript examples include complete type definitions in examples/javascript/types.ts:
- All API entity types (Organization, Team, Project, MediaFile, etc.)
- Request parameter types
- Response types
- Enum types for status values, orientations, etc.
import type { Project, CreateProjectRequest } from './types';
const project: CreateProjectRequest = {
teamId: 'uuid',
title: 'My Project',
description: 'Description',
orientation: 'landscape',
shootType: 'event',
type: 'standard',
};Uploading video clips requires a 3-step process:
- Get upload URLs - Request signed S3 URLs for chunked upload
- Upload chunks - Upload file chunks to S3, collect ETags
- Complete upload - Finalize the upload with metadata
See examples/*/uploads.* for complete implementations.