Documentation

Building C# project? You'll need the Ziggeo C# SDK if you plan to bring video to your app and see how easy it is.

To download it you can either:

  1. Use the direct link to download the C# SDK
  2. Download from or fork our C# SDK Github repository.
Fork me on GitHub
To use the methods from SDK in your code you would need to include it first. To include C# SDK you would use the following call:
Ziggeo ziggeo = new Ziggeo("YOUR APP TOKEN", "YOUR_APP_PRIVATE_KEY", "YOUR_APP_ENCRYPTION_KEY");
Calling methods is as simple as:
ziggeo.resource().method(args)
The following is the list of methods and their function calls

videos

  • index
    ziggeo.videos().index(Dictionary<string, string> arguments)
    
    Returns JSON
    [
    	{
    	"volatile":false,
    	"token":"a7edab8c635ec37047d8ae75411528e3",
    	"key":null,
    	"state":5,
    	"max_duration":null,
    	"duration":1,
    	"tags":null,
    	"submission_date":1390257799,
    	"resubmission_date":1390257799,
    	"stream_submission_date":1390257799,
    	"delete_old_streams":true,
    	"type":"ApiVideo",
    	"created":1390257798,
    	"owned":false,
    	"state_string":"READY",
    	"streams":[
    	{
    		"volatile":false,
    		"token":"d751140b4e1cf0a243f32092f6110296",
    		"key":null,
    		"creation_type":5,
    		"state":5,
    		"streamable":2,
    		"video_type":"mp4",
    		"video_sub_type":"other",
    		"image_size":0,
    		"video_size":36078,
    		"video_width":640,
    		"video_height":360,
    		"duration":1,
    		"has_video":true,
    		"has_image":true,
    		"submission_date":1390257799,
    		"type":"ApiVideoStream",
    		"created":1390257799,
    		"owned":true,
    		"creation_type_string":"SERVER_UPLOAD",
    		"streamable_string":"DEGRADED",
    		"state_string":"READY"
    	}],
    	"original_stream":
    	{
    		"volatile":false,
    		"token":"d751140b4e1cf0a243f32092f6110296",
    		"key":null,
    		"creation_type":5,
    		"state":5,
    		"streamable":2,
    		"video_type":"mp4",
    		"video_sub_type":"other",
    		"image_size":0,
    		"video_size":36078,
    		"video_width":640,
    		"video_height":360,
    		"duration":1,
    		"has_video":true,
    		"has_image":true,
    		"submission_date":1390257799,
    		"type":"ApiVideoStream",
    		"created":1390257799,
    		"owned":true,
    		"creation_type_string":"SERVER_UPLOAD",
    		"streamable_string":"DEGRADED",
    		"state_string":"READY"
    	},
    	"default_stream":
    	{
    		"volatile":false,
    		"token":"d751140b4e1cf0a243f32092f6110296",
    		"key":null,
    		"creation_type":5,
    		"state":5,
    		"streamable":2,
    		"video_type":"mp4",
    		"video_sub_type":"other",
    		"image_size":0,
    		"video_size":36078,
    		"video_width":640,
    		"video_height":360,
    		"duration":1,
    		"has_video":true,
    		"has_image":true,
    		"submission_date":1390257799,
    		"type":"ApiVideoStream",
    		"created":1390257799,
    		"owned":true,
    		"creation_type_string":"SERVER_UPLOAD",
    		"streamable_string":"DEGRADED",
    		"state_string":"READY"
    	}}]
    
    1. limit Limit the number of returned videos. Can be set up to 100.
    2. skip Skip the first [n] entries.
    3. reverse Reverse the order in which videos are returned.
    4. states Filter videos by state
    5. tags Filter the search result to certain tags, encoded as a comma-separated string
  • count
    ziggeo.videos().count(Dictionary<string, string> arguments)
    
    Returns JSON
    1. states Filter videos by state
    2. tags Filter the search result to certain tags, encoded as a comma-separated string
  • get
    ziggeo.videos().get(string token_or_key)
    
    Returns JSON
    {
    	"volatile":false,
    	"token":"a7edab8c635ec37047d8ae75411528e3",
    	"key":null,
    	"state":5,
    	"max_duration":null,
    	"duration":1,
    	"tags":null,
    	"submission_date":1390257799,
    	"resubmission_date":1390257799,
    	"stream_submission_date":1390257799,
    	"delete_old_streams":true,
    	"type":"ApiVideo",
    	"created":1390257798,
    	"owned":false,
    	"state_string":"READY",
    	"streams":[
    	{
    		"volatile":false,
    		"token":"d751140b4e1cf0a243f32092f6110296",
    		"key":null,
    		"creation_type":5,
    		"state":5,
    		"streamable":2,
    		"video_type":"mp4",
    		"video_sub_type":"other",
    		"image_size":0,
    		"video_size":36078,
    		"video_width":640,
    		"video_height":360,
    		"duration":1,
    		"has_video":true,
    		"has_image":true,
    		"submission_date":1390257799,
    		"type":"ApiVideoStream",
    		"created":1390257799,
    		"owned":true,
    		"creation_type_string":"SERVER_UPLOAD",
    		"streamable_string":"DEGRADED",
    		"state_string":"READY"
    	}],
    	"original_stream":
    	{
    		"volatile":false,
    		"token":"d751140b4e1cf0a243f32092f6110296",
    		"key":null,
    		"creation_type":5,
    		"state":5,
    		"streamable":2,
    		"video_type":"mp4",
    		"video_sub_type":"other",
    		"image_size":0,
    		"video_size":36078,
    		"video_width":640,
    		"video_height":360,
    		"duration":1,
    		"has_video":true,
    		"has_image":true,
    		"submission_date":1390257799,
    		"type":"ApiVideoStream",
    		"created":1390257799,
    		"owned":true,
    		"creation_type_string":"SERVER_UPLOAD",
    		"streamable_string":"DEGRADED",
    		"state_string":"READY"
    	},
    	"default_stream":
    	{
    		"volatile":false,
    		"token":"d751140b4e1cf0a243f32092f6110296",
    		"key":null,
    		"creation_type":5,
    		"state":5,
    		"streamable":2,
    		"video_type":"mp4",
    		"video_sub_type":"other",
    		"image_size":0,
    		"video_size":36078,
    		"video_width":640,
    		"video_height":360,
    		"duration":1,
    		"has_video":true,
    		"has_image":true,
    		"submission_date":1390257799,
    		"type":"ApiVideoStream",
    		"created":1390257799,
    		"owned":true,
    		"creation_type_string":"SERVER_UPLOAD",
    		"streamable_string":"DEGRADED",
    		"state_string":"READY"
    	}}
    
  • get_bulk
    ziggeo.videos().get_bulk(Dictionary<string, string> arguments)
    
    Returns JSON
    1. tokens_or_keys Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).
  • stats_bulk
    ziggeo.videos().stats_bulk(Dictionary<string, string> arguments)
    
    Returns JSON
    1. tokens_or_keys Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).
    2. summarize Boolean. Set it to TRUE to get the stats summarized. Set it to FALSE to get the stats for each video in a separate array. Default: TRUE.
  • download_video
    ziggeo.videos().download_video(string token_or_key)
    
    Returns DATA
  • download_image
    ziggeo.videos().download_image(string token_or_key)
    
    Returns DATA
  • get_stats
    ziggeo.videos().get_stats(string token_or_key)
    
    Returns JSON
  • push_to_service
    ziggeo.videos().push_to_service(string token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    1. pushservicetoken Push Services's token (from the Push Services configured for the app)
  • apply_effect
    ziggeo.videos().apply_effect(string token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    1. effectprofiletoken Effect Profile token (from the Effect Profiles configured for the app)
  • update
    ziggeo.videos().update(string token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    {
    	"volatile":false,
    	"token":"a7edab8c635ec37047d8ae75411528e3",
    	"key":"brandnewname",
    	"state":5,
    	"max_duration":"10",
    	"duration":1,
    	"tags":null,
    	"submission_date":1390257799,
    	"resubmission_date":1390257799,
    	"stream_submission_date":1390257799,
    	"delete_old_streams":true,
    	"type":"ApiVideo",
    	"created":1390257798,
    	"owned":false,
    	"state_string":"READY",
    	"streams":[
    	{
    		"volatile":false,
    		"token":"d751140b4e1cf0a243f32092f6110296",
    		"key":null,
    		"creation_type":5,
    		"state":5,
    		"streamable":2,
    		"video_type":"mp4",
    		"video_sub_type":"other",
    		"image_size":0,
    		"video_size":36078,
    		"video_width":640,
    		"video_height":360,
    		"duration":1,
    		"has_video":true,
    		"has_image":true,
    		"submission_date":1390257799,
    		"type":"ApiVideoStream",
    		"created":1390257799,
    		"owned":true,
    		"creation_type_string":"SERVER_UPLOAD",
    		"streamable_string":"DEGRADED",
    		"state_string":"READY"
    	}],
    	"original_stream":
    	{
    		"volatile":false,
    		"token":"d751140b4e1cf0a243f32092f6110296",
    		"key":null,
    		"creation_type":5,
    		"state":5,
    		"streamable":2,
    		"video_type":"mp4",
    		"video_sub_type":"other",
    		"image_size":0,
    		"video_size":36078,
    		"video_width":640,
    		"video_height":360,
    		"duration":1,
    		"has_video":true,
    		"has_image":true,
    		"submission_date":1390257799,
    		"type":"ApiVideoStream",
    		"created":1390257799,
    		"owned":true,
    		"creation_type_string":"SERVER_UPLOAD",
    		"streamable_string":"DEGRADED",
    		"state_string":"READY"
    	},
    	"default_stream":
    	{
    		"volatile":false,
    		"token":"d751140b4e1cf0a243f32092f6110296",
    		"key":null,
    		"creation_type":5,
    		"state":5,
    		"streamable":2,
    		"video_type":"mp4",
    		"video_sub_type":"other",
    		"image_size":0,
    		"video_size":36078,
    		"video_width":640,
    		"video_height":360,
    		"duration":1,
    		"has_video":true,
    		"has_image":true,
    		"submission_date":1390257799,
    		"type":"ApiVideoStream",
    		"created":1390257799,
    		"owned":true,
    		"creation_type_string":"SERVER_UPLOAD",
    		"streamable_string":"DEGRADED",
    		"state_string":"READY"
    	}}
    
    1. min_duration Minimal duration of video
    2. max_duration Maximal duration of video
    3. tags Video Tags
    4. key Unique (optional) name of video
    5. volatile Automatically removed this video if it remains empty
    6. expiration_days After how many days will this video be deleted
  • update_bulk
    ziggeo.videos().update_bulk(Dictionary<string, string> arguments)
    
    Returns JSON
    1. tokens_or_keys Comma-separated list with the desired videos tokens or keys (Limit: 100 tokens or keys).
    2. min_duration Minimal duration of video
    3. max_duration Maximal duration of video
    4. tags Video Tags
    5. volatile Automatically removed this video if it remains empty
    6. expiration_days After how many days will this video be deleted
  • delete
    ziggeo.videos().delete(string token_or_key)
    
  • create
    ziggeo.videos().create(Dictionary<string, string> arguments, string file)
    
    Returns JSON
    {
    	"volatile":true,
    	"token":"a7edab8c635ec37047d8ae75411528e3",
    	"key":null,
    	"state":3,
    	"max_duration":null,
    	"duration":null,
    	"tags":null,
    	"submission_date":null,
    	"resubmission_date":null,
    	"stream_submission_date":null,
    	"delete_old_streams":true,
    	"type":"ApiVideo",
    	"created":1390257798,
    	"owned":false,
    	"state_string":"EMPTY",
    	"streams":[],
    	"original_stream":null,
    	"default_stream":null
    }
    
    1. file Video file to be uploaded
    2. min_duration Minimal duration of video
    3. max_duration Maximal duration of video
    4. tags Video Tags
    5. key Unique (optional) name of video
    6. volatile Automatically removed this video if it remains empty
  • analytics
    ziggeo.videos().analytics(string token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    1. from A UNIX timestamp in microseconds used as the start date of the query
    2. to A UNIX timestamp in microseconds used as the end date of the query
    3. date A UNIX timestamp in microseconds to retrieve data from a single date. If set, it overwrites the from and to params.
    4. query The query you want to run. It can be one of the following: device_views_by_os, device_views_by_date, total_plays_by_country, full_plays_by_country, total_plays_by_hour, full_plays_by_hour, total_plays_by_browser, full_plays_by_browser

streams

  • index
    ziggeo.streams().index(string video_token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    [
    	{
    	"volatile":false,
    	"token":"d751140b4e1cf0a243f32092f6110296",
    	"key":null,
    	"creation_type":5,
    	"state":5,
    	"streamable":2,
    	"video_type":"mp4",
    	"video_sub_type":"other",
    	"image_size":0,
    	"video_size":36078,
    	"video_width":640,
    	"video_height":360,
    	"duration":1,
    	"has_video":true,
    	"has_image":true,
    	"submission_date":1390257799,
    	"type":"ApiVideoStream",
    	"created":1390257799,
    	"owned":true,
    	"creation_type_string":"SERVER_UPLOAD",
    	"streamable_string":"DEGRADED",
    	"state_string":"READY"
    }]
    
    1. states Filter streams by state
  • get
    ziggeo.streams().get(string video_token_or_key, string token_or_key)
    
    Returns JSON
    {
    	"volatile":false,
    	"token":"d751140b4e1cf0a243f32092f6110296",
    	"key":null,
    	"creation_type":5,
    	"state":5,
    	"streamable":2,
    	"video_type":"mp4",
    	"video_sub_type":"other",
    	"image_size":0,
    	"video_size":36078,
    	"video_width":640,
    	"video_height":360,
    	"duration":1,
    	"has_video":true,
    	"has_image":true,
    	"submission_date":1390257799,
    	"type":"ApiVideoStream",
    	"created":1390257799,
    	"owned":true,
    	"creation_type_string":"SERVER_UPLOAD",
    	"streamable_string":"DEGRADED",
    	"state_string":"READY"
    }
    
  • download_video
    ziggeo.streams().download_video(string video_token_or_key, string token_or_key)
    
    Returns DATA
  • download_image
    ziggeo.streams().download_image(string video_token_or_key, string token_or_key)
    
    Returns DATA
  • push_to_service
    ziggeo.streams().push_to_service(string video_token_or_key, string token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    1. pushservicetoken Push Services's token (from the Push Services configured for the app)
  • delete
    ziggeo.streams().delete(string video_token_or_key, string token_or_key)
    
  • create
    ziggeo.streams().create(string video_token_or_key, Dictionary<string, string> arguments, string file)
    
    Returns JSON
    {
    	"volatile":false,
    	"token":"d751140b4e1cf0a243f32092f6110296",
    	"key":null,
    	"creation_type":5,
    	"state":5,
    	"streamable":2,
    	"video_type":"mp4",
    	"video_sub_type":"other",
    	"image_size":0,
    	"video_size":36078,
    	"video_width":640,
    	"video_height":360,
    	"duration":1,
    	"has_video":true,
    	"has_image":true,
    	"submission_date":1390257799,
    	"type":"ApiVideoStream",
    	"created":1390257799,
    	"owned":true,
    	"creation_type_string":"SERVER_UPLOAD",
    	"streamable_string":"DEGRADED",
    	"state_string":"READY"
    }
    
    1. file Video file to be uploaded
  • attach_image
    ziggeo.streams().attach_image(string video_token_or_key, string token_or_key, Dictionary<string, string> arguments, string file)
    
    Returns JSON
    1. file Image file to be attached
  • attach_video
    ziggeo.streams().attach_video(string video_token_or_key, string token_or_key, Dictionary<string, string> arguments, string file)
    
    Returns JSON
    1. file Video file to be attached
  • bind
    ziggeo.streams().bind(string video_token_or_key, string token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON

authtokens

  • get
    ziggeo.authtokens().get(string token)
    
    Returns JSON
  • update
    ziggeo.authtokens().update(string token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    1. volatile Will this object automatically be deleted if it remains empty?
    2. hidden If hidden, the token cannot be used directly.
    3. expiration_date Expiration date for the auth token
    4. usage_experitation_time Expiration time per session
    5. session_limit Maximal number of sessions
    6. grants Permissions this tokens grants
  • delete
    ziggeo.authtokens().delete(string token_or_key)
    
  • create
    ziggeo.authtokens().create(Dictionary<string, string> arguments)
    
    Returns JSON
    1. volatile Will this object automatically be deleted if it remains empty?
    2. hidden If hidden, the token cannot be used directly.
    3. expiration_date Expiration date for the auth token
    4. usage_experitation_time Expiration time per session
    5. session_limit Maximal number of sessions
    6. grants Permissions this tokens grants

effectProfiles

  • create
    ziggeo.effectProfiles().create(Dictionary<string, string> arguments)
    
    Returns JSON
    1. key Effect profile key.
    2. title Effect profile title.
  • index
    ziggeo.effectProfiles().index(Dictionary<string, string> arguments)
    
    Returns JSON
    1. limit Limit the number of returned effect profiles. Can be set up to 100.
    2. skip Skip the first [n] entries.
    3. reverse Reverse the order in which effect profiles are returned.
  • get
    ziggeo.effectProfiles().get(string token_or_key)
    
    Returns JSON
  • delete
    ziggeo.effectProfiles().delete(string token_or_key)
    

effectProfileProcess

  • index
    ziggeo.effectProfileProcess().index(string effect_token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    1. states Filter streams by state
  • get
    ziggeo.effectProfileProcess().get(string effect_token_or_key, string token_or_key)
    
    Returns JSON
  • delete
    ziggeo.effectProfileProcess().delete(string effect_token_or_key, string token_or_key)
    
  • create_filter_process
    ziggeo.effectProfileProcess().create_filter_process(string effect_token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    1. effect Effect to be applied in the process
  • create_watermark_process
    ziggeo.effectProfileProcess().create_watermark_process(string effect_token_or_key, Dictionary<string, string> arguments, string file)
    
    Returns JSON
    1. file Image file to be attached
    2. vertical Specify the vertical position of your watermark (a value between 0.0 and 1.0)
    3. horizontal Specify the horizontal position of your watermark (a value between 0.0 and 1.0)
    4. scale Specify the image scale of your watermark (a value between 0.0 and 1.0)

metaProfiles

  • create
    ziggeo.metaProfiles().create(Dictionary<string, string> arguments)
    
    Returns JSON
    1. key Meta Profile profile key.
    2. title Meta Profile profile title.
  • index
    ziggeo.metaProfiles().index(Dictionary<string, string> arguments)
    
    Returns JSON
    1. limit Limit the number of returned meta profiles. Can be set up to 100.
    2. skip Skip the first [n] entries.
    3. reverse Reverse the order in which meta profiles are returned.
  • get
    ziggeo.metaProfiles().get(string token_or_key)
    
    Returns JSON
  • delete
    ziggeo.metaProfiles().delete(string token_or_key)
    

metaProfileProcess

  • index
    ziggeo.metaProfileProcess().index(string meta_token_or_key)
    
    Returns JSON
  • get
    ziggeo.metaProfileProcess().get(string meta_token_or_key, string token_or_key)
    
    Returns JSON
  • delete
    ziggeo.metaProfileProcess().delete(string meta_token_or_key, string token_or_key)
    
  • create_video_analysis_process
    ziggeo.metaProfileProcess().create_video_analysis_process(string meta_token_or_key)
    
    Returns JSON
  • create_audio_transcription_process
    ziggeo.metaProfileProcess().create_audio_transcription_process(string meta_token_or_key)
    
    Returns JSON
  • create_nsfw_process
    ziggeo.metaProfileProcess().create_nsfw_process(string meta_token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    1. nsfw_action One of the following three: approve, reject, nothing.

webhooks

  • create
    ziggeo.webhooks().create(Dictionary<string, string> arguments)
    
    Returns string
    1. target_url The url that will catch the events
    2. encoding Data encoding to be used by the webhook to send the events.
    3. events Comma-separated list of the events the webhook will catch. They must be valid webhook type events.
  • delete
    ziggeo.webhooks().delete(Dictionary<string, string> arguments)
    
    Returns string
    1. target_url The url that will catch the events

analytics

  • get
    ziggeo.analytics().get(Dictionary<string, string> arguments)
    
    Returns JSON
    1. from A UNIX timestamp in microseconds used as the start date of the query
    2. to A UNIX timestamp in microseconds used as the end date of the query
    3. date A UNIX timestamp in microseconds to retrieve data from a single date. If set, it overwrites the from and to params.
    4. query The query you want to run. It can be one of the following: device_views_by_os, device_views_by_date, total_plays_by_country, full_plays_by_country, total_plays_by_hour, full_plays_by_hour, total_plays_by_browser, full_plays_by_browser