ASCI API

| Home | Swagger | All Forms | Documentation | HTS →

Bulk Import module page - how it works, an interactive test form, and the endpoint reference, all in one place. Set your tenant API Key in the Setup block below; every request sends the ApiKey header. See All Forms for the combined surface or Home for the module index.

How it works

Bulk master-data import.

Bulk Import

Bulk Import idempotently upserts master data into the API store: POST /api/Import/Entities. Choose a mode, select which entity groups (customers / manufacturers / products / vendors) to include, paste the JSON body, and Submit. The response is an ImportReport with inserted / updated / duplicate / error counts. Because it is idempotent, re-running the same payload is safe.

Setup

API key + base URL used by every request below.

Credentials

Leave Base URL blank to call this same server with relative paths (the normal case). Set it (e.g. https://asci-api.asciofmiami.com) to point the forms at another host. Every request below sends the ApiKey header.

Sent on every create / submit POST. Click Generate for a fresh one, or a new one is auto-generated per submit if blank.

Test form

Interactive form - POSTs to the API and shows the JSON response + HTTP status.

Bulk-import master data into the API store: POST /api/Import/Entities (idempotent upsert). Choose a mode and which entity groups to include, paste the JSON body, and Submit. The response is an ImportReport (inserted / updated / duplicates / errors).

The toggles control which top-level arrays are forwarded from the body below. Unchecked groups are stripped before POST so you can test partial imports without editing the JSON.

Endpoints

Import endpoint (api/Import). Full request & response schema below.

Import endpoints

MethodPathPurpose
POST/api/Import/EntitiesIdempotent bulk upsert of customers / manufacturers / products / carriers / ref_codes / companies / vendors. Returns an ImportReport.

Schema

Request body for POST /api/Import/Entities. The boolean toggles select which entity sets to process; each toggle pairs with its own *_records array. Idempotent UPSERT: in add mode an existing key is recorded as a duplicate and skipped; in replace mode it is updated.

Request (envelope)

FieldTypeReq?Description
modestringNoadd (default) or replace.
customersboolNoProcess the customer_records array.
manufacturersboolNoProcess the manufacturer_records array.
productsboolNoProcess the product_records array.
foreignEntitiesboolNoDEPRECATED alias for products (either toggle enables the product import). Prefer products.
carriersboolNoProcess the carrier_records array.
ref_codesboolNoProcess the ref_code_records array.
companiesboolNoProcess the company_records array.
vendorsboolNoProcess the vendors array (A/P vendor master).
customer_recordsarray<Customer>NoCustomer profiles (see Customer below).
manufacturer_recordsarray<Manufacturer>NoMID master records (see Manufacturer below).
product_recordsarray<Product>NoCatalog products (see Product below).
carrier_recordsarray<Carrier>NoSCAC / carrier master (see Carrier below).
ref_code_recordsarray<RefCode>NoGeneric reference codes (see RefCode below).
company_recordsarray<Company>NoOSAS company master (see Company below).
vendorsarray<Vendor>NoA/P vendor master records (see Vendor below).
Customer record (customer_records[])
FieldTypeReq?MaxDescription
codestringYes10Customer / importer code (key).
id_qualifierstringNo2Importer ID qualifier.
id_numberstringNo15Importer ID number.
namestringNo35Customer name.
city / state / zipstringNo20 / 2 / 10City, state, postal code.
irs_nostringNo15IRS number.
suretystringNo35Surety company.
bond_typestringNo2Bond type.
continuous_bond_nostringNo15Continuous bond number.
manufacturer_nostringNo15Linked manufacturer / MID number.
address_1 / address_2stringNo35Address lines.
countrystringNo2Country (ISO 2-char).
defaultsobjectNo-Opaque per-customer ISF defaults, stored verbatim.
Manufacturer record (manufacturer_records[])
FieldTypeReq?MaxDescription
midstringYes15Manufacturer ID (key).
namestringNo35Manufacturer name.
address_1 / address_2stringNo35Address lines.
citystringNo35City.
state / postal_code / countrystringNo2 / 10 / 2State, postal code, country.
Product record (product_records[])
FieldTypeReq?MaxDescription
product_codestringYes30Product code (key).
descriptionstringNo70Product description.
tariff_nostringNo10HTS tariff number.
manufacturer_idstringNo15Optional linked MID.
Carrier record (carrier_records[])
FieldTypeReq?Description
codestringYesSCAC / carrier code (key). Source: legacy IPZPCARRIER.
namestringNoCarrier name.
modestringNoTransport mode (e.g. O=ocean, A=air, T=truck).
Reference-code record (ref_code_records[])
FieldTypeReq?Description
kindstringYesLookup namespace (key), e.g. country, foreign_port, equipment, firms_code.
codestringYesCode within the kind namespace (key).
namestringNoHuman-readable name / description.
extra_jsonstringNoOpaque JSON for extra source fields, stored verbatim.
Company record (company_records[])
FieldTypeReq?Description
cidstringYesCompany ID / CID (key). Source: legacy OSCOMP.
namestringNoCompany name.
address_1 / address_2stringNoAddress lines.
city / state / zip / countrystringNoCity, state, postal code, country.
phonestringNoPhone.
Vendor record (vendors[])
FieldTypeReq?MaxDescription
codestringYes15Vendor code / AP_VEND_CODE (key). Source: legacy A/P master APVE{CID}.
namestringNo-Vendor name.
vendor_type / contactstringNo-Vendor type, contact name.
address_1 / address_2 / address_3stringNo-Address lines.
city / state / zip / country / overseasstringNo-Location.
terms_code / form_codestringNo-Payment terms + form code.
gl_acct_ap / gl_acct_no / our_acct_no / recipient_idstringNo-A/P + expense GL accounts, our account no., 1099 recipient id.
payto_*stringNo-Remit-to (pay-to) name / address / city / state / zip / country / attn / phone. Full field list on the Vendors page.

Response (ImportReport)

FieldTypeDescription
modestringEcho of the request mode.
customers / manufacturers / products / carriers / companies / vendorsEntryPer-entity-type result block (see below). Null when that set was not processed.
ref_codesintScalar count of reference codes upserted (not an Entry block).
Entry block
FieldTypeDescription
insertedintRecords newly inserted.
updatedintRecords updated (replace mode).
duplicatesarray<string>Existing keys skipped (add mode), for manual reconciliation.
errorsarray<string>Records that could not be imported (missing key, etc.).