Skip to content

Customs profile

Tariff candidates, a document checklist and a draft summary.

All action kinds · Project workflow

  • Kind: customs_profile
  • Availability: available
  • Registry cost category: one_call
  • Lifecycle stage IDs: customs_and_import

The cost category describes model work in the registry; it is not a manufacturing price or a monetary quote. Read maglev actions kinds --json for current availability and schemas.

Returns candidates and a document checklist for review. It does not select a final tariff classification or submit customs documents.

Send these fields inside the request’s input object. Use only facts you have, and keep unresolved requirements explicit. Optional fields with defaults can be omitted.

Field Type Required Details
product string Yes Min length 2. Max length 200
description string Yes Min length 2. Max length 2000
materials string No Max length 400
function string No Max length 400
hts string or null No The importer’s working code, if one exists; otherwise the first candidate is used for the stack as an illustration
declaredValueUsd number or null No
quantity integer No Minimum 1. Maximum 1000000
modes string[] No Min items 1. Max items 3
flags string[] No Max items 8. Default: []
Input JSON schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"product": {
"type": "string",
"minLength": 2,
"maxLength": 200
},
"description": {
"type": "string",
"minLength": 2,
"maxLength": 2000
},
"materials": {
"type": "string",
"maxLength": 400
},
"function": {
"type": "string",
"maxLength": 400
},
"hts": {
"description": "The importer's working code, if one exists; otherwise the first candidate is used for the stack as an illustration",
"anyOf": [
{
"type": "string",
"maxLength": 20
},
{
"type": "null"
}
]
},
"declaredValueUsd": {
"anyOf": [
{
"type": "number",
"minimum": 0,
"maximum": 100000000
},
{
"type": "null"
}
]
},
"quantity": {
"type": "integer",
"minimum": 1,
"maximum": 1000000
},
"modes": {
"minItems": 1,
"maxItems": 3,
"type": "array",
"items": {
"type": "string",
"enum": [
"air_express",
"air_freight",
"ocean_lcl"
]
}
},
"flags": {
"default": [],
"maxItems": 8,
"type": "array",
"items": {
"type": "string",
"enum": [
"radio",
"lithium",
"ocean",
"magnet",
"semiconductors",
"steel",
"aluminium",
"copper"
]
}
}
},
"required": [
"product",
"description"
]
}

Prepare action.json with kind: "customs_profile" and an input object matching the schema above.

Replace PROJECT_ID with your saved project ID. Use a new idempotency key for new work and retain it for an identical retry.

Terminal window
maglev actions request PROJECT_ID --input action.json \
--idempotency-key example-customs-profile-001 --json

Read action.status, action.output, deliveries and any task in the response. Model actions can take several minutes. After a timeout, check saved actions before retrying. See request and recovery behavior.

The schema below describes action.output.result. The saved action.output envelope also contains draft: true and a note. It can be null while an action is running or after a failure; check the status before reading the result. Null or missing facts are unknown; preserve source references and open questions.

This action currently exports an open object schema. Inspect its returned fields and status; an open schema is not a guarantee that a particular field will exist.

Output JSON schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {},
"additionalProperties": {}
}