# Component APIs overview

Scan every Viam component API and its methods at a glance, with links to each method's reference.
> Source: https://docs.viam.com/reference/apis/components/overview/


The following grid lists every [component](/reference/glossary/#term-component)
 API and its methods.
Select an API name to open its full reference, or select a method to jump straight to that method.

<div class="api-overview-grid"><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/arm/">Arm</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/arm/#calculatemaxreach"><code>CalculateMaxReach</code></a></li><li><a href="/reference/apis/components/arm/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/arm/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/arm/#get3dmodels"><code>Get3DModels</code></a></li><li><a href="/reference/apis/components/arm/#getendposition"><code>GetEndPosition</code></a></li><li><a href="/reference/apis/components/arm/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/arm/#getjointpositions"><code>GetJointPositions</code></a></li><li><a href="/reference/apis/components/arm/#getkinematics"><code>GetKinematics</code></a></li><li><a href="/reference/apis/components/arm/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/arm/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/arm/#ismoving"><code>IsMoving</code></a></li><li><a href="/reference/apis/components/arm/#movethroughjointpositions"><code>MoveThroughJointPositions</code></a></li><li><a href="/reference/apis/components/arm/#movetojointpositions"><code>MoveToJointPositions</code></a></li><li><a href="/reference/apis/components/arm/#movetoposition"><code>MoveToPosition</code></a></li><li><a href="/reference/apis/components/arm/#reconfigure"><code>Reconfigure</code></a></li><li><a href="/reference/apis/components/arm/#stop"><code>Stop</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/audio-in/">Audio in</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/audio-in/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/audio-in/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/audio-in/#getaudio"><code>GetAudio</code></a></li><li><a href="/reference/apis/components/audio-in/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/audio-in/#getproperties"><code>GetProperties</code></a></li><li><a href="/reference/apis/components/audio-in/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/audio-in/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/audio-in/#reconfigure"><code>Reconfigure</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/audio-out/">Audio out</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/audio-out/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/audio-out/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/audio-out/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/audio-out/#getproperties"><code>GetProperties</code></a></li><li><a href="/reference/apis/components/audio-out/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/audio-out/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/audio-out/#play"><code>Play</code></a></li><li><a href="/reference/apis/components/audio-out/#playstream"><code>PlayStream</code></a></li><li><a href="/reference/apis/components/audio-out/#reconfigure"><code>Reconfigure</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/base/">Base</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/base/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/base/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/base/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/base/#getproperties"><code>GetProperties</code></a></li><li><a href="/reference/apis/components/base/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/base/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/base/#ismoving"><code>IsMoving</code></a></li><li><a href="/reference/apis/components/base/#movestraight"><code>MoveStraight</code></a></li><li><a href="/reference/apis/components/base/#reconfigure"><code>Reconfigure</code></a></li><li><a href="/reference/apis/components/base/#setpower"><code>SetPower</code></a></li><li><a href="/reference/apis/components/base/#setvelocity"><code>SetVelocity</code></a></li><li><a href="/reference/apis/components/base/#spin"><code>Spin</code></a></li><li><a href="/reference/apis/components/base/#stop"><code>Stop</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/board/">Board</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/board/#analogbyname"><code>AnalogByName</code></a></li><li><a href="/reference/apis/components/board/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/board/#digitalinterruptbyname"><code>DigitalInterruptByName</code></a></li><li><a href="/reference/apis/components/board/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/board/#getdigitalinterruptvalue"><code>GetDigitalInterruptValue</code></a></li><li><a href="/reference/apis/components/board/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/board/#getgpio"><code>GetGPIO</code></a></li><li><a href="/reference/apis/components/board/#getpwm"><code>GetPWM</code></a></li><li><a href="/reference/apis/components/board/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/board/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/board/#gpiopinbyname"><code>GPIOPinByName</code></a></li><li><a href="/reference/apis/components/board/#pwmfrequency"><code>PWMFrequency</code></a></li><li><a href="/reference/apis/components/board/#readanalogreader"><code>ReadAnalogReader</code></a></li><li><a href="/reference/apis/components/board/#reconfigure"><code>Reconfigure</code></a></li><li><a href="/reference/apis/components/board/#setgpio"><code>SetGPIO</code></a></li><li><a href="/reference/apis/components/board/#setpowermode"><code>SetPowerMode</code></a></li><li><a href="/reference/apis/components/board/#setpwm"><code>SetPWM</code></a></li><li><a href="/reference/apis/components/board/#setpwmfrequency"><code>SetPWMFrequency</code></a></li><li><a href="/reference/apis/components/board/#streamticks"><code>StreamTicks</code></a></li><li><a href="/reference/apis/components/board/#writeanalog"><code>WriteAnalog</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/button/">Button</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/button/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/button/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/button/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/button/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/button/#push"><code>Push</code></a></li><li><a href="/reference/apis/components/button/#reconfigure"><code>Reconfigure</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/camera/">Camera</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/camera/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/camera/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/camera/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/camera/#getimages"><code>GetImages</code></a></li><li><a href="/reference/apis/components/camera/#getpointcloud"><code>GetPointCloud</code></a></li><li><a href="/reference/apis/components/camera/#getproperties"><code>GetProperties</code></a></li><li><a href="/reference/apis/components/camera/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/camera/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/camera/#stream"><code>Stream</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/encoder/">Encoder</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/encoder/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/encoder/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/encoder/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/encoder/#getposition"><code>GetPosition</code></a></li><li><a href="/reference/apis/components/encoder/#getproperties"><code>GetProperties</code></a></li><li><a href="/reference/apis/components/encoder/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/encoder/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/encoder/#reconfigure"><code>Reconfigure</code></a></li><li><a href="/reference/apis/components/encoder/#resetposition"><code>ResetPosition</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/gantry/">Gantry</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/gantry/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/gantry/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/gantry/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/gantry/#getkinematics"><code>GetKinematics</code></a></li><li><a href="/reference/apis/components/gantry/#getlengths"><code>GetLengths</code></a></li><li><a href="/reference/apis/components/gantry/#getposition"><code>GetPosition</code></a></li><li><a href="/reference/apis/components/gantry/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/gantry/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/gantry/#home"><code>Home</code></a></li><li><a href="/reference/apis/components/gantry/#ismoving"><code>IsMoving</code></a></li><li><a href="/reference/apis/components/gantry/#movetoposition"><code>MoveToPosition</code></a></li><li><a href="/reference/apis/components/gantry/#reconfigure"><code>Reconfigure</code></a></li><li><a href="/reference/apis/components/gantry/#stop"><code>Stop</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/generic/">Generic</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/generic/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/generic/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/generic/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/generic/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/generic/#getstatus"><code>GetStatus</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/gripper/">Gripper</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/gripper/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/gripper/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/gripper/#getcurrentinputs"><code>GetCurrentInputs</code></a></li><li><a href="/reference/apis/components/gripper/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/gripper/#getkinematics"><code>GetKinematics</code></a></li><li><a href="/reference/apis/components/gripper/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/gripper/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/gripper/#gotoinputs"><code>GoToInputs</code></a></li><li><a href="/reference/apis/components/gripper/#grab"><code>Grab</code></a></li><li><a href="/reference/apis/components/gripper/#isholdingsomething"><code>IsHoldingSomething</code></a></li><li><a href="/reference/apis/components/gripper/#ismoving"><code>IsMoving</code></a></li><li><a href="/reference/apis/components/gripper/#open"><code>Open</code></a></li><li><a href="/reference/apis/components/gripper/#reconfigure"><code>Reconfigure</code></a></li><li><a href="/reference/apis/components/gripper/#stop"><code>Stop</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/input-controller/">Input controller</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/input-controller/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/input-controller/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/input-controller/#getcontrols"><code>GetControls</code></a></li><li><a href="/reference/apis/components/input-controller/#getevents"><code>GetEvents</code></a></li><li><a href="/reference/apis/components/input-controller/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/input-controller/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/input-controller/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/input-controller/#reconfigure"><code>Reconfigure</code></a></li><li><a href="/reference/apis/components/input-controller/#registercontrolcallback"><code>RegisterControlCallback</code></a></li><li><a href="/reference/apis/components/input-controller/#triggerevent"><code>TriggerEvent</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/motor/">Motor</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/motor/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/motor/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/motor/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/motor/#getposition"><code>GetPosition</code></a></li><li><a href="/reference/apis/components/motor/#getproperties"><code>GetProperties</code></a></li><li><a href="/reference/apis/components/motor/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/motor/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/motor/#gofor"><code>GoFor</code></a></li><li><a href="/reference/apis/components/motor/#goto"><code>GoTo</code></a></li><li><a href="/reference/apis/components/motor/#ismoving"><code>IsMoving</code></a></li><li><a href="/reference/apis/components/motor/#ispowered"><code>IsPowered</code></a></li><li><a href="/reference/apis/components/motor/#reconfigure"><code>Reconfigure</code></a></li><li><a href="/reference/apis/components/motor/#resetzeroposition"><code>ResetZeroPosition</code></a></li><li><a href="/reference/apis/components/motor/#setpower"><code>SetPower</code></a></li><li><a href="/reference/apis/components/motor/#setrpm"><code>SetRPM</code></a></li><li><a href="/reference/apis/components/motor/#stop"><code>Stop</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/movement-sensor/">Movement sensor</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/movement-sensor/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/movement-sensor/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/movement-sensor/#getaccuracy"><code>GetAccuracy</code></a></li><li><a href="/reference/apis/components/movement-sensor/#getangularvelocity"><code>GetAngularVelocity</code></a></li><li><a href="/reference/apis/components/movement-sensor/#getcompassheading"><code>GetCompassHeading</code></a></li><li><a href="/reference/apis/components/movement-sensor/#getlinearacceleration"><code>GetLinearAcceleration</code></a></li><li><a href="/reference/apis/components/movement-sensor/#getlinearvelocity"><code>GetLinearVelocity</code></a></li><li><a href="/reference/apis/components/movement-sensor/#getorientation"><code>GetOrientation</code></a></li><li><a href="/reference/apis/components/movement-sensor/#getposition"><code>GetPosition</code></a></li><li><a href="/reference/apis/components/movement-sensor/#getproperties"><code>GetProperties</code></a></li><li><a href="/reference/apis/components/movement-sensor/#getreadings"><code>GetReadings</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/power-sensor/">Power sensor</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/power-sensor/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/power-sensor/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/power-sensor/#getcurrent"><code>GetCurrent</code></a></li><li><a href="/reference/apis/components/power-sensor/#getpower"><code>GetPower</code></a></li><li><a href="/reference/apis/components/power-sensor/#getreadings"><code>GetReadings</code></a></li><li><a href="/reference/apis/components/power-sensor/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/power-sensor/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/power-sensor/#getvoltage"><code>GetVoltage</code></a></li><li><a href="/reference/apis/components/power-sensor/#reconfigure"><code>Reconfigure</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/sensor/">Sensor</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/sensor/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/sensor/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/sensor/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/sensor/#getreadings"><code>GetReadings</code></a></li><li><a href="/reference/apis/components/sensor/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/sensor/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/sensor/#reconfigure"><code>Reconfigure</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/servo/">Servo</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/servo/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/servo/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/servo/#getgeometries"><code>GetGeometries</code></a></li><li><a href="/reference/apis/components/servo/#getposition"><code>GetPosition</code></a></li><li><a href="/reference/apis/components/servo/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/servo/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/servo/#ismoving"><code>IsMoving</code></a></li><li><a href="/reference/apis/components/servo/#move"><code>Move</code></a></li><li><a href="/reference/apis/components/servo/#reconfigure"><code>Reconfigure</code></a></li><li><a href="/reference/apis/components/servo/#stop"><code>Stop</code></a></li></ul>
    </div><div class="api-overview-card">
      <div class="api-overview-card-header">
        <h3 class="api-overview-card-title"><a href="/reference/apis/components/switch/">Switch</a></h3>
      </div>
      <ul class="api-method-list"><li><a href="/reference/apis/components/switch/#close"><code>Close</code></a></li><li><a href="/reference/apis/components/switch/#docommand"><code>DoCommand</code></a></li><li><a href="/reference/apis/components/switch/#getnumberofpositions"><code>GetNumberOfPositions</code></a></li><li><a href="/reference/apis/components/switch/#getposition"><code>GetPosition</code></a></li><li><a href="/reference/apis/components/switch/#getresourcename"><code>GetResourceName</code></a></li><li><a href="/reference/apis/components/switch/#getstatus"><code>GetStatus</code></a></li><li><a href="/reference/apis/components/switch/#setposition"><code>SetPosition</code></a></li></ul>
    </div></div>


