Parsec Machine API

The Machine API from Parsec — 4 operation(s) for machine.

OpenAPI Specification

parsec-machine-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Parsec Teams App Rule Machine API
  version: v1
  description: 'The Parsec for Teams API exposes everything a Parsec for Teams admin can do to an API application: inviting and managing team members and groups, provisioning and assigning team machines (computers), issuing time-limited guest access invites, managing application rules and relays, and reading the team audit log. Authentication is via an API key presented as an HTTP Bearer token. Every endpoint enforces a granular team permission (for example "View Team Members", "Delete Team Machine", "Access Audit Log").'
  contact:
    name: Parsec Support
    url: https://support.parsec.app
  termsOfService: https://parsec.app/terms
servers:
- url: https://api.parsec.app
  description: Production
security:
- bearerAuth: []
tags:
- name: Machine
paths:
  /v1/teams/{teamID}/machines:
    parameters:
    - $ref: '#/components/parameters/teamID'
    get:
      operationId: getTeamMachines
      summary: Get Team Machines
      description: Get a paginated list of team machines. Various filters can be applied through query parameters to narrow the result to a specific subset. The View Team Computers permission is required.
      tags:
      - Machine
      parameters:
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - name: name
        in: query
        schema:
          type: string
      - name: is_online
        in: query
        schema:
          type: boolean
      - name: is_guest_access
        in: query
        schema:
          type: boolean
      responses:
        '200':
          description: A paginated list of team machines.
        '403':
          $ref: '#/components/responses/Forbidden'
  /v1/teams/{teamID}/machines/{machineID}:
    parameters:
    - $ref: '#/components/parameters/teamID'
    - $ref: '#/components/parameters/machineID'
    get:
      operationId: getTeamMachine
      summary: Get Team Machine
      description: Get a team machine. The View Team Computers permission is required.
      tags:
      - Machine
      responses:
        '200':
          description: The team machine.
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateTeamMachine
      summary: Update Team Machine
      description: Update a team machine.
      tags:
      - Machine
      responses:
        '200':
          description: Machine updated.
    delete:
      operationId: deleteTeamMachine
      summary: Delete Team Machine
      description: Delete a team machine. The existing session for the deleted machine is immediately invalidated. The Delete Team Computers permission is required.
      tags:
      - Machine
      responses:
        '204':
          description: Machine deleted.
        '403':
          $ref: '#/components/responses/Forbidden'
  /v1/teams/{teamID}/machines/{machineID}/assignment:
    parameters:
    - $ref: '#/components/parameters/teamID'
    - $ref: '#/components/parameters/machineID'
    put:
      operationId: setTeamMachineAssignment
      summary: Set Team Machine Assignment
      description: Set a team machine's assignment.
      tags:
      - Machine
      responses:
        '200':
          description: Assignment set.
    delete:
      operationId: removeTeamMachineAssignment
      summary: Remove Team Machine Assignment
      description: Remove a team machine assignment. Team member, team group and reservation assignments will be removed. The Manage Team Computers permission is required.
      tags:
      - Machine
      responses:
        '204':
          description: Assignment removed.
    post:
      operationId: createTeamMachineAssignment
      summary: Create Team Machine Assignment (Deprecated)
      deprecated: true
      description: Deprecated. Use Set Team Machine Assignment instead.
      tags:
      - Machine
      responses:
        '200':
          description: Assignment created.
  /v1/teams/{teamID}/machines/{machineID}/users/{userID}:
    parameters:
    - $ref: '#/components/parameters/teamID'
    - $ref: '#/components/parameters/machineID'
    - $ref: '#/components/parameters/userID'
    delete:
      operationId: kickUserFromMachine
      summary: Kick User
      description: Kick a user from a host machine. The user is disconnected immediately. The Team Machine Kick User permission is required.
      tags:
      - Machine
      responses:
        '204':
          description: User kicked.
        '403':
          $ref: '#/components/responses/Forbidden'
components:
  responses:
    Forbidden:
      description: The API key's team role lacks the permission required for this endpoint.
    NotFound:
      description: The requested resource was not found.
  parameters:
    teamID:
      name: teamID
      in: path
      required: true
      schema:
        type: string
      description: The team identifier (e.g. team_123abc).
    machineID:
      name: machineID
      in: path
      required: true
      schema:
        type: string
    userID:
      name: userID
      in: path
      required: true
      schema:
        type: string
    offset:
      name: offset
      in: query
      schema:
        type: integer
        minimum: 0
      description: Pagination offset.
    limit:
      name: limit
      in: query
      schema:
        type: integer
      description: Maximum number of results to return per page.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: 'A Parsec for Teams API key presented as an HTTP Bearer token: `Authorization: Bearer YOUR_API_KEY`. API keys are created and managed in the Parsec for Teams dashboard.'
x-provenance:
  generated: '2026-07-20'
  method: searched
  source: https://parsec.app/docs/teams-api
  note: Faithfully reconstructed from Parsec's published Teams API reference (paths, methods, operation names, parameters, permission requirements and documented rate limits captured verbatim from the public docs). Request and response schema field detail is intentionally minimal where the docs did not publish it; nothing has been fabricated.