Got this working, first thing is to check your current associations with a GET call to https://api.hubapi.com/crm/v3/schemas/custom-object-id?hapikey=…
If you already have an association setup you’ll need to delete it with a delete call and its ID to https://api.hubapi.com/crm/v3/schemas/custom-object-id/associations/id?hapikey=…
The last step is to remake the relationship with a POST call to https://api.hubapi.com/crm/v3/schemas/custom-object-id/associations?hapikey=…
You can add json similar to below using data from the first GET call. The important parts are the cardinality. In my case setting the inverseCardinality to “ONE_TO_ONE” achieved what I was looking for.
{
"fromObjectTypeId": "custom-object-id",
"toObjectTypeId": "0-1",
"name": "customobject_to_contact",
"cardinality": "ONE_TO_MANY",
"inverseCardinality": "ONE_TO_ONE"
}
As JeffBantz stated the UI doesn’t seem to fully support this as the Add buttons still appear on the one_to_one side when a record is already set however it actually just overwrites the existing record.