Venafi Machines API
The Machines API from Venafi — 8 operation(s) for machines.
The Machines API from Venafi — 8 operation(s) for machines.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/venafi-machines-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 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