Skip to content

The Cinebody API v3 quickstart guide with TypeScript, Python, and cURL examples

Notifications You must be signed in to change notification settings

TravisPageV1/com-cinebody-quickstart-docs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cinebody API v3 Quickstart

Client code examples and demo app for the Cinebody API v3.

Quick Start

A React app for browsing project clips, viewing videos, and uploading content.

Prerequisites

  • Node.js 18+

Run the App

git clone https://github.com/TravisPageV1/com-cinebody-quickstart-docs.git
cd com-cinebody-quickstart-docs/app
npm install
npm run dev

Open http://localhost:3000 and enter your API key to connect.


API Reference

Base URLs

Environment URL
Production https://app-api.cinebody.com
Staging https://stage-app-api.cinebody.com

Authentication

All API requests require an API key. Include it in the request headers:

x-api-key: YOUR_API_KEY

Endpoints

Organizations

  • GET /app/3.0/organizations - List organizations
  • GET /app/3.0/organizations/{id} - Get organization details
  • GET /app/3.0/organizations/{id}/storage - Get storage info
  • GET /app/3.0/organizations/{id}/stats - Get organization stats

Teams

  • GET /app/3.0/teams - List teams
  • POST /app/3.0/organizations/{orgId}/teams - Create team
  • GET /app/3.0/teams/{id} - Get team details
  • PATCH /app/3.0/teams/{id} - Update team
  • DELETE /app/3.0/teams/{id} - Delete team

Projects

  • GET /app/3.0/projects - List projects
  • POST /app/3.0/projects - Create project
  • GET /app/3.0/projects/{id} - Get project details
  • PATCH /app/3.0/projects/{id} - Update project
  • DELETE /app/3.0/projects/{id} - Delete project

Clips & Media

  • GET /app/3.0/projects/{projectId}/clips - List project clips
  • GET /app/3.0/mediaFiles/{id}/download - Download media file
  • PATCH /app/3.0/mediaFiles/{id} - Update media file
  • DELETE /app/3.0/mediaFiles/{id} - Delete media file

Uploads

  • GET /app/3.0/projects/{projectId}/upload - Get upload URLs
  • POST /app/3.0/projects/{projectId}/clipCompleteUpload - Complete clip upload

Code Examples

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

Running 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.sh

TypeScript Types

The 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',
};

Multipart Upload Flow

Uploading video clips requires a 3-step process:

  1. Get upload URLs - Request signed S3 URLs for chunked upload
  2. Upload chunks - Upload file chunks to S3, collect ETags
  3. Complete upload - Finalize the upload with metadata

See examples/*/uploads.* for complete implementations.

Resources

About

The Cinebody API v3 quickstart guide with TypeScript, Python, and cURL examples

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published