Signing method calls is the same for desktop and web based programs. This means on top of the parameters you request, you need to pass your api_key (not your secret) and the api_sig based on those parameters.

Let's assume that our API key is df3f791718032a70119d35d65d8b6d0d, our shared secret is sec12345.

Generating a signature is easy and can be done in any programming language. To generate a signature, we take our shared secret to prepend it to an alphabetically sorted list of arguments. In this example, we'll make a call to vimeo.videos.comments.getList(). For this call, we need to provide the method and the video_id.

So to start, our parameters are the following:

method = vimeo.videos.comments.getList
video_id = 375747
api_key = df3f791718032a70119d35d65d8b6d0d (this is required in every method call)

So now we'll generate the base of the signature by creating a string that starts with our api secret (green). Then, we append our parameter name/value pairs in alphabetical order.

The base of our signature is now:

sec12345api_keydf3f791718032a70119d35d65d8b6d0dmethodvimeo.videos.comments.getListvideo_id375747

Taking the md5 sum of that string gives us our signature: c5370e4b0c550494ba49d86893a0384f

We then add that as a parameter to our argument list, which now looks like this:

method = vimeo.videos.comments.getList
video_id = 375747
api_key = df3f791718032a70119d35d65d8b6d0d
api_sig = c5370e4b0c550494ba49d86893a0384f