# ImportProductsTobaccoController_ImportProductsTobacco_Put

Import tobacco products.

`PUT /api/v1/ImportProductsTobacco/ImportProductsTobacco`

**API:** Excise Platform API
**Tag:** ImportProductsTobaccoController
**API Version:** v1
**Base URL:** https://excise.avalara.com
**Content-Type:** `application/json`
**Accepts:** `application/json`
**Authentication:** Basic (username + license key)

Source: https://developer.avalara.com/products/excise/api/methods/ImportProductsTobaccoController/ImportProductsTobaccoController_ImportProductsTobacco_Put/

## Description

Imports tobacco product records into the Excise Platform. The import engine processes the provided
tobacco products and returns a summary of the results including inserted, updated, and failed records.
            
If manufacturer assignment is enabled, manufacturers are imported first and linked to their
corresponding tobacco products before the product import is executed.

## Parameters

| Name | Type | In | Required | Description |
|---|---|---|---|---|
| `x-company-id` | integer | header | Yes | Company ID that owns the data. |
| `X-Avalara-Client` | string | header | No | Identifies the software you are using to call this API. For more information on the client header, see Client Headers. |

## Request Body

**Schema:** `Avalara.Excise.Common.Contracts.Services.ProductTobaccoImportRequest`

This is the request object for the REST service

| Property | Type | Required | Description |
|---|---|---|---|
| `TobaccoProducts` | Avalara.Excise.Common.Contracts.Services.RestProductTobacco[] | No | Tobacco Products |
| `ImportName` | string | No | Import Name Example: `string`. |
| `UpdateMatchesMode` | string | No | Update Matches Mode Values: `NONE`, `INSERT`, `UPDATE`, `COPY`. Example: `NONE`. |
| `AssignManufacturers` | boolean | No | Assign Manufacturers Example: `false`. |
| `AssignDefaultManufacturer` | boolean | No | Assign Default Manufacturer Example: `false`. |
| `TerminateImmediate` | boolean | No | Terminate Immediate Example: `false`. |
| `ExactMatchCountryCode` | boolean | No | Exact Match Country Code Example: `false`. |
| `ExactMatchJurisdiction` | boolean | No | Exact Match Jurisdiction Example: `false`. |
| `ExactMatchName` | boolean | No | Exact Match Name Example: `false`. |
| `ExactMatchStateAssignedCode` | boolean | No | Exact Match State Assigned Code Example: `false`. |
| `ExactMatchStyle` | boolean | No | Exact Match Style Example: `false`. |
| `ExactMatchUnitOfMeasure` | boolean | No | Exact Match Unit of Measure Example: `false`. |
| `ExactMatchUnitsPerPackage` | boolean | No | Exact Match Units Per Package Example: `false`. |
| `ExactMatchUpc` | boolean | No | Exact Match Upc Example: `false`. |
| `ExactMatchProductCode` | boolean | No | Exact Match Product Code Example: `false`. |
| `ExactMatchCustomId` | boolean | No | Exact Match Custom Id Example: `false`. |
| `ExactMatchDescription` | boolean | No | Exact Match Description Example: `false`. |
| `ExactMatchModifiedRiskType` | boolean | No | Exact Match Modified Risk Type Example: `false`. |
| `ExactMatchModifiedRiskNumber` | boolean | No | Exact Match Modified Risk Number Example: `false`. |
| `ExactMatchUnitVolume` | boolean | No | Exact Match Unit Volume Example: `false`. |
| `ExactMatchUnitWeight` | boolean | No | Exact Match Unit Weight Example: `false`. |
| `ExactMatchUnitLength` | boolean | No | Exact Match Unit Length Example: `false`. |
| `ExactMatchJurisdictionDescriptionCode` | boolean | No | Exact Match Jurisdiction Description Code Example: `false`. |
| `ExactMatchUnitVolumeUnitOfMeasure` | boolean | No | Exact Match Unit Volume Unit of Measure Example: `false`. |
| `ExactMatchUnitWeightUnitOfMeasure` | boolean | No | Exact Match Unit Weight Unit of Measure Example: `false`. |
| `ExactMatchUnitLengthUnitOfMeasure` | boolean | No | Exact Match Unit Length Unit of Measure Example: `false`. |
| `LoadId` | string | No | Load Id Example: `a1b2c3d4-e5f6-7890-abcd-ef1234567890`. |
| `ProductTobaccoMatchSku` | boolean | No | Product Tobacco Match Sku Example: `false`. |
| `ExactMatchPackSize` | boolean | No | Exact Match Pack Size Example: `false`. |
| `ProductTobaccoDetermineProductJurisdictions` | boolean | No | Product Tobacco Determine Product Jurisdictions Example: `false`. |
| `ProductTobaccoProductCrossReference` | boolean | No | Product Tobacco Product Cross Reference Example: `false`. |
| `ProductsTobaccoAttributeUpdateMode` | string | No | Products Tobacco Attribute Update Mode Values: `INSERT`, `REPLACE`, `NOCHANGE`. Example: `INSERT`. |
| `ProductsTobaccoJurisdictionUpdateMode` | string | No | Products Tobacco Jurisdiction Update Mode Values: `REPLACE`, `ADDNEW`, `NOCHANGE`. Example: `REPLACE`. |
| `UpdateMatchesModeManufacturer` | string | No | Update Matches Mode Values: `NONE`, `INSERT`, `UPDATE`, `COPY`. Example: `NONE`. |
| `ManufacturerJurisdictionUpdateMode` | string | No | Manufacturer Jurisdiction Update Mode Values: `REPLACE`, `ADDNEW`, `NOCHANGE`. Example: `REPLACE`. |
| `ExactMatchCountryCodeManufacturer` | boolean | No | Exact Match Country Code Example: `false`. |
| `ExactMatchJurisdictionManufacturer` | boolean | No | Exact Match Jurisdiction Example: `false`. |
| `ExactMatchLegalNameManufacturer` | boolean | No | Exact Match Legal Name Example: `false`. |
| `ExactMatchMsaStatusManufacturer` | boolean | No | Exact Match Msa Status Example: `false`. |
| `ExactMatchIdTypeIdCodeManufacturer` | boolean | No | Exact Match Id Type Id Code Example: `false`. |
| `ExactMatchCustomIdManufacturer` | boolean | No | Exact Match Custom Id Example: `false`. |
| `ExactMatchLicenseNumberManufacturer` | boolean | No | Exact Match License Number Example: `false`. |
| `ExactMatchTradeNameManufacturer` | boolean | No | Exact Match Trade Name Example: `false`. |
| `ExactMatchManufacturerCodeManufacturer` | boolean | No | Exact Match Manufacturer Code Example: `false`. |
| `TerminateNewRecordsManufacturer` | boolean | No | Terminate New Records Example: `false`. |

## Responses

| Status | Description | Schema |
|---|---|---|
| 200 | Returns a summary of the tobacco product import results. | `Avalara.Excise.Common.Contracts.Services.RestProductTobaccoImportResultSummary` |

### 200 Response: `Avalara.Excise.Common.Contracts.Services.RestProductTobaccoImportResultSummary`

Summarizes the results of a tobacco product import operation, including counts and per-record results.

| Property | Type | Required | Description |
|---|---|---|---|
| `ProductTobaccoResults` | Avalara.Excise.Common.Contracts.Services.RestProductTobaccoResult[] | No | The per-product results from the tobacco product import. |
| `Status` | string | No | The processing status of the import operation (for example, success or warning). Example: `Inserted`. |
| `NumberProcessed` | integer | No | The total number of records processed during the import. Example: `10`. |
| `NumberInserted` | integer | No | The total number of records inserted during the import. Example: `8`. |
| `NumberUpdated` | integer | No | The total number of records updated during the import. Example: `1`. |
| `NumberFailed` | integer | No | The total number of records that failed during the import. Example: `1`. |
| `NumberManufacturerProcessed` | integer | No | The total number of manufacturer records processed during the import. Example: `10`. |
| `NumberManufacturerInserted` | integer | No | The total number of manufacturer records inserted during the import. Example: `8`. |
| `NumberManufacturerUpdated` | integer | No | The total number of manufacturer records updated during the import. Example: `1`. |
| `NumberManufacturerFailed` | integer | No | The total number of manufacturer records that failed during the import. Example: `1`. |

## Example Request

```bash
curl -X PUT "https://excise.avalara.com/api/v1/ImportProductsTobacco/ImportProductsTobacco" \
  -H "Authorization: Basic <credentials>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
  "TobaccoProducts": [
    {
      "CountryCode": "USA",
      "Jurisdiction": "AL",
      "Upc": "012345678901",
      "Name": "Premium Gold",
      "ProductCode": "CIG-001",
      "CustomId": "CLIENT-PT-1001",
      "EffectiveDate": "2024-01-01T00:00:00",
      "ObsoleteDate": "2028-12-31T23:59:59",
      "LockedDate": "2024-03-15T00:00:00",
      "BrandCode": "PGLD",
      "Style": "King Size",
      "UnitOfMeasure": "CT",
      "UnitsPerPackage": 20,
      "Description": "Premium Gold Cigarettes King Size",
      "ModifiedRiskType": "MRTP",
      "ModifiedRiskNumber": "MR-2024-88421",
      "UnitVolume": 0.85,
      "UnitVolumeUnitOfMeasure": "ML",
      "UnitWeight": 1.05,
      "UnitWeightUnitOfMeasure": "G",
      "UnitLength": 84,
      "UnitLengthUnitOfMeasure": "MM",
      "JurisdictionDescriptionCode": "JD-AL-100",
      "Sku": "SKU-CIG-001",
      "PackSize": 20,
      "Manufacturer": {
        "CountryCode": "USA",
        "Jurisdiction": "AL",
        "MsaStatus": "PM",
        "IdType": "FEIN",
        "IdCode": "12-3456789",
        "EffectiveDate": "2024-01-01T00:00:00",
        "ObsoleteDate": "2028-12-31T23:59:59",
        "LicenseNumber": "LIC-2024-001",
        "LegalName": "National Tobacco Company",
        "TradeName": "NatTobacco",
        "PhysicalAddress1": "456 Industrial Blvd",
        "PhysicalAddress2": "Suite 200",
        "PhysicalCity": "Richmond",
        "PhysicalJurisdiction": "VA",
        "PhysicalPostalCode": "23219",
        "PhysicalCountryCode": "USA",
        "PhysicalCounty": "Henrico",
        "PhysicalCountyCode": "085",
        "MailingAddress1": "456 Industrial Blvd",
        "MailingAddress2": "Attn: Accounts Payable",
        "MailingCity": "Richmond",
        "MailingJurisdiction": "AL",
        "MailingPostalCode": "23219",
        "MailingCountryCode": "USA",
        "MailingCounty": "Henrico",
        "MailingCountyCode": "085",
        "CustomId": "CUST-MFG-42",
        "ManufacturerCode": "MFG-001",
        "ManufacturerJurisdictions": [
          {
            "CountryCode": "USA",
            "Jurisdiction": "AL",
            "MsaStatus": "PM",
            "LicenseNumber": "LIC-2024-001",
            "ManufacturerCode": "MFG-001",
            "Status": "Inserted",
            "Message": "Jurisdiction record saved successfully."
          }
        ],
        "ManufacturerMappingId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
      },
      "ProductTobaccoAttributes": [
        {
          "AttributeName": "FilterType",
          "AttributeValue": "Charcoal"
        }
      ],
      "ProductTobaccoJurisdictions": [
        {
          "CountryCode": "USA",
          "Jurisdiction": "AL",
          "ProductCode": "CIG-001",
          "BrandCode": "PGLD",
          "Style": "King Size",
          "JurisdictionDescriptionCode": "JD-AL-100",
          "ModifiedRiskType": "MRTP",
          "ModifiedRiskNumber": "MR-2024-88421"
        }
      ],
      "ProductTobaccoMappingId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
    }
  ],
  "ImportName": "string",
  "UpdateMatchesMode": "NONE",
  "AssignManufacturers": false,
  "AssignDefaultManufacturer": false,
  "TerminateImmediate": false,
  "ExactMatchCountryCode": false,
  "ExactMatchJurisdiction": false,
  "ExactMatchName": false,
  "ExactMatchStateAssignedCode": false,
  "ExactMatchStyle": false,
  "ExactMatchUnitOfMeasure": false,
  "ExactMatchUnitsPerPackage": false,
  "ExactMatchUpc": false,
  "ExactMatchProductCode": false,
  "ExactMatchCustomId": false,
  "ExactMatchDescription": false,
  "ExactMatchModifiedRiskType": false,
  "ExactMatchModifiedRiskNumber": false,
  "ExactMatchUnitVolume": false,
  "ExactMatchUnitWeight": false,
  "ExactMatchUnitLength": false,
  "ExactMatchJurisdictionDescriptionCode": false,
  "ExactMatchUnitVolumeUnitOfMeasure": false,
  "ExactMatchUnitWeightUnitOfMeasure": false,
  "ExactMatchUnitLengthUnitOfMeasure": false,
  "LoadId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "ProductTobaccoMatchSku": false,
  "ExactMatchPackSize": false,
  "ProductTobaccoDetermineProductJurisdictions": false,
  "ProductTobaccoProductCrossReference": false,
  "ProductsTobaccoAttributeUpdateMode": "INSERT",
  "ProductsTobaccoJurisdictionUpdateMode": "REPLACE",
  "UpdateMatchesModeManufacturer": "NONE",
  "ManufacturerJurisdictionUpdateMode": "REPLACE",
  "ExactMatchCountryCodeManufacturer": false,
  "ExactMatchJurisdictionManufacturer": false,
  "ExactMatchLegalNameManufacturer": false,
  "ExactMatchMsaStatusManufacturer": false,
  "ExactMatchIdTypeIdCodeManufacturer": false,
  "ExactMatchCustomIdManufacturer": false,
  "ExactMatchLicenseNumberManufacturer": false,
  "ExactMatchTradeNameManufacturer": false,
  "ExactMatchManufacturerCodeManufacturer": false,
  "TerminateNewRecordsManufacturer": false
}'
```