I have been using QC API's to automate Quality Center activities like Requirements upload, Test Case upload and results upload, Defects etc...
So you could refer API document library available in QC help.. let me know if you need any other details.
Edit: (from the comments)
Here is the sample code to automate the QC through vbscripting. We could use other languages like java, C#.. to connect to QC and do all those activities which we do by manually logging to QC:
Set QCConnection = CreateObject("TDApiOle80.TDConnection")
On Error Resume Next QCConnection.InitConnectionEx QCUrl
If (Err.Number <> 0)
Then MsgBox ("Enter the Valid Qc url, till Qcbin:" & Err.Description)
Else On Error Resume Next QCConnection.Login UserName, Password 'UserName and Password are QID and QPWD respectively