structures

Add Shelter By Structure Id

This endpoint places a shelter from the organization's library on the structure. The placement carries only which type stands there and its position; omitted x/y means auto-position beside the tower. A structure holds one shelter: placing a second is rejected, change the existing one instead.

post/v1/structures/{structure_id}/shelters

Request

  • Base URL
    https://api.shapemaker.io (the document declares no server; this is the origin it was published from)
  • Auth
    OAuth 2
    Password
    Token URL: /v1/auth

Path parameters

structure_idstring required

Request body

shelterDefinitionIdinteger required
xMnumber nullable
yMnumber nullable
rotationDEGnumber nullable

Response

Successful Response

idinteger required
structureIdinteger required
shelterDefinitionIdinteger required
namestring required
widthMnumber required
depthMnumber required
heightMnumber required
roofHeightMnumber required
xMnumber nullable
yMnumber nullable
rotationDEGnumber nullable
doorWall'FRONT' | 'BACK' | 'LEFT' | 'RIGHT'

Which shelter wall the door, or the feeder tray, sits in.

Named from the shelter's own shape rather than the site: the duopitch ridge runs along the width axis, so FRONT and BACK are the gable ends and LEFT and RIGHT are the long eave walls. In shelter-local axes (x along the width, y along the depth), the wall each name refers to is:

  • FRONT: the +x gable end
  • BACK: the -x gable end
  • LEFT: the -y long wall
  • RIGHT: the +y long wall

shelter_wall_axes in app/modules/geometry_definitions/shelter/position.py is the single source of these directions; keep the two in step.

Alembic does not detect changes in enums, so the enum constraint has to be manually migrated when changing this enum

doorOffsetMnumber nullable
doorWidthMnumber nullable
trayWall'FRONT' | 'BACK' | 'LEFT' | 'RIGHT'

Which shelter wall the door, or the feeder tray, sits in.

Named from the shelter's own shape rather than the site: the duopitch ridge runs along the width axis, so FRONT and BACK are the gable ends and LEFT and RIGHT are the long eave walls. In shelter-local axes (x along the width, y along the depth), the wall each name refers to is:

  • FRONT: the +x gable end
  • BACK: the -x gable end
  • LEFT: the -y long wall
  • RIGHT: the +y long wall

shelter_wall_axes in app/modules/geometry_definitions/shelter/position.py is the single source of these directions; keep the two in step.

Alembic does not detect changes in enums, so the enum constraint has to be manually migrated when changing this enum

trayOffsetMnumber nullable
partitionOffsetMnumber nullable
partitionDoorWidthMnumber nullable
partitionDoorOffsetMnumber nullable
partitionHasDoorboolean
isPositionManualboolean required

Changes

No recorded changes to this operation across all 1 revision of this API.