Saltar al contenido principal
POST
/
crm
/
imports
/
2026-03
cURL
curl --request POST \
  --url https://api.hubapi.com/crm/imports/2026-03 \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: multipart/form-data' \
  --form files='@example-file' \
  --form 'importRequest=<string>'
import requests

url = "https://api.hubapi.com/crm/imports/2026-03"

files = { "files": ("example-file", open("example-file", "rb")) }
payload = { "importRequest": "<string>" }
headers = {"Authorization": "Bearer <token>"}

response = requests.post(url, data=payload, files=files, headers=headers)

print(response.text)
const form = new FormData();
form.append('files', '<string>');
form.append('importRequest', '<string>');

const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};

options.body = form;

fetch('https://api.hubapi.com/crm/imports/2026-03', 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/imports/2026-03",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"importRequest\"\r\n\r\n<string>\r\n-----011000010111000001101001--",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: multipart/form-data"
],
]);

$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/imports/2026-03"

payload := strings.NewReader("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"importRequest\"\r\n\r\n<string>\r\n-----011000010111000001101001--")

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

req.Header.Add("Authorization", "Bearer <token>")

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/imports/2026-03")
.header("Authorization", "Bearer <token>")
.body("-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"importRequest\"\r\n\r\n<string>\r\n-----011000010111000001101001--")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.hubapi.com/crm/imports/2026-03")

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

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request.body = "-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"files\"; filename=\"example-file\"\r\nContent-Type: application/octet-stream\r\n\r\n<string>\r\n-----011000010111000001101001\r\nContent-Disposition: form-data; name=\"importRequest\"\r\n\r\n<string>\r\n-----011000010111000001101001--"

response = http.request(request)
puts response.read_body
{
  "createdAt": "2023-11-07T05:31:56Z",
  "id": "<string>",
  "mappedObjectTypeIds": [
    "<string>"
  ],
  "metadata": {
    "counters": {},
    "fileIds": [
      "<string>"
    ],
    "objectLists": [
      {
        "listId": "<string>",
        "objectType": "<string>"
      }
    ]
  },
  "optOutImport": true,
  "updatedAt": "2023-11-07T05:31:56Z",
  "importName": "<string>",
  "importRequestJson": {},
  "importTemplate": {
    "templateId": 123
  }
}
{
"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

Autorizaciones

Authorization
string
header
requerido

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

Cuerpo

multipart/form-data
files
file
importRequest
string

Respuesta

successful operation

createdAt
string<date-time>
requerido

La marca de tiempo en la que se creó el objeto, en formato ISO 8601.

id
string
requerido

El identificador único de esta importación.

mappedObjectTypeIds
string[]
requerido
metadata
object
requerido
optOutImport
boolean
requerido

Si la importación es o no es una lista de personas que no califican para recibir correos.

state
enum<string>
requerido

El estado de la importación.

Opciones disponibles:
CANCELED,
DEFERRED,
DONE,
FAILED,
PROCESSING,
REVERTED,
STARTED
updatedAt
string<date-time>
requerido

La marca de tiempo de cuando se actualizó por última vez el registro de importación, formateada como un instante de ISO 8601.

importName
string

El nombre proporcionado por el usuario para esta importación.

importRequestJson
object

La configuración completa de la solicitud de importación como objeto JSON.

importSource
enum<string>

Indica dónde y cómo se inició la importación.

Opciones disponibles:
API,
CRM_UI,
IMPORT,
MOBILE_ANDROID,
MOBILE_IOS,
SALESFORCE
importTemplate
object
Última modificación el 3 de abril de 2026