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)
  • apply_meta
    ziggeo.videos().apply_meta(string token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    1. metaprofiletoken Meta Profile token (from the Meta 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

application

  • get
    ziggeo.application().get()
    
    Returns JSON
  • update
    ziggeo.application().update(Dictionary<string, string> arguments)
    
    Returns JSON
    1. volatile Will this object automatically be deleted if it remains empty?
    2. name Name of the application
    3. auth_token_required_for_create Require auth token for creating videos
    4. auth_token_required_for_update Require auth token for updating videos
    5. auth_token_required_for_read Require auth token for reading videos
    6. auth_token_required_for_destroy Require auth token for deleting videos
    7. client_can_index_videos Client is allowed to perform the index operation
    8. client_cannot_access_unaccepted_videos Client cannot view unaccepted videos
    9. enable_video_subpages Enable hosted video pages
    10. enable_facebook Enable Facebook Support for hosted video pages
  • get_stats
    ziggeo.application().get_stats(Dictionary<string, string> arguments)
    
    Returns JSON
    1. period Optional. Can be 'year' or 'month'.

effectProfiles

  • create
    ziggeo.effectProfiles().create(Dictionary<string, string> arguments)
    
    Returns JSON
    1. key Effect profile key.
    2. title Effect profile title.
    3. default_effect Boolean. If TRUE, sets an effect profile as default. If FALSE, removes the default status for the given effect
  • 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)
    
  • update
    ziggeo.effectProfiles().update(string token_or_key, Dictionary<string, string> arguments)
    
    Returns JSON
    1. default_effect Boolean. If TRUE, sets an effect profile as default. If FALSE, removes the default status for the given effect

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_position Specify the vertical position of your watermark (a value between 0.0 and 1.0)
    3. horizontal_position Specify the horizontal position of your watermark (a value between 0.0 and 1.0)
    4. video_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