Enable access via API to vendor so they can automate the upload of versions

How can I enable access via API to a vendor so that they can automate the upload of versions?

Depends on what permissions you want to give them.

You could either have them login with a user and give that user Vendor permissions or give them a Script access but then you’d have to set up the permissions as by default Scripts have Admin permissions which is likely not something you want your vendors to have on your site.

But could we just give them that only access? To upload the versions?
Is it something we should do by script?

If you give them each a (paid) account and select “Vendor” from the permission Groups then technically that should give them access only to Shots/Assets you assign them in the Vendor Groups column and they are only able to upload and edit their own versions and not see anything else.
You should check the Permissio Summary tab to read what that permission group can and cannot do.

If you just want them to automate and you are fine having to figure out the permission group you need (and perhaps asking Autodesk Support for custom conditional permissions) then you could go the Script way.

It just depends on your workflow and how comfortable you are with setting up ShotGrid and permissions.