Venafi Machines API

The Machines API from Venafi — 8 operation(s) for machines.

Operations 11

GET /v1/machines Get the details of all machines #
POST /v1/machines Add a machine #
GET /v1/machines/{id} Get a machine's details #
DELETE /v1/machines/{id} Delete a machine #
PATCH /v1/machines/{id} Update a machine's details #
POST /v1/machines/{id}/workflows Initiate the workflow #
POST /v1/machines/workflows Initiate workflow (currently supported test connection only) #
POST /v1/machinesearch Get the details of machines matching search criteria #
POST /v1/machines/{id}/batchprovisionings/abort Abort active batch provisioning for a machine by ID #
GET /v1/machines/{id}/discovery Get the discovery results for a machine by its ID #
POST /v1/machines/{id}/discovery/abort Abort machine discovery #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/venafi-machines-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

venafi-machines-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Certificate Manager - SaaS Machines API
  version: '1.0'
servers:
- description: US Region
  url: https://api.venafi.cloud
- description: EU Region
  url: https://api.eu.venafi.cloud
- description: AU Region
  url: https://api.au.venafi.cloud
- description: UK Region
  url: https://api.uk.venafi.cloud
- description: SG Region
  url: https://api.sg.venafi.cloud
- description: CA Region
  url: https://api.ca.venafi.cloud
tags:
- name: Machines
paths:
  /v1/machines:
    get:
      description: Retrieves the details of all machines.
      operationId: machines_getAll
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachinesResponse'
          description: Details of Machines in response body.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Incomplete or malformed request.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Incomplete or malformed request.
      security:
      - tppl-api-key: []
      summary: Get the details of all machines
      tags:
      - Machines
      x-rbac:
        permissions:
          access_type: read
          description: Ability to get machine
          name: ngts.machine.get
        roles:
        - Guest
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
    post:
      description: Creates a machine corresponding to the specified `pluginId`.
      operationId: machines_create
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MachineCreationRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineInformation'
          description: Machine was created; details in response body.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Incomplete or malformed request.
      security:
      - tppl-api-key: []
      summary: Add a machine
      tags:
      - Machines
      x-rbac:
        permissions:
          access_type: write
          description: Ability to create a machine
          name: ngts.machine.create
        roles:
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
  /v1/machines/{id}:
    get:
      description: Retrieves the details of the machine that matches the specified `id`.
      operationId: machines_getById
      parameters:
      - description: UUID of a Machine
        in: path
        name: id
        required: true
        schema:
          description: UUID of a Machine
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineInformation'
          description: Machine was found; details in the response body.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Incomplete or malformed request.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Machine not found.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Incomplete or malformed request.
      security:
      - tppl-api-key: []
      summary: Get a machine's details
      tags:
      - Machines
      x-rbac:
        permissions:
          access_type: read
          description: Ability to get machine
          name: ngts.machine.get
        roles:
        - Guest
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
    delete:
      description: Deletes a machine that has the specified `id`.
      operationId: machines_delete
      parameters:
      - description: UUID of a Machine.
        in: path
        name: id
        required: true
        schema:
          description: UUID of a Machine.
          format: uuid
          type: string
      responses:
        '204':
          description: Machine deleted.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Request conditions failed.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Certificate installation not found.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Request conditions failed.
      security:
      - tppl-api-key: []
      summary: Delete a machine
      tags:
      - Machines
      x-rbac:
        permissions:
          access_type: write
          description: Ability to delete a machine
          name: ngts.machine.delete
        roles:
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
    patch:
      description: Updates specific details of the machine that matches the specified `id`.
      operationId: machines_update
      parameters:
      - description: UUID of a Machine.
        in: path
        name: id
        required: true
        schema:
          description: UUID of a Machine.
          format: uuid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MachineUpdateRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineInformation'
          description: Machine was updated; details in the response body.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Incomplete or malformed request.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Machine not found.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Incomplete or malformed request.
      security:
      - tppl-api-key: []
      summary: Update a machine's details
      tags:
      - Machines
      x-rbac:
        permissions:
          access_type: write
          description: Ability to update a machine
          name: ngts.machine.update
        roles:
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
  /v1/machines/{id}/workflows:
    post:
      description: Triggers the beginning of the workflow.
      operationId: machines_initiateWorkflow
      parameters:
      - description: UUID of a Machine.
        in: path
        name: id
        required: true
        schema:
          description: UUID of a Machine.
          format: uuid
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MachineWorkflowRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineInformation'
          description: Workflow initiated successfully.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Request conditions failed.
      security:
      - tppl-api-key: []
      summary: Initiate the workflow
      tags:
      - Machines
      x-rbac:
        permissions:
          access_type: write
          description: Ability to create a machine workflow
          name: ngts.machine_workflow.create
        roles:
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
  /v1/machines/workflows:
    post:
      description: Triggers test connection workflow on a machine connector.
      operationId: machines_initiateTestConnectionWorkflow
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TestConnectionWorkflowRequest'
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineInformation'
          description: Test connection workflow initiated successfully.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Request conditions failed.
      security:
      - tppl-api-key: []
      summary: Initiate workflow (currently supported test connection only)
      tags:
      - Machines
      x-rbac:
        permissions:
          access_type: write
          description: Ability to trigger machine test connection workflow
          name: ngts.machine_workflow.create
        roles:
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
  /v1/machinesearch:
    post:
      description: Retrieves the details of machines that match the specified search expression.
      operationId: getMachinesByExpression
      parameters:
      - description: Indicates whether response should include nested ownership data (e.g., `owningContainers`)
        in: query
        name: ownershipTree
        schema:
          default: false
          type: boolean
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MachinesSearchRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineDocumentResponse'
          description: Details of Machines in response body.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Incomplete or malformed request.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Incomplete or malformed request.
      summary: Get the details of machines matching search criteria
      tags:
      - Machines
      x-rbac:
        permissions:
          access_type: read
          description: Ability to search for machine
          name: ngts.machine.search
        roles:
        - Guest
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
  /v1/machines/{id}/batchprovisionings/abort:
    post:
      description: Triggers the abort operation on the current batch provisioning process for the machine with the specified `id`.
      operationId: abort-v1-batchprovisionings-forMachineId
      parameters:
      - description: UUID of a Machine.
        in: path
        name: id
        required: true
        schema:
          description: UUID of a Machine.
          format: uuid
          type: string
      responses:
        '202':
          description: Batch provisioning abort success.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Operation forbidden.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Active batch provisioning not found.
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Abort batch provisioning not allowed.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Internal server error.
      security:
      - tppl-api-key: []
      summary: Abort active batch provisioning for a machine by ID
      tags:
      - Machines
      x-rbac:
        permissions:
          access_type: write
          description: Ability to abort a machine's batch provisioning
          name: ngts.machine_batch_provisioning.abort
        roles:
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
  /v1/machines/{id}/discovery:
    get:
      description: Retrieves the details of the machine's discovery.
      operationId: machineDiscoveryResults_getByMachineId
      parameters:
      - description: UUID of a Machine.
        in: path
        name: id
        required: true
        schema:
          description: UUID of a Machine.
          format: uuid
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineDiscoveryResultInformation'
          description: Discovery result for machine was found; details in response body.
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Incomplete or malformed request.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: The discovery result for the machine was not found. It is possible that discovery was never initiated. Run discovery and try again.
        '412':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Incomplete or malformed request.
      security:
      - tppl-api-key: []
      summary: Get the discovery results for a machine by its ID
      tags:
      - Machines
      x-rbac:
        permissions:
          access_type: read
          description: Ability to get details of machine's discovery
          name: ngts.machine_discovery.get
        roles:
        - Guest
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
  /v1/machines/{id}/discovery/abort:
    post:
      description: Aborts an active discovery.
      operationId: machineDiscoveryResults_abortdiscovery
      parameters:
      - description: UUID of a Machine.
        in: path
        name: id
        required: true
        schema:
          description: UUID of a Machine.
          format: uuid
          type: string
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MachineInformation'
          description: Abort discovery success.
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Operation forbidden.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Active discovery not found.
        '405':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse2'
          description: Abort discovery not allowed.
      security:
      - tppl-api-key: []
      summary: Abort machine discovery
      tags:
      - Machines
      x-rbac:
        permissions:
          access_type: write
          description: Ability to abort a machine's discovery
          name: ngts.machine_discovery.abort
        roles:
        - PKIAdmin
        - PlatformAdmin
        - ResourceOwner
components:
  schemas:
    MachineUpdateRequest:
      properties:
        batchProvisioningSchedulerEnabled:
          type: boolean
        batchProvisioningSchedulerPattern:
          $ref: '#/components/schemas/SchedulerPatternInformation1'
        connectionDetails:
          $ref: '#/components/schemas/AnyValue2'
        consumerTsgIds:
          items:
            type: string
          type: array
        discoveryJson:
          $ref: '#/components/schemas/AnyValue2'
        discoverySchedulerEnabled:
          type: boolean
        discoverySchedulerPattern:
          $ref: '#/components/schemas/SchedulerPatternInformation1'
        edgeInstanceId:
          format: uuid
          type: string
        name:
          type: string
        owningTeamId:
          format: uuid
          type: string
      type: object
    MachineCreationRequest:
      properties:
        connectionDetails:
          $ref: '#/components/schemas/AnyValue2'
        consumerTsgIds:
          items:
            type: string
          type: array
        dekId:
          type: string
        edgeInstanceId:
          format: uuid
          type: string
        machineTypeId:
          deprecated: true
          format: uuid
          type: string
        name:
          minLength: 1
          type: string
        owningTeamId:
          format: uuid
          type: string
        pluginId:
          format: uuid
          type: string
        tags:
          items:
            type: string
          type: array
      required:
      - connectionDetails
      - name
      - pluginId
      type: object
    ErrorInformation2:
      properties:
        args:
          items:
            $ref: '#/components/schemas/AnyValue2'
          type: array
        code:
          format: int32
          type: integer
        message:
          type: string
      type: object
    Paging:
      properties:
        pageNumber:
          format: int32
          type: integer
        pageSize:
          format: int32
          type: integer
      type: object
    TestConnectionWorkflowRequest:
      properties:
        connection:
          $ref: '#/components/schemas/AnyValue2'
        dekId:
          type: string
        edgeInstanceId:
          format: uuid
          type: string
        integrationId:
          format: uuid
          type: string
        pluginId:
          format: uuid
          type: string
        wsClientId:
          type: string
      type: object
    OrderObject:
      properties:
        direction:
          enum:
          - ASC
          - DESC
          type: string
        field:
          type: string
      type: object
    Ordering:
      properties:
        orders:
          items:
            $ref: '#/components/schemas/OrderObject'
          type: array
      type: object
    MachinesResponse:
      properties:
        machines:
          items:
            $ref: '#/components/schemas/MachineInformation'
          type: array
      type: object
    MachinesSearchRequest:
      properties:
        expression:
          $ref: '#/components/schemas/AnyValue2'
        ordering:
          $ref: '#/components/schemas/Ordering'
        paging:
          $ref: '#/components/schemas/Paging'
      type: object
    MachineDocumentInformation:
      properties:
        companyId:
          format: uuid
          type: string
        creationDate:
          format: date-time
          type: string
        id:
          format: uuid
          type: string
        integrationId:
          format: uuid
          type: string
        machineIdentitiesCount:
          format: int32
          type: integer
        machineName:
          type: string
        machineType:
          deprecated: true
          type: string
        machineTypeId:
          deprecated: true
          format: uuid
          type: string
        modificationDate:
          format: date-time
          type: string
        ownership:
          $ref: '#/components/schemas/MachineOwnership'
        owningTeam:
          format: uuid
          type: string
        pluginId:
          format: uuid
          type: string
        pluginName:
          type: string
        status:
          enum:
          - DRAFT
          - VERIFIED
          - UNVERIFIED
          - DELETING
          type: string
        tsgId:
          type: string
      type: object
    MachineInformation:
      properties:
        batchProvisioningResult:
          $ref: '#/components/schemas/MachineBatchProvisioningResultInformation'
        batchProvisioningSchedulerEnabled:
          type: boolean
        batchProvisioningSchedulerPattern:
          $ref: '#/components/schemas/SchedulerPatternInformation1'
        batchProvisioningStatus:
          enum:
          - NEVER_INITIATED
          - INITIATED
          - RUNNING
          - COMPLETED
          - ABORTED
          - ABORTING
          - FAILED
          type: string
        companyId:
          format: uuid
          type: string
        consumerTsgIds:
          items:
            type: string
          type: array
        creationDate:
          format: date-time
          type: string
        discoveryJson:
          $ref: '#/components/schemas/AnyValue2'
        discoverySchedulerEnabled:
          type: boolean
        discoverySchedulerPattern:
          $ref: '#/components/schemas/SchedulerPatternInformation1'
        discoveryStatus:
          enum:
          - NEVER INITIATED
          - INITIATED
          - RUNNING
          - COMPLETED
          - ABORTED
          - ABORTING
          - FAILED
          type: string
        edgeInstanceId:
          format: uuid
          type: string
        id:
          format: uuid
          type: string
        integrationId:
          format: uuid
          type: string
        machineType:
          deprecated: true
          type: string
        modificationDate:
          format: date-time
          type: string
        name:
          type: string
        owningTeamId:
          format: uuid
          type: string
        pluginId:
          format: uuid
          type: string
        shareWithAll:
          type: boolean
        status:
          enum:
          - DRAFT
          - VERIFIED
          - UNVERIFIED
          - DELETING
          type: string
        tsgId:
          type: string
      type: object
    MachineDocumentResponse:
      properties:
        machines:
          items:
            $ref: '#/components/schemas/MachineDocumentInformation'
          type: array
        totalCount:
          format: int64
          type: integer
      type: object
    MachineDiscoveryResultInformation:
      properties:
        certificatesCountCurrent:
          format: int64
          type: integer
        certificatesCountTotal:
          format: int64
          type: integer
        companyId:
          format: uuid
          type: string
        discoveryStatus:
          enum:
          - NEVER INITIATED
          - INITIATED
          - RUNNING
          - COMPLETED
          - ABORTED
          - ABORTING
          - FAILED
          type: string
        endDate:
          format: date-time
          type: string
        errorCount:
          format: int32
          type: integer
        machineIdentitiesCount:
          format: int64
          type: integer
        machineIdentitiesDeletedCount:
          format: int64
          type: integer
        machineIdentitiesMissingCount:
          format: int64
          type: integer
        startDate:
          format: date-time
          type: string
      type: object
    AnyValue2:
      description: Can be any value - string, number, boolean, array or object.
    MachineOwnership:
      properties:
        owningTeams:
          items:
            format: uuid
            type: string
          type: array
          uniqueItems: true
      type: object
    SchedulerPatternInformation1:
      discriminator:
        propertyName: recurrenceType
      properties:
        recurrenceType:
          type: string
      required:
      - recurrenceType
      type: object
    ErrorResponse2:
      properties:
        errors:
          items:
            $ref: '#/components/schemas/ErrorInformation2'
          type: array
      type: object
    MachineWorkflowRequest:
      properties:
        workflowInput:
          $ref: '#/components/schemas/AnyValue2'
        workflowName:
          type: string
      type: object
    MachineBatchProvisioningResultInformation:
      properties:
        endDate:
          format: date-time
          type: string
        errorMessage:
          type: string
        machineIdentitiesCount:
          format: int64
          type: integer
        machineIdentitiesFailedCount:
          format: int64
          type: integer
        machineIdentitiesSucceedCount:
          format: int64
          type: integer
        startDate:
          format: date-time
          type: string
        type:
          enum:
          - MANUAL
          - SCHEDULED
          type: string
      type: object
  securitySchemes:
    service-account:
      in: header
      name: service-account
      type: apiKey
    tppl-api-key:
      in: header
      name: tppl-api-key
      type: apiKey
x-readme:
  samples-languages:
  - curl
  - go
  - java
  - javascript
  - node
  - python