As of 2018; Custom Audiences can now be shared only between Businesses (it is mandatory for both parties to have BusinessManager)
How to Share Custom Audience Lists
Both entities must have a Business Manager
Share Custom Audiences between Business Managers
Since 2018, in order to share a Custom Audience between Business
Managers, such businesses should establish an audience sharing
relationship as follows. You need Business Manager admin permission to
request a relationship to share an audience. If two Business Managers
have already established the relationship, then an advertiser can
directly share the audience with the other business. See also
Reference, Custom Audience and Reference, Custom Audience Shared
Account Info.
And while marketing-api docs have improved a bit, but still completely lack the get-started-in-5-min crispness
To create a relationship, make this call, to a specific custom_audience_id:
POST https://graph.facebook.com/v7.0/{custom_audience_id}/adaccounts?adaccounts=[<ad_account_id>]&relationship_type=[<relationship_type>]
and while nowhere they've specified what is this relationship_type, I peeked into their java-business-sdk and found this
public static enum EnumRelationshipType {
@SerializedName("AD_MANAGER")
VALUE_AD_MANAGER("AD_MANAGER"),
@SerializedName("AGENCY")
VALUE_AGENCY("AGENCY"),
@SerializedName("AGGREGATOR")
VALUE_AGGREGATOR("AGGREGATOR"),
@SerializedName("AUDIENCE_MANAGER")
VALUE_AUDIENCE_MANAGER("AUDIENCE_MANAGER"),
@SerializedName("OTHER")
VALUE_OTHER("OTHER"),
;
..
https://developers.facebook.com/docs/marketing-api/reference/custom-audience/share_with_objects/, which only returns a 404. File a documentation bug, and ask them to please fix the broken link. developers.facebook.com/bugs - CBroe