---
title: "Import Tower Mounts"
method: POST
path: "/v1/structures/{structure_id}/mounts/import"
tags: ["structures"]
---

# Import Tower Mounts

`POST /v1/structures/{structure_id}/mounts/import`

## Request

- Base URL: `https://api.shapemaker.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.shapemaker.io/v1/structures/{structure_id}/mounts/import`
- Auth: OAuth 2
  - Password
  - Token URL: `/v1/auth`

One-transaction IFC import: the discrete-ancillary placement rows, the
mounts with supports at their detected structure contacts, and the
bindings between them.

## Path parameters

- `structure_id` string, required

## Request body

- TowerMountImportInput: One-transaction IFC import: discrete-ancillary placements, tower mounts, and the bindings between them.
  - `mounts` TowerMountImportMountInput[], required
    - `name` string, required
    - `members` TowerMountImportMemberInput[], required
      - `p1` TowerMountImportPointInput, required
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `p2` TowerMountImportPointInput, required
        - `x` number, required
        - `y` number, required
        - `z` number, required
      - `crossSectionId` string, required
      - `steelGrade` string
      - `orientationDeg` number
      - `memberType` 'Leg1' | 'Diagonal1' | 'Diagonal2' | 'Horizontal1' | 'Horizontal2' | 'Secondary1' | 'Secondary2' | 'Secondary3' | 'Secondary4' | 'Hip1' | 'Hip2' | 'Hip3' | 'Hip4' | 'Plan1' | 'Plan2' | 'Plan3' | 'Plan4' | 'GuyWire' | 'MonopoleLeg' | 'RigidArm' | 'SingleLeg' | 'RooftopBeam' | 'MountMember'
    - `supportPoints` TowerMountImportPointInput[]
      - `x` number, required
      - `y` number, required
      - `z` number, required
  - `ancillaries` StructureDiscreteAncillaryCreateInput[]
    - `discreteAncillaryId` integer, required
    - `tenantId` integer, nullable
    - `mountHeightM` number, nullable
    - `azimuthDEG` number, nullable
    - `mountOption` 'TOP' | 'MIDDLE' | 'BOTTOM'
    - `shieldingFactor` number, nullable
    - `mountBracketWeightKG` number, nullable
    - `xM` number, nullable
    - `yM` number, nullable
    - `shouldAnalyse` boolean
    - `status` 'INSTALLED' | 'PLANNED' | 'REMOVED' | 'UNKNOWN' | 'MARKED FOR REMOVAL'
    - `shelterId` integer, nullable
    - `shelterXM` number, nullable
    - `shelterYM` number, nullable
    - `shelterZM` number, nullable
    - `shelterAzimuthDEG` number, nullable
    - `shelterIsExterior` boolean
  - `bindings` TowerMountImportBindingInput[]
    - `ancillaryIndex` integer, required
    - `mountIndex` integer, required
    - `memberIndex` integer, required
    - `positionAlongMemberMm` number, required
    - `offsetXMm` number
    - `offsetYMm` number
    - `offsetZMm` number

## Response `201`

Successful Response

- TowerMountImportResultView: Outcome of an IFC tower-mount import: the created mounts (with their supports at the detected structure contacts) plus per-mount warnings.
  - `mounts` TowerMountView[], required
    - `id` integer, required
    - `uuid` string, uuid4, required
    - `structureId` integer, required
    - `name` string, required
    - `elevationM` number, required
    - `azimuthDeg` number, required
    - `placement` 'axis' | 'face'
    - `xM` number, nullable
    - `yM` number, nullable
    - `rotationDeg` number
    - `sourceMountDesignUuid` string, nullable
    - `members` MountDesignMemberView[], required
      - `uuid` string, required
      - `memberNumber` integer, required
      - `geometry` MountDesignMemberGeometryView, required
        - `p1` Point3D, required
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `p2` Point3D, required
          - `x` number, required
          - `y` number, required
          - `z` number, required
        - `arc` MountDesignMemberArcView
          - `through` Point3D, required
            - `x` number, required
            - `y` number, required
            - `z` number, required
          - `loopThrough` Point3D
            - `x` number, required
            - `y` number, required
            - `z` number, required
      - `properties` MountDesignMemberPropertiesView, required
        - `crossSection` MountDesignCrossSectionView, required
          - `id` string, required
          - `combinedCrossSectionParameters` CombinedCrossSectionParameters
            - `connectorSpacingMm` number, required: Spacing between connectors in mm along the member
            - `hasCompositeAction` boolean, required
          - `shape` CrossSectionShapeView
            - `shapeType` string, required
            - `diameterMm` number, nullable
            - `heightMm` number, nullable
            - `widthMm` number, nullable
            - `thicknessMm` number, nullable
            - `webThicknessMm` number, nullable
        - `steelGrade` string, required
        - `memberType` 'Leg1' | 'Diagonal1' | 'Diagonal2' | 'Horizontal1' | 'Horizontal2' | 'Secondary1' | 'Secondary2' | 'Secondary3' | 'Secondary4' | 'Hip1' | 'Hip2' | 'Hip3' | 'Hip4' | 'Plan1' | 'Plan2' | 'Plan3' | 'Plan4' | 'GuyWire' | 'MonopoleLeg' | 'RigidArm' | 'SingleLeg' | 'RooftopBeam' | 'MountMember', required
        - `releasesStart` MemberEndReleasesView
          - `momentY` boolean
          - `momentZ` boolean
          - `torsion` boolean
        - `releasesEnd` MemberEndReleasesView
          - `momentY` boolean
          - `momentZ` boolean
          - `torsion` boolean
        - `stability` MemberStabilityOutput
          - `axisY` MemberAxisStability
            - `buckling` MemberEffectiveLength
              - …
            - `lateralTorsional` MemberEffectiveLength
              - …
          - `axisZ` MemberAxisStability
            - `buckling` MemberEffectiveLength
              - …
            - `lateralTorsional` MemberEffectiveLength
              - …
          - `axisV` MemberAxisStability
            - `buckling` MemberEffectiveLength
              - …
            - `lateralTorsional` MemberEffectiveLength
              - …
          - `restraints` MemberRestraintOutput[]
            - `positionAlongMemberMm` number, required
            - `points` MemberRestraintPoint[]
              - …
          - `bucklingLengthOverrides` MemberBucklingLengthOverride[]
            - `axis` 'y' | 'z' | 'v', required
            - `startMm` number, required
            - `endMm` number, nullable
            - `factor` number, nullable
            - `lengthMm` number, nullable
      - `orientationDeg` number
      - `startNodeUuid` string, nullable
      - `endNodeUuid` string, nullable
    - `supports` TowerMountSupportView[]
      - `uuid` string, required
      - `memberUuid` string, required
      - `positionAlongMemberMm` number, required
      - `dofType` 'freestanding' | 'pinned' | 'fixed' | 'custom', required
      - `restraints` SupportRestraintsView
        - `translation` SupportAxisRestraintsView, required
          - `x` boolean, required
          - `y` boolean, required
          - `z` boolean, required
        - `rotation` SupportAxisRestraintsView, required
          - `x` boolean, required
          - `y` boolean, required
          - `z` boolean, required
      - `coordinateSystem` 'global' | 'local'
      - `isAuto` boolean
    - `ancillaries` TowerMountAncillaryView[]
      - `uuid` string, required
      - `discreteAncillaryId` integer, required
      - `memberUuid` string, required
      - `positionAlongMemberMm` number, required
      - `azimuthDeg` number, required
      - `offsetXMm` number
      - `offsetYMm` number
      - `offsetZMm` number
      - `shieldingFactor` number
      - `mountBracketWeightKg` number
      - `shouldAnalyse` boolean, required
      - `tenantId` integer, nullable, required
      - `status` 'INSTALLED' | 'PLANNED' | 'REMOVED' | 'UNKNOWN' | 'MARKED FOR REMOVAL', required
      - `createdAtUtc` string, date-time, required
    - `dismissedLegContacts` TowerMountDismissedContactView[]
      - `memberUuid` string, required
      - `positionAlongMemberMm` number, required
      - `xM` number, required
      - `yM` number, required
      - `zM` number, required
    - `capacityStatus` 'UNKNOWN' | 'OVERLOADED' | 'UNDERLOADED'
    - `governingUtilization` number, nullable
    - `analysisRunId` string, uuid4, nullable
  - `warnings` string[], required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/shapemaker/apis/shapemaker-api.md) - [All operations](https://skmtc.dev/shapemaker/apis/shapemaker-api/llms.txt) - [OpenAPI document](https://skmtc.dev/shapemaker/apis/shapemaker-api/revisions/b8461cf1236c?raw)
