Skip to content

Bulk Profile Import Supplemental

NDJSON data- not your regular json payload

NDJSON is a text-based data format consisting of a packed JSON object separated by a newline. Each line is an independent JSON record.

Sending a Bulk Profile Import Request with NDJSON

Bulk Profile Import API endpoint : /bulk/v1/{itemType} itemType : profile NDJSON Sample Request Payload :

   {"clientRefId": "GUID1", "data": {"agent": AGENTDATA}}
   {"clientRefId": "GUID2", "data": {"agent": AGENTDATA}}
   {"clientRefId": "GUID3", "data": {"agent": AGENTDATA}}
   {"clientRefId": "GUID4", "data": {"agency": AGENCYDATA}}
   {"clientRefId": "GUID5", "data": {"agency": AGENCYDATA}}

Where clientRefId is a GUID which is mandatory and should be unique per request and data which contains either an agent and agency record.

You can send both agent and agency records in a single bulk profile import request, but we recommend keeping it to 100 records per import or less

Sample AGENTDATA

pretty-formatted for readability, but in the NDJSON you have to compress it to a single long line

{
  "businessAddress": {
    "addressId": 1000,
    "city": "Hallandale",
    "clientAddressId": "",
    "country": "USA",
    "county": "1026",
    "fromDate": "2019-08-24T14:15:22Z",
    "state": "NY",
    "streetAddress1": "string",
    "streetAddress2": "string",
    "toDate": "2019-08-24T14:15:22Z",
    "zip": "33001"
  },
  "contact": {
    "additionalEmailAddress": "qa@reged.com",
    "businessEmailAddress": "qa@reged.com",
    "businessFaxNumber": "1112223331",
    "businessPhoneExtension": "111",
    "businessPhoneNumber": "17549127046",
    "cellPhoneNumber": "17549127046",
    "homeEmailAddress": "qa@reged.com",
    "homeFaxNumber": "1112223331",
    "homePhoneNumber": "17549127046",
    "suppressEmail": "N"
  },
  "currentEmployment": {
    "city": "Hallandale",
    "country": "USA",
    "county": "1026",
    "employerName": "Reged",
    "employmentId": 0,
    "hireDate": "2019-08-24T14:15:22Z",
    "investmentRelated": "string",
    "jobTitle": "QA",
    "state": "FL",
    "streetAddress1": "string",
    "streetAddress2": "string",
    "supervisorName": "string",
    "zip": "33001"
  },
  "demographic": {
    "affiliatedWithBank": "Y",
    "alias": "string",
    "backOfficeNrf": "N",
    "billingCode": "001",
    "branchLocation": "NY",
    "cityOfBirth": "NY",
    "costCenter": "string",
    "country": "string",
    "countryOfBirth": "string",
    "crdNumber": "123124",
    "customField1": "string",
    "customField2": "string",
    "customField3": "string",
    "customField4": "string",
    "customField5": "string",
    "customField6": "string",
    "customField7": "string",
    "customField8": "string",
    "customField9": "string",
    "customField10": "string",
    "deptNumber": "string",
    "driverLicenseNumber": "string",
    "driverLicenseState": "NY",
    "employerId": "string",
    "employersFein": "88888888",
    "empStatus": "7040",
    "firstName": "Konstantin",
    "gender": "M",
    "jobTitle": "QA",
    "lastName": "string",
    "middleInitial": "string",
    "niprNumber": "8888888",
    "nmlsRegPriorFirmYn": "string",
    "nmlsRenewalStatus": "7040",
    "residentState": "NY",
    "salutation": "Mr",
    "stateOfBirth": "NY",
    "suffix": "string"
  },
  "hierarchy": {
    "hierarchyCode": "string",
    "manager1": "string",
    "manager2": "string",
    "manager3": "string",
    "manager4": "string",
    "manager5": "string",
    "manager6": "string",
    "manager7": "string",
    "manager8": "string",
    "manager9": "string",
    "manager10": "string",
    "supervisor": "string"
  },
  "information": {
    "iaBrochureSupplementDate": "2019-08-24T14:15:22Z",
    "iaBrochureSupplementRequired": "Y",
    "iaSupervisorName": "string",
    "iaSupervisorPhoneNumber": "17549127046",
    "iaSupervisorTitle": "string"
  },
  "mailingAddress": {
    "addressId": 100,
    "city": "string",
    "clientAddressId": "",
    "country": "USA",
    "county": "1026",
    "fromDate": "2019-08-24T14:15:22Z",
    "state": "NY",
    "streetAddress1": "Street 1",
    "streetAddress2": "Street 2",
    "toDate": "2019-08-24T14:15:22Z",
    "zip": "33001"
  },
  "primaryAddress": {
    "addressId": 100,
    "city": "NY",
    "clientAddressId": "",
    "country": "string",
    "county": "1026",
    "fromDate": "2019-08-24T14:15:22Z",
    "state": "NY",
    "streetAddress1": "string",
    "streetAddress2": "string",
    "toDate": "2019-08-24T14:15:22Z",
    "zip": "33001"
  },
  "profileKey": "9900575426",
  "residentAddress": {
    "addressId": 100,
    "city": "Hallandale",
    "clientAddressId": "",
    "country": "USA",
    "county": "1026",
    "fromDate": "2019-08-24T14:15:22Z",
    "state": "FL",
    "streetAddress1": "Hallandale Streen 1990",
    "streetAddress2": "",
    "toDate": "2019-08-24T14:15:22Z",
    "zip": "33001"
  },
  "ssn": "974261718"
}

Sample AGENCYDATA

pretty-formatted for readability, but in the NDJSON you have to compress it to a single long line

{
  "businessAddress": {
    "addressId": 2432,
    "city": "string",
    "clientAddressId": "0",
    "country": "USA",
    "county": "string",
    "fromDate": "2019-08-24T14:15:22Z",
    "state": "CA",
    "streetAddress1": "string",
    "streetAddress2": "string",
    "toDate": "2019-08-24T14:15:22Z",
    "zip": "12345"
  },
  "contacts": [
    {
      "businessFaxNumber": "1112223333",
      "businessPhoneExtension": "1112",
      "businessPhoneNumber": "1112223335",
      "cellPhoneNumber": "1112223336",
      "clientContactId": "0",
      "contactId": 0,
      "contactType": "7162",
      "emailAddress": "qa@reged.com",
      "firstName": "string",
      "lastName": "string"
    }
  ],
  "demographic": {
    "affiliatedWithBank": "N",
    "businessFax": "1112223331",
    "businessPhone": "2112223331",
    "costCenter": "2411",
    "firmBillingCode": "3024",
    "customField1": "1string",
    "customField2": "2string",
    "customField3": "3string",
    "dbaName": "test",
    "domicileCountry": "USA",
    "domicileState": "FL",
    "emailAddress": "qa@reged.com",
    "firmCrd": "202524",
    "firmId": "3202524",
    "firmName": "Create API 24 updat 03",
    "incorporationDate": "2010-08-24T14:15:22Z",
    "nipr": "60524",
    "organizationDate": "2011-08-24T14:15:22Z",
    "organizationType": 23017,
    "parentFirmProfileKey": "",
    "region": "GA",
    "startDate": "2012-08-24T14:15:22Z",
    "status": 7040,
    "terminationDate": "2029-08-24T14:15:22Z",
    "webAddress": "qa@reged.com"
  },
  "mailingAddress": {
    "addressId": 2432,
    "city": "string",
    "clientAddressId": "0",
    "country": "string",
    "county": "string",
    "fromDate": "2019-08-24T14:15:22Z",
    "state": "CO",
    "streetAddress1": "string",
    "streetAddress2": "string",
    "toDate": "2019-08-24T14:15:22Z",
    "zip": "12345"
  },
  "primaryAddress": {
    "addressId": 2432,
    "city": "string",
    "clientAddressId": "0",
    "country": "string",
    "county": "string",
    "fromDate": "2019-08-24T14:15:22Z",
    "state": "CO",
    "streetAddress1": "string",
    "streetAddress2": "string",
    "toDate": "2019-08-24T14:15:22Z",
    "zip": "12345"
  },
  "profileKey": "2045880",
  "tin": "204823755"
}

Agent Request Bulk Payload in NDJSON Format

{"clientRefId" :"F93C855D-48DE-429A-9192-44F3272634F2","data":{"agent":{"contact":{"businessEmailAddress":"qa@reged.com"},"demographic":{"empStatus":"7040","firstName":"John","lastName":"Mike"},"profileKey":"107225822","ssn":"107225876"}}}
{"clientRefId" :"F683AFB0-4EA6-4C66-A433-CA21D3ADF3F5","data":{"agent":{"contact":{"businessEmailAddress":"qa@reged.com"},"demographic":{"empStatus":"7040","firstName":"Tom","lastName":"Mike"},"profileKey":"107225823","ssn":"107225823"}}}
{"clientRefId" :"2358C637-A0A7-4A01-9ACD-03A06205E903","data":{"agent":{"contact":{"businessEmailAddress":"qa@reged.com"},"demographic":{"empStatus":"7040","firstName":"Ryan","lastName":"Mike"},"profileKey":"107225824","ssn":"107225866"}}}
{"clientRefId" :"C642501D-D293-451B-9525-38576D258830","data":{"agent":{"contact":{"businessEmailAddress":"qa@reged.com"},"demographic":{"empStatus":"7040","firstName":"Brian","lastName":"Mike"},"profileKey":"107225825","ssn":"107225833"}}}

Agency Request Bulk Payload in NDJSON Format

{"clientRefId" :"60546407-B4A6-4095-B659-3D4AD4EA6B21","data":{"agency":{"demographic":{"firmName":"CreateAPI","status":7040},"profileKey":"544823730","tin":"204823731"}}}
{"clientRefId" :"6510CE42-4CAD-450B-88C1-EB0D5C9BA6CA","data":{"agency":{"demographic":{"firmName":"CreateAPI2","status":7040},"profileKey":"874823730","tin":"204823732"}}}
{"clientRefId" :"8248376D-CD85-4C7F-8728-83120C9A11CA","data":{"agency":{"demographic":{"firmName":"CreateAPI3","status":7040},"profileKey":"894823730","tin":"204823733"}}}
{"clientRefId" :"60BED357-6726-465B-B9D5-FEDE275A3526","data":{"agency":{"demographic":{"firmName":"CreateAPI4","status":7040},"profileKey":"184823730","tin":"204823734"}}}

Bulk Import Response

After successful post, will get unique bulkRequestId in response.

{
  "bulkRequestId": "153b9a0d-d34b-44ca-80ee-9d64e795a64e"
}

Bulk Import Status check

  1. Bulk API Status endpoint [/bulk/v1/status/{bulkRequestId}]

Through this endpoint user will get status of bulk profile import endpoint either COMPLETED or FAILED.

Bulk Import Status Check Response

{
  "bulkRequestId": "477946ef-b997-4405-bea8-71e8149cce0b",
  "processingStatus": "COMPLETE",
  "operationDetails": {
    "status": "PARTIAL_SUCCESS",
    "totalItems": 4,
    "success": 1,
    "failures": 3,
    "requestItems": [
      {
        "clientRefId": "1f55aa75-5d53-4b6c-bfd2-b56764387e84",
        "status": "FAILED",
        "retryable": false,
        "errorMessage": [null]
      },
      {
        "clientRefId": "aee4c1d7-abd6-4ca3-bac4-b62013e7fcfe",
        "status": "COMPLETED",
        "retryable": false,
        "errorMessage": [null]
      },
      {
        "clientRefId": "c98aa4b9-d29c-4acc-b41e-6dcdae134e0c",
        "status": "FAILED",
        "retryable": false,
        "errorMessage": [null]
      },
      {
        "clientRefId": "66a830f4-0cbf-478c-9f6d-58afaadb0f9f",
        "status": "FAILED",
        "retryable": false,
        "errorMessage": [null]
      }
    ]
  }
}

Schema details

GUID is Globally Unique Identifier, which we need to create and provide in request.

For Agency Status : 7040 - Active, 7041 - InActive and Agent EmpStatus : 7040 - Active, 7041 - InActive

Agent

Root Fields

Field NameType / Requirements
ProfileKeyrequired, string non-empty
Ssnrequired, string non-empty

Not all imports require all sections, and the rules for which ones are required on a new record vs an update are configurable per client.

BusinessAddress (AgentImportAddressModel)

Field NameType / Requirements
DynamicDataobject or null
AddressIdinteger or null (int64)
Cityrequired, string non-empty
ClientAddressIdstring or null
Countrystring or null
Countystring or null
FromDatestring or null (date-time)
Staterequired, string non-empty
StreetAddress1required, string non-empty
StreetAddress2string or null
ToDatestring or null (date-time)
Ziprequired, string non-empty

Contact (AgentImportContactModel)

Field NameType / Requirements
DynamicDataobject or null
AdditionalEmailAddressstring or null
BusinessEmailAddressrequired, string non-empty
BusinessFaxNumberstring or null
BusinessPhoneExtensionstring or null
BusinessPhoneNumberstring or null
CellPhoneNumberstring or null
HomeEmailAddressstring or null
HomeFaxNumberstring or null
HomePhoneNumberstring or null
SuppressEmailstring or null

CurrentEmployment (AgentImportEmploymentHistoryModel)

Field NameType / Requirement
DynamicDataobject or null
Cityrequired, string non-empty
Countrystring or null
Countystring or null
EmployerNamerequired, string non-empty
EmploymentIdinteger or null (int64)
HireDaterequired, string (date-time)
InvestmentRelatedstring or null
JobTitlerequired, string non-empty
Staterequired, string non-empty
StreetAddress1required, string non-empty
StreetAddress2string or null
SupervisorNamestring or null
Ziprequired, string non-empty

Demographic (AgentImportDemographicModel)

Field NameType / Requirements
DynamicDataobject or null
AffiliatedWithBankstring or null
Aliasstring or null
BackOfficeNrfstring or null
BillingCodestring or null
BranchLocationstring or null
CityOfBirthstring or null
CostCenterstring or null
Countrystring or null
CountryOfBirthstring or null
CrdNumberstring or null
CustomField1string or null
CustomField2string or null
CustomField3string or null
CustomField4string or null
CustomField5string or null
CustomField6string or null
CustomField7string or null
CustomField8string or null
CustomField9string or null
CustomField10string or null
DateOfBirthstring or null (date-time)
DeptNumberstring or null
DriverLicenseNumberstring or null
DriverLicenseStatestring or null
EmployerIdstring or null
EmployersFeinstring or null
EmpStatusrequired, string non-empty
FirstNamerequired, string non-empty
Genderstring or null
HireDatestring or null (date-time)
JobTitlestring or null
LastNamerequired, string non-empty
MiddleInitialstring or null
NiprNumberstring or null
NmlsRegPriorFirmYnstring or null
NmlsRenewalDatestring or null (date-time)
NmlsRenewalStatusstring or null
ResidentStatestring or null
RfoCodestring or null
Salutationstring or null
StateOfBirthstring or null
Suffixstring or null
TerminationDatestring or null (date-time)
UsCitizenstring or null

Hierarchy (AgentImportHierarchyModel)

Field NameType / Requirements
DynamicDataobject or null
HierarchyCodestring or null
Manager1string or null
Manager2string or null
Manager3string or null
Manager4string or null
Manager5string or null
Manager6string or null
Manager7string or null
Manager8string or null
Manager9string or null
Manager10string or null
Supervisorstring or null

Information (AgentImportInformationModel)

Field NameType / Requirements
DynamicDataobject or null
IaBrochureSupplementDatestring or null (date-time)
IaBrochureSupplementRequiredstring or null
IaSupervisorNamestring or null
IaSupervisorPhoneNumberstring or null
IaSupervisorTitlestring or null

MailingAddress (AgentImportAddressModel)

Field NameType / Requirements
DynamicDataobject or null
AddressIdinteger or null (int64)
Cityrequired, string non-empty
ClientAddressIdstring or null
Countrystring or null
Countystring or null
FromDatestring or null (date-time)
Staterequired, string non-empty
StreetAddress1required, string non-empty
StreetAddress2string or null
ToDatestring or null (date-time)
Ziprequired, string non-empty

ResidentAddress (AgentImportAddressModel)

Field NameType / Requirements
DynamicDataobject or null
AddressIdinteger or null (int64)
Cityrequired, string non-empty
ClientAddressIdstring or null
Countrystring or null
Countystring or null
FromDatestring or null (date-time)
Staterequired, string non-empty
StreetAddress1required, string non-empty
StreetAddress2string or null
ToDatestring or null (date-time)
Ziprequired, string non-empty

Agency Root Fields

Field NameType / Requirements
ProfileKeyrequired, string non-empty
Tinrequired, string non-empty

BusinessAddress (FirmImportAddressModel)

Field NameType / Requirements
DynamicDataobject or null
AddressIdinteger or null (int64)
Cityrequired, string non-empty
ClientAddressIdstring or null
Countrystring or null
Countystring or null
FromDatestring or null (date-time)
Staterequired, string non-empty
StreetAddress1required, string non-empty
StreetAddress2string or null
ToDatestring or null (date-time)
Ziprequired, string non-empty

Contacts (Array of FirmImportContactModel)

Field NameType / Requirements
DynamicDataobject or null
BusinessFaxNumberstring or null
BusinessPhoneExtensionstring or null
BusinessPhoneNumberstring or null
CellPhoneNumberstring or null
ClientContactIdstring or null
ContactIdinteger or null (int64)
ContactTyperequired, string non-empty
EmailAddressrequired, string non-empty
FirstNamestring or null
LastNamestring or null

Demographic (FirmImportDemographicModel)

Field NameType / Requirements
DynamicDataobject or null
AffiliatedWithBankstring or null
BusinessFaxstring or null
BusinessPhonestring or null
CostCenterstring or null
FirmBillingCodestring or null
CustomField1string or null
CustomField2string or null
CustomField3string or null
DbaNamestring or null
DomicileCountrystring or null
DomicileStatestring or null
EmailAddressstring or null
FirmCrdstring or null
FirmIdstring or null
FirmNamerequired, string non-empty
IncorporationDatestring or null
Niprstring or null
OrganizationDatestring or null (date-time)
OrganizationTypeinteger or null (int64)
ParentFirmProfileKeystring or null
Regionstring or null
StartDatestring or null (date-time)
Statusrequired, integer (int64)
TerminationDatestring or null (date-time)
WebAddressstring or null

MailingAddress (FirmImportAddressModel)

Field NameType / Requirements
DynamicDataobject or null
AddressIdinteger or null (int64)
Cityrequired, string non-empty
ClientAddressIdstring or null
Countrystring or null
Countystring or null
FromDatestring or null (date-time)
Staterequired, string non-empty
StreetAddress1required, string non-empty
StreetAddress2string or null
ToDatestring or null (date-time)
Ziprequired, string non-empty

PrimaryAddress (FirmImportAddressModel)

Field NameType / Requirements
DynamicDataobject or null
AddressIdinteger or null (int64)
Cityrequired, string non-empty
ClientAddressIdstring or null
Countrystring or null
Countystring or null
FromDatestring or null (date-time)
Staterequired, string non-empty
StreetAddress1required, string non-empty
StreetAddress2string or null
ToDatestring or null (date-time)
Ziprequired, string non-empty