Passer au contenu principal
POST
/
crm
/
associations
/
2026-03
/
{fromObjectType}
/
{toObjectType}
/
batch
/
create
Associer des fiches d'informations (étiquetées)
curl --request POST \
  --url https://api.hubapi.com/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/create \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "inputs": [
    {
      "from": {
        "id": "<string>"
      },
      "to": {
        "id": "<string>"
      },
      "types": [
        {
          "associationTypeId": 123
        }
      ]
    }
  ]
}
'
import requests

url = "https://api.hubapi.com/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/create"

payload = { "inputs": [
{
"from": { "id": "<string>" },
"to": { "id": "<string>" },
"types": [{ "associationTypeId": 123 }]
}
] }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
inputs: [
{
from: {id: '<string>'},
to: {id: '<string>'},
types: [{associationTypeId: 123}]
}
]
})
};

fetch('https://api.hubapi.com/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/create', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.hubapi.com/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/create",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'inputs' => [
[
'from' => [
'id' => '<string>'
],
'to' => [
'id' => '<string>'
],
'types' => [
[
'associationTypeId' => 123
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.hubapi.com/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/create"

payload := strings.NewReader("{\n \"inputs\": [\n {\n \"from\": {\n \"id\": \"<string>\"\n },\n \"to\": {\n \"id\": \"<string>\"\n },\n \"types\": [\n {\n \"associationTypeId\": 123\n }\n ]\n }\n ]\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.hubapi.com/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"from\": {\n \"id\": \"<string>\"\n },\n \"to\": {\n \"id\": \"<string>\"\n },\n \"types\": [\n {\n \"associationTypeId\": 123\n }\n ]\n }\n ]\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.hubapi.com/crm/associations/2026-03/{fromObjectType}/{toObjectType}/batch/create")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"inputs\": [\n {\n \"from\": {\n \"id\": \"<string>\"\n },\n \"to\": {\n \"id\": \"<string>\"\n },\n \"types\": [\n {\n \"associationTypeId\": 123\n }\n ]\n }\n ]\n}"

response = http.request(request)
puts response.read_body
{
  "completedAt": "2023-11-07T05:31:56Z",
  "results": [
    {
      "fromObjectId": "<string>",
      "fromObjectTypeId": "<string>",
      "labels": [
        "<string>"
      ],
      "toObjectId": "<string>",
      "toObjectTypeId": "<string>"
    }
  ],
  "startedAt": "2023-11-07T05:31:56Z",
  "links": {},
  "requestedAt": "2023-11-07T05:31:56Z"
}
{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"fromObjectId": "<string>",
"fromObjectTypeId": "<string>",
"labels": [
"<string>"
],
"toObjectId": "<string>",
"toObjectTypeId": "<string>"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"errors": [
{
"category": "<string>",
"context": {},
"errors": [
{
"message": "<string>",
"code": "<string>",
"context": "{missingScopes=[scope1, scope2]}",
"in": "<string>",
"subCategory": "<string>"
}
],
"links": {},
"message": "<string>",
"status": "<string>",
"id": "<string>",
"subCategory": {}
}
],
"links": {},
"numErrors": 123,
"requestedAt": "2023-11-07T05:31:56Z"
}
{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}

Supported products

Autorisations

Authorization
string
header
requis

The access token received from the authorization server in the OAuth 2.0 flow.

Paramètres de chemin

fromObjectType
string
requis
toObjectType
string
requis

Corps

application/json
inputs
object[]
requis

Réponse

successful operation

completedAt
string<date-time>
requis

L'horodatage du moment où le traitement du lot a été terminé, au format ISO 8601.

results
object[]
requis
startedAt
string<date-time>
requis

L'horodatage du moment où le traitement du lot a commencé, au format ISO 8601.

status
enum<string>
requis

Statut de la demande de traitement par lots : « EN ATTENTE », « TRAITEMENT », « ANNULÉ » ou « TERMINÉ ».

Options disponibles:
CANCELED,
COMPLETE,
PENDING,
PROCESSING

Un objet contenant des liens pertinents relatifs à la demande de lot.

requestedAt
string<date-time>

L'horodatage du moment où la requête de lot a été faite initialement, au format ISO 8601.

Dernière modification le 1 avril 2026