> ## Documentation Index
> Fetch the complete documentation index at: https://docs.phospho.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Read End-Effector Position

> Retrieve the position, orientation, and open status of the robot's end effector. Only available for manipulators.



## OpenAPI

````yaml post /end-effector/read
openapi: 3.1.0
info:
  title: FastAPI
  version: 0.1.0
servers: []
security: []
paths:
  /end-effector/read:
    post:
      tags:
        - control
      summary: Read End-Effector Position
      description: >-
        Retrieve the position, orientation, and open status of the robot's end
        effector. Only available for manipulators.
      operationId: end_effector_read_end_effector_read_post
      parameters:
        - in: query
          name: robot_id
          required: false
          schema:
            default: 0
            title: Robot Id
            type: integer
      requestBody:
        content:
          application/json:
            schema:
              anyOf:
                - $ref: '#/components/schemas/EndEffectorReadRequest'
                - type: 'null'
              title: Query
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndEffectorPosition'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
components:
  schemas:
    EndEffectorReadRequest:
      properties:
        only_gripper:
          default: false
          description: >-
            If True, only return the gripper state. If False, return the full
            end effector position and orientation.
          title: Only Gripper
          type: boolean
        sync:
          default: false
          description: >-
            If True, the simulation will first read the motor positions,
            synchronize them with the simulated robot, and then return the end
            effector position.Useful for measurements, however it will take more
            time to respond.
          title: Sync
          type: boolean
      title: EndEffectorReadRequest
      type: object
    EndEffectorPosition:
      description: |-
        End effector position for a movement in absolute frame.
        All zeros means the initial position, that you get by calling /move/init
      properties:
        open:
          description: 0 for closed, 1 for open
          title: Open
          type: number
        rx:
          anyOf:
            - type: number
            - type: 'null'
          description: Absolute Pitch in degrees
          title: Rx
        ry:
          anyOf:
            - type: number
            - type: 'null'
          description: Absolute Yaw in degrees
          title: Ry
        rz:
          anyOf:
            - type: number
            - type: 'null'
          description: Absolute Roll in degrees
          title: Rz
        x:
          anyOf:
            - type: number
            - type: 'null'
          description: X position in centimeters
          title: X
        'y':
          anyOf:
            - type: number
            - type: 'null'
          description: Y position in centimeters
          title: 'Y'
        z:
          anyOf:
            - type: number
            - type: 'null'
          description: Z position in centimeters
          title: Z
      required:
        - x
        - 'y'
        - z
        - rx
        - ry
        - rz
        - open
      title: EndEffectorPosition
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object

````