Connecting existing contribution to pledge
Indeed, different workflow. with pledges, you create "expected" contributions for each time the donor said she'd contribute. You can then alter them via the api (eg with the api explorer)

The entity you want to change is pledgePayment. you can update the contribution_id, the amount and the status and it should then be working as expected

"values":[{
    "id":"1",
    "pledge_id":"1",
    "contribution_id":"10",
    "scheduled_amount":"500.00",
    "actual_amount":"500.00",
    "currency":"USD",
    "scheduled_date":"2009-07-01 00:00:00",
    "reminder_count":"0",
    "status_id":"1"
},