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

# Run an angle

> Run an angle: PTZ move, framing and the cut (Camera Assist). Also accepts POST. Plain-text twin: `/api/v2/plain/angles/{id}/trigger`.



## OpenAPI

````yaml /api-reference/core-api/openapi.json get /api/v2/angles/{id}/trigger
openapi: 3.1.0
info:
  title: VRA Core API
  version: 9.9.9-test
  description: >-
    Local device-control API of the VRA Core. Every action is a plain GET;
    `/plain/...` twins answer one text value (`OK` / `ERR <code>` for actions).
servers:
  - url: http://{core_host}:{core_port}
    variables:
      core_host:
        default: 192.168.1.50
        description: LAN address of the Core
      core_port:
        default: '3002'
        description: Local API port (Core Settings → Local API)
security:
  - deviceToken: []
  - queryToken: []
  - legacyBasic: []
tags:
  - name: system
  - name: core
  - name: studio
  - name: station
  - name: signals
  - name: macros
  - name: automations
  - name: cameras
  - name: variables
  - name: outputs
  - name: legacy
paths:
  /api/v2/angles/{id}/trigger:
    get:
      tags:
        - cameras
      summary: Run an angle
      description: >-
        Run an angle: PTZ move, framing and the cut (Camera Assist). Also
        accepts POST. Plain-text twin: `/api/v2/plain/angles/{id}/trigger`.
      operationId: angles_trigger
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            Angle id, or an angle name that is unique across the studio's
            cameras.
          schema:
            type: string
        - name: timeout
          in: query
          required: false
          description: >-
            Milliseconds to wait for Camera Assist's ack (default 5000). The
            commando dispatcher itself answers after 1 s (3 s when the local bus
            leg is down), so a longer timeout does not wait longer for Camera
            Assist.
          schema:
            type: integer
        - name: wait
          in: query
          required: false
          description: '`0` returns 202 at once instead of waiting for the acknowledgement.'
          schema:
            type: string
        - name: timeout
          in: query
          required: false
          description: Acknowledgement timeout in ms (100–30000).
          schema:
            type: integer
      responses:
        '200':
          description: ok
          content:
            application/json:
              schema:
                type: object
        4XX:
          description: error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      properties:
        ok:
          type: boolean
          const: false
        error:
          type: string
        message:
          type: string
  securitySchemes:
    deviceToken:
      type: http
      scheme: bearer
      description: >-
        Device token `vra_…` (also accepted as `?token=` or as a Basic
        password).
    queryToken:
      type: apiKey
      in: query
      name: token
    legacyBasic:
      type: http
      scheme: basic
      description: >-
        Electron Core authorization (`EXTERNAL_APP` / base64 server id), when
        `legacy_auth` is on.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.