# Component APIs overview

The following grid lists every component API and its methods. Select an API name to open its full reference, or select a method to jump straight to that method.

### [Arm](https://docs.viam.com/reference/apis/components/arm/)

- [`Close`](https://docs.viam.com/reference/apis/components/arm/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/arm/#docommand)
- [`Get3DModels`](https://docs.viam.com/reference/apis/components/arm/#get3dmodels)
- [`GetEndPosition`](https://docs.viam.com/reference/apis/components/arm/#getendposition)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/arm/#getgeometries)
- [`GetJointPositions`](https://docs.viam.com/reference/apis/components/arm/#getjointpositions)
- [`GetKinematics`](https://docs.viam.com/reference/apis/components/arm/#getkinematics)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/arm/#getresourcename)
- [`IsMoving`](https://docs.viam.com/reference/apis/components/arm/#ismoving)
- [`MoveThroughJointPositions`](https://docs.viam.com/reference/apis/components/arm/#movethroughjointpositions)
- [`MoveToJointPositions`](https://docs.viam.com/reference/apis/components/arm/#movetojointpositions)
- [`MoveToPosition`](https://docs.viam.com/reference/apis/components/arm/#movetoposition)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/arm/#reconfigure)
- [`Stop`](https://docs.viam.com/reference/apis/components/arm/#stop)

### [Audio in](https://docs.viam.com/reference/apis/components/audio-in/)

- [`Close`](https://docs.viam.com/reference/apis/components/audio-in/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/audio-in/#docommand)
- [`GetAudio`](https://docs.viam.com/reference/apis/components/audio-in/#getaudio)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/audio-in/#getgeometries)
- [`GetProperties`](https://docs.viam.com/reference/apis/components/audio-in/#getproperties)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/audio-in/#getresourcename)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/audio-in/#reconfigure)

### [Audio out](https://docs.viam.com/reference/apis/components/audio-out/)

- [`Close`](https://docs.viam.com/reference/apis/components/audio-out/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/audio-out/#docommand)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/audio-out/#getgeometries)
- [`GetProperties`](https://docs.viam.com/reference/apis/components/audio-out/#getproperties)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/audio-out/#getresourcename)
- [`Play`](https://docs.viam.com/reference/apis/components/audio-out/#play)
- [`PlayStream`](https://docs.viam.com/reference/apis/components/audio-out/#playstream)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/audio-out/#reconfigure)

### [Base](https://docs.viam.com/reference/apis/components/base/)

- [`Close`](https://docs.viam.com/reference/apis/components/base/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/base/#docommand)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/base/#getgeometries)
- [`GetProperties`](https://docs.viam.com/reference/apis/components/base/#getproperties)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/base/#getresourcename)
- [`IsMoving`](https://docs.viam.com/reference/apis/components/base/#ismoving)
- [`MoveStraight`](https://docs.viam.com/reference/apis/components/base/#movestraight)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/base/#reconfigure)
- [`SetPower`](https://docs.viam.com/reference/apis/components/base/#setpower)
- [`SetVelocity`](https://docs.viam.com/reference/apis/components/base/#setvelocity)
- [`Spin`](https://docs.viam.com/reference/apis/components/base/#spin)
- [`Stop`](https://docs.viam.com/reference/apis/components/base/#stop)

### [Board](https://docs.viam.com/reference/apis/components/board/)

- [`AnalogByName`](https://docs.viam.com/reference/apis/components/board/#analogbyname)
- [`Close`](https://docs.viam.com/reference/apis/components/board/#close)
- [`DigitalInterruptByName`](https://docs.viam.com/reference/apis/components/board/#digitalinterruptbyname)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/board/#docommand)
- [`GetDigitalInterruptValue`](https://docs.viam.com/reference/apis/components/board/#getdigitalinterruptvalue)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/board/#getgeometries)
- [`GetGPIO`](https://docs.viam.com/reference/apis/components/board/#getgpio)
- [`GetPWM`](https://docs.viam.com/reference/apis/components/board/#getpwm)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/board/#getresourcename)
- [`GPIOPinByName`](https://docs.viam.com/reference/apis/components/board/#gpiopinbyname)
- [`PWMFrequency`](https://docs.viam.com/reference/apis/components/board/#pwmfrequency)
- [`ReadAnalogReader`](https://docs.viam.com/reference/apis/components/board/#readanalogreader)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/board/#reconfigure)
- [`SetGPIO`](https://docs.viam.com/reference/apis/components/board/#setgpio)
- [`SetPowerMode`](https://docs.viam.com/reference/apis/components/board/#setpowermode)
- [`SetPWM`](https://docs.viam.com/reference/apis/components/board/#setpwm)
- [`SetPWMFrequency`](https://docs.viam.com/reference/apis/components/board/#setpwmfrequency)
- [`StreamTicks`](https://docs.viam.com/reference/apis/components/board/#streamticks)
- [`WriteAnalog`](https://docs.viam.com/reference/apis/components/board/#writeanalog)

### [Button](https://docs.viam.com/reference/apis/components/button/)

- [`Close`](https://docs.viam.com/reference/apis/components/button/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/button/#docommand)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/button/#getresourcename)
- [`Push`](https://docs.viam.com/reference/apis/components/button/#push)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/button/#reconfigure)

### [Camera](https://docs.viam.com/reference/apis/components/camera/)

- [`Close`](https://docs.viam.com/reference/apis/components/camera/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/camera/#docommand)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/camera/#getgeometries)
- [`GetImages`](https://docs.viam.com/reference/apis/components/camera/#getimages)
- [`GetPointCloud`](https://docs.viam.com/reference/apis/components/camera/#getpointcloud)
- [`GetProperties`](https://docs.viam.com/reference/apis/components/camera/#getproperties)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/camera/#getresourcename)

### [Encoder](https://docs.viam.com/reference/apis/components/encoder/)

- [`Close`](https://docs.viam.com/reference/apis/components/encoder/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/encoder/#docommand)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/encoder/#getgeometries)
- [`GetPosition`](https://docs.viam.com/reference/apis/components/encoder/#getposition)
- [`GetProperties`](https://docs.viam.com/reference/apis/components/encoder/#getproperties)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/encoder/#getresourcename)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/encoder/#reconfigure)
- [`ResetPosition`](https://docs.viam.com/reference/apis/components/encoder/#resetposition)

### [Gantry](https://docs.viam.com/reference/apis/components/gantry/)

- [`Close`](https://docs.viam.com/reference/apis/components/gantry/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/gantry/#docommand)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/gantry/#getgeometries)
- [`GetKinematics`](https://docs.viam.com/reference/apis/components/gantry/#getkinematics)
- [`GetLengths`](https://docs.viam.com/reference/apis/components/gantry/#getlengths)
- [`GetPosition`](https://docs.viam.com/reference/apis/components/gantry/#getposition)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/gantry/#getresourcename)
- [`Home`](https://docs.viam.com/reference/apis/components/gantry/#home)
- [`IsMoving`](https://docs.viam.com/reference/apis/components/gantry/#ismoving)
- [`MoveToPosition`](https://docs.viam.com/reference/apis/components/gantry/#movetoposition)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/gantry/#reconfigure)
- [`Stop`](https://docs.viam.com/reference/apis/components/gantry/#stop)

### [Generic](https://docs.viam.com/reference/apis/components/generic/)

- [`Close`](https://docs.viam.com/reference/apis/components/generic/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/generic/#docommand)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/generic/#getgeometries)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/generic/#getresourcename)

### [Gripper](https://docs.viam.com/reference/apis/components/gripper/)

- [`Close`](https://docs.viam.com/reference/apis/components/gripper/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/gripper/#docommand)
- [`GetCurrentInputs`](https://docs.viam.com/reference/apis/components/gripper/#getcurrentinputs)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/gripper/#getgeometries)
- [`GetKinematics`](https://docs.viam.com/reference/apis/components/gripper/#getkinematics)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/gripper/#getresourcename)
- [`GoToInputs`](https://docs.viam.com/reference/apis/components/gripper/#gotoinputs)
- [`Grab`](https://docs.viam.com/reference/apis/components/gripper/#grab)
- [`IsHoldingSomething`](https://docs.viam.com/reference/apis/components/gripper/#isholdingsomething)
- [`IsMoving`](https://docs.viam.com/reference/apis/components/gripper/#ismoving)
- [`Open`](https://docs.viam.com/reference/apis/components/gripper/#open)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/gripper/#reconfigure)
- [`Stop`](https://docs.viam.com/reference/apis/components/gripper/#stop)

### [Input controller](https://docs.viam.com/reference/apis/components/input-controller/)

- [`Close`](https://docs.viam.com/reference/apis/components/input-controller/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/input-controller/#docommand)
- [`GetControls`](https://docs.viam.com/reference/apis/components/input-controller/#getcontrols)
- [`GetEvents`](https://docs.viam.com/reference/apis/components/input-controller/#getevents)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/input-controller/#getgeometries)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/input-controller/#getresourcename)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/input-controller/#reconfigure)
- [`RegisterControlCallback`](https://docs.viam.com/reference/apis/components/input-controller/#registercontrolcallback)
- [`TriggerEvent`](https://docs.viam.com/reference/apis/components/input-controller/#triggerevent)

### [Motor](https://docs.viam.com/reference/apis/components/motor/)

- [`Close`](https://docs.viam.com/reference/apis/components/motor/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/motor/#docommand)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/motor/#getgeometries)
- [`GetPosition`](https://docs.viam.com/reference/apis/components/motor/#getposition)
- [`GetProperties`](https://docs.viam.com/reference/apis/components/motor/#getproperties)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/motor/#getresourcename)
- [`GoFor`](https://docs.viam.com/reference/apis/components/motor/#gofor)
- [`GoTo`](https://docs.viam.com/reference/apis/components/motor/#goto)
- [`IsMoving`](https://docs.viam.com/reference/apis/components/motor/#ismoving)
- [`IsPowered`](https://docs.viam.com/reference/apis/components/motor/#ispowered)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/motor/#reconfigure)
- [`ResetZeroPosition`](https://docs.viam.com/reference/apis/components/motor/#resetzeroposition)
- [`SetPower`](https://docs.viam.com/reference/apis/components/motor/#setpower)
- [`SetRPM`](https://docs.viam.com/reference/apis/components/motor/#setrpm)
- [`Stop`](https://docs.viam.com/reference/apis/components/motor/#stop)

### [Movement sensor](https://docs.viam.com/reference/apis/components/movement-sensor/)

- [`Close`](https://docs.viam.com/reference/apis/components/movement-sensor/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/movement-sensor/#docommand)
- [`GetAccuracy`](https://docs.viam.com/reference/apis/components/movement-sensor/#getaccuracy)
- [`GetAngularVelocity`](https://docs.viam.com/reference/apis/components/movement-sensor/#getangularvelocity)
- [`GetCompassHeading`](https://docs.viam.com/reference/apis/components/movement-sensor/#getcompassheading)
- [`GetLinearAcceleration`](https://docs.viam.com/reference/apis/components/movement-sensor/#getlinearacceleration)
- [`GetLinearVelocity`](https://docs.viam.com/reference/apis/components/movement-sensor/#getlinearvelocity)
- [`GetOrientation`](https://docs.viam.com/reference/apis/components/movement-sensor/#getorientation)
- [`GetPosition`](https://docs.viam.com/reference/apis/components/movement-sensor/#getposition)
- [`GetProperties`](https://docs.viam.com/reference/apis/components/movement-sensor/#getproperties)
- [`GetReadings`](https://docs.viam.com/reference/apis/components/movement-sensor/#getreadings)

### [Power sensor](https://docs.viam.com/reference/apis/components/power-sensor/)

- [`Close`](https://docs.viam.com/reference/apis/components/power-sensor/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/power-sensor/#docommand)
- [`GetCurrent`](https://docs.viam.com/reference/apis/components/power-sensor/#getcurrent)
- [`GetPower`](https://docs.viam.com/reference/apis/components/power-sensor/#getpower)
- [`GetReadings`](https://docs.viam.com/reference/apis/components/power-sensor/#getreadings)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/power-sensor/#getresourcename)
- [`GetVoltage`](https://docs.viam.com/reference/apis/components/power-sensor/#getvoltage)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/power-sensor/#reconfigure)

### [Sensor](https://docs.viam.com/reference/apis/components/sensor/)

- [`Close`](https://docs.viam.com/reference/apis/components/sensor/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/sensor/#docommand)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/sensor/#getgeometries)
- [`GetReadings`](https://docs.viam.com/reference/apis/components/sensor/#getreadings)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/sensor/#getresourcename)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/sensor/#reconfigure)

### [Servo](https://docs.viam.com/reference/apis/components/servo/)

- [`Close`](https://docs.viam.com/reference/apis/components/servo/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/servo/#docommand)
- [`GetGeometries`](https://docs.viam.com/reference/apis/components/servo/#getgeometries)
- [`GetPosition`](https://docs.viam.com/reference/apis/components/servo/#getposition)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/servo/#getresourcename)
- [`IsMoving`](https://docs.viam.com/reference/apis/components/servo/#ismoving)
- [`Move`](https://docs.viam.com/reference/apis/components/servo/#move)
- [`Reconfigure`](https://docs.viam.com/reference/apis/components/servo/#reconfigure)
- [`Stop`](https://docs.viam.com/reference/apis/components/servo/#stop)

### [Switch](https://docs.viam.com/reference/apis/components/switch/)

- [`Close`](https://docs.viam.com/reference/apis/components/switch/#close)
- [`DoCommand`](https://docs.viam.com/reference/apis/components/switch/#docommand)
- [`GetNumberOfPositions`](https://docs.viam.com/reference/apis/components/switch/#getnumberofpositions)
- [`GetPosition`](https://docs.viam.com/reference/apis/components/switch/#getposition)
- [`GetResourceName`](https://docs.viam.com/reference/apis/components/switch/#getresourcename)
- [`SetPosition`](https://docs.viam.com/reference/apis/components/switch/#setposition)
