API Docs / Schemas / ServiceCatalogImportRowDto

ServiceCatalogImportRowDto

A single service parsed from an uploaded services catalog CSV, ready for user review.
Returned by the analyze endpoint; the RowId is the key used in the import selections.

Properties

Name Type Description
rowIdstring

Stable key for this row within the file: the Ignition #ID, the native Code,
or a synthetic "row-{n}" for native rows without a code

Stable key for this row within the file: the Ignition #ID, the native Code,
or a synthetic "row-{n}" for native rows without a code

actionstring

What importing this row will do: "Create", "Update" (native row whose Code matches
an existing service) or "Skip" (unusable row — see SkipReason)

What importing this row will do: "Create", "Update" (native row whose Code matches
an existing service) or "Skip" (unusable row — see SkipReason)

namestring

The service name

The service name

descriptionstring

Plain-text service description (HTML from the source file is stripped)

Plain-text service description (HTML from the source file is stripped)

categoryCodestring

The mapped service category code (falls back to Other when the source value is missing or unrecognised)

The mapped service category code (falls back to Other when the source value is missing or unrecognised)

vatRateenum

Standard Reduced Zero Exempt OutOfScope

Standard Reduced Zero Exempt OutOfScope

pricingarray of ServiceCatalogPricingEntryDto

The pricing options parsed from the row, one per billing frequency.
Ignition rows always land on Monthly (its export carries no frequency).

The pricing options parsed from the row, one per billing frequency.
Ignition rows always land on Monthly (its export carries no frequency).

setupFeenumber

One-off setup fee, when present in the file (native format only)

One-off setup fee, when present in the file (native format only)

minPricenumber

Minimum of an Ignition "price range" row — display hint only, the default price uses this value

Minimum of an Ignition "price range" row — display hint only, the default price uses this value

maxPricenumber

Maximum of an Ignition "price range" row — display hint only

Maximum of an Ignition "price range" row — display hint only

priceTypestring

The raw Ignition price type ("fixed", "price range", "included"); null for native rows

The raw Ignition price type ("fixed", "price range", "included"); null for native rows

isArchivedboolean

Whether the source row is archived/inactive

Whether the source row is archived/inactive

hasServiceTermsboolean

Whether the row carries service terms HTML that will become a content block

Whether the row carries service terms HTML that will become a content block

serviceTermsGroupinteger

1-based group index shared by rows whose service terms are identical
(they will share one content block); null when the row has no terms

1-based group index shared by rows whose service terms are identical
(they will share one content block); null when the row has no terms

hasProposalContentboolean

Whether the row carries proposal content HTML that will become a content block
(the native "Proposal Content" column, or an Ignition row's rich description)

Whether the row carries proposal content HTML that will become a content block
(the native "Proposal Content" column, or an Ignition row's rich description)

proposalContentGroupinteger

1-based group index shared by rows whose proposal content is identical
(they will share one content block); null when the row has no proposal content

1-based group index shared by rows whose proposal content is identical
(they will share one content block); null when the row has no proposal content

isDuplicateboolean

Whether a create row's name matches an existing service (case-insensitive) —
importing it would produce a near-duplicate

Whether a create row's name matches an existing service (case-insensitive) —
importing it would produce a near-duplicate

defaultSelectedboolean

Whether the row should be pre-ticked in the review grid

Whether the row should be pre-ticked in the review grid

skipReasonstring

Why the row cannot be imported (e.g. "Missing service name", "Invalid price"); null for usable rows

Why the row cannot be imported (e.g. "Missing service name", "Invalid price"); null for usable rows

JSON Example

{
  "rowId": "string",
  "action": "string",
  "name": "string",
  "description": "string",
  "categoryCode": "string"
}