openapi: 3.2.0 info: title: TLS Protect Cloud API for Strata Cloud Manager V Satellite API description: Use the TLS Protect Cloud APIs to manage certificates, certificate requests, applications, machine identities, users, teams, event logs, and more. This Open API spec file was created on June 04, 2026. © 2026 Palo Alto Networks, Inc. Palo Alto Networks is a registered trademark of Palo Alto Networks. A list of our trademarks can be found at https://www.paloaltonetworks.com/company/trademarks.html. All other marks mentioned herein may be trademarks of their respective companies. version: 1.0.0 license: name: MIT url: https://opensource.org/license/mit servers: - url: https://api.strata.paloaltonetworks.com/ngts description: Strata Cloud Manager API security: - scmToken: [] tags: - name: VSatellite description: APIs for VSatellite. paths: /v1/edgeinstances/{id}/update: post: description: Triggering an update for a satellite instance (manual) operationId: create-edgeinstances-update parameters: - description: Satellite Instance ID in: path name: id required: true schema: description: Satellite Instance ID format: uuid type: string responses: '202': description: Satellite Start Manual Update '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Satellite Instance Not Found '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed summary: Trigger manual update of Satellite Instance tags: - VSatellite /v1/edgeencryptionkeys: get: description: Retrieve the list of satellite encryption keys based on query parameters operationId: edgeencryptionkeys_getAll parameters: - in: query name: edgeInstanceId schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/EncryptionKeysResponse' description: List of SatelliteEncryption keys summary: Retrieve Satellite Encryption Keys tags: - VSatellite /v1/edgeencryptionkeys/{id}: get: description: Retrieve satellite encryption key with 'id' attribute matching specified value; specified value should be string not numeric operationId: edgeencryptionkeys_getById parameters: - in: path name: id required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/EncryptionKeyInformation' description: Encryption key information '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Encryption key not found '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed summary: Retrieve SatelliteEncryption Key By Id tags: - VSatellite /v1/edgeinstances: get: description: Retrieve list of all satellite instances for company operationId: edgeinstances_getAll parameters: - in: query name: environmentId schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/EdgeInstanceResponse' description: Satelliteinstances matching specified id summary: Retrieve Satellite Instances tags: - VSatellite /v1/edgeinstances/{id}: get: description: Retrieve satellite instance with 'id' attribute matching specified value; specified value should be uuid not numeric operationId: edgeinstances_getById parameters: - description: Satellite Instance ID in: path name: id required: true schema: description: Satellite Instance ID format: uuid type: string - in: query name: statusDetails schema: default: false type: boolean responses: '200': content: application/json: schema: $ref: '#/components/schemas/EdgeInstanceInformation' description: Satellite instance matching specified id '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Satellite instance not found '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed summary: Retrieve Satellite Instance By Id tags: - VSatellite put: description: Update satellite instance with specified new value operationId: edgeinstances_update parameters: - description: Satellite Instance ID in: path name: id required: true schema: description: Satellite Instance ID format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/EdgeInstanceRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/EdgeInstanceInformation' description: Satellite Instance Updated '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Satellite Instance Not Found '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed summary: Update Satellite Instance tags: - VSatellite /v1/pairingcodes/satellite: post: description: Generate new pairing code for satellite instance registration operationId: pairingcodes_create requestBody: content: application/json: schema: $ref: '#/components/schemas/PairingCodeRequest' responses: '201': content: application/json: schema: $ref: '#/components/schemas/PairingCodeInformation' description: Pairing Code Created '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed summary: Create Pairing Code for Satellite Instance tags: - VSatellite /v1/recoverycodes/satellite: post: description: Generate new recovery code for satellite instance restoration operationId: recoverycodes_create requestBody: content: application/json: schema: $ref: '#/components/schemas/RecoveryCodeRequest' responses: '201': content: application/json: schema: $ref: '#/components/schemas/RecoveryCodeInformation' description: Recovery Code Created '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed summary: Create Recovery Code for Satellite Instance tags: - VSatellite /v1/edgeworkers: get: description: Retrieve list of all satellite workers for company operationId: edgeworkers_getAll parameters: - in: query name: edgeInstanceId schema: format: uuid type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/EdgeWorkersResponse' description: List of Satellite workers summary: Retrieve Satellite Workers tags: - VSatellite post: description: Create satellite worker and generate the pairing information operationId: edgeworkers_create requestBody: content: application/json: schema: $ref: '#/components/schemas/EdgeWorkerRequest' responses: '201': content: application/json: schema: $ref: '#/components/schemas/EdgeWorkerInformation' description: Satellite worker information '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request conditions failed '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request conditions failed summary: Create Satellite Worker tags: - VSatellite /v1/edgeworkers/{id}/pair: post: operationId: edgeworkers_pair parameters: - description: EdgeWorker ID in: path name: id required: true schema: description: EdgeWorker ID format: uuid type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/EdgeWorkerRequest' responses: '200': content: application/json: schema: $ref: '#/components/schemas/EdgeWorkerInformation' description: Satellite worker paired with Satellitehub '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request conditions failed '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request conditions failed summary: Pair Satellite Worker with Satellite Instance tags: - VSatellite /v1/edgeworkers/{id}: delete: description: Delete satellite worker operationId: edgeworker_delete parameters: - description: EdgeWorker ID in: path name: id required: true schema: description: EdgeWorker ID format: uuid type: string responses: '204': content: application/json: schema: $ref: '#/components/schemas/EdgeWorkerDeleteResponse' description: Satellite worker deleted '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed '404': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Satellite worker not found '412': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse6' description: Request Conditions Failed summary: Delete Satellite Worker tags: - VSatellite /v1/updatesconfig: get: description: Retrieve updates configuration for tenant operationId: updatesconfig_get responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdatesConfigResponse' description: Tenant updates configuration summary: Retrieve Updates configuration tags: - VSatellite patch: description: "Create or update updates configuration. The default update window is set to daily, with a start time at 12:00 AM and duration of 24 hours. This schedule allows updates to be performed on demand as soon as they become available.\n **Example Default Request Body:**\n\n ```json\n {\n \"updateConfigSchedulerPattern\": {\n \"recurrenceType\": \"DAY\",\n \"startTime\": \"00:00:00\",\n \"duration\": \"PT24H\"\n }\n }\n ```\n" operationId: updatesconfig_patch requestBody: content: application/json: schema: $ref: '#/components/schemas/UpdatesConfigRequest' description: Modify updates configuration using patch behavior. All top level properties are optional required: true responses: '200': content: application/json: schema: $ref: '#/components/schemas/UpdatesConfigResponse' description: Updates configuration created/updated summary: Create or Update Configuration tags: - VSatellite components: schemas: WorkerStatus: enum: - DRAFT - PAIRED - ACTIVE - FAILED - INACTIVE type: string PairingCodeRequest: properties: environmentId: format: uuid type: string primaryInstanceId: format: uuid type: string reuseCount: format: int32 type: integer type: object ProductEntitlement: enum: - ANY - MIRA - DEVOPS - OUTAGE_DETECTION - CODESIGN type: string AnyValue6: description: Can be any value - string, number, boolean, array or object. EdgeInstanceResponse: properties: edgeInstances: items: $ref: '#/components/schemas/EdgeInstanceInformation' type: array type: object WorkerServiceStatusDetails: properties: name: type: string status: type: string type: object ErrorInformation6: properties: args: items: $ref: '#/components/schemas/AnyValue6' type: array code: format: int32 type: integer message: type: string type: object WeeklyPatternInformation: allOf: - $ref: '#/components/schemas/SchedulerPatternInformation3' - properties: daysOfWeek: description: Days of the week enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY items: description: Days of the week enum: - MONDAY - TUESDAY - WEDNESDAY - THURSDAY - FRIDAY - SATURDAY - SUNDAY type: string minItems: 1 type: array duration: description: Duration in ISO-8601 format enum: - PT8H - PT12H - PT24H example: PT24H type: string startTime: description: Start time in HH:mm:ss format pattern: ^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$ type: string type: object required: - daysOfWeek - duration - startTime type: object EdgeInstanceRequest: properties: name: minLength: 1 type: string upgradeOrderPriority: format: int32 maximum: 100 minimum: 1 type: integer required: - name type: object EdgeType: enum: - ALL - HUB - SATELLITE type: string EdgeStatus: enum: - ACTIVE - LOST_CONNECTION - REGISTERED - PAIRED - LOST_CONNECTION_DURING_INSTALL - INSTALLED - INSTALL_FAILED - UNHEALTHY - ERROR - INSTALLING type: string PodStatusDetails: properties: age: format: int64 type: integer cpuUsage: format: int32 type: integer image: type: string memoryUsage: format: int64 type: integer name: type: string restartCount: format: int32 type: integer status: type: string type: object EdgeWorkerInformation: properties: companyId: format: uuid type: string edgeInstanceId: format: uuid type: string environmentId: format: uuid type: string hiddenPairingCode: type: string host: type: string id: format: uuid type: string lastSeenOnDate: format: date-time type: string pairingCode: type: string pairingPublicKey: type: string port: format: int32 type: integer status: $ref: '#/components/schemas/WorkerStatus' type: object UpgradeStatus: enum: - LATEST - UPGRADE_PENDING - UPGRADING - FAILED type: string EdgeInstanceInformation: properties: address: type: string canRestore: type: boolean clientId: type: string companyId: format: uuid type: string deploymentDate: format: date-time type: string edgeStatus: $ref: '#/components/schemas/EdgeStatus' edgeType: $ref: '#/components/schemas/EdgeType' encryptionKeyDeploymentDate: format: date-time type: string encryptionKeyId: type: string environmentId: format: uuid type: string id: format: uuid type: string integrationServicesCount: format: int64 type: integer kubernetesVersion: type: string lastSeenOnDate: format: date-time type: string modificationDate: format: date-time type: string name: type: string pairingCodeId: format: uuid type: string primaryInstanceId: format: uuid type: string productEntitlements: items: $ref: '#/components/schemas/ProductEntitlement' type: array reconciliationFailed: type: boolean satelliteVersion: type: string serviceAccountId: format: uuid type: string statusDetails: $ref: '#/components/schemas/EdgeInstanceStatusDetailsInformation' upgradeOrderPriority: format: int32 type: integer upgradeStatus: $ref: '#/components/schemas/UpgradeStatus' version: format: int32 type: integer workerStatusDetails: items: $ref: '#/components/schemas/EdgeWorkerStatusDetailsInformation' type: array type: object RecoveryCodeRequest: properties: edgeInstanceId: format: uuid type: string required: - edgeInstanceId type: object UpdatesConfigRequest: properties: updateConfigSchedulerPattern: oneOf: - $ref: '#/components/schemas/DailyPatternInformation' - $ref: '#/components/schemas/WeeklyPatternInformation' type: object required: - updateConfigSchedulerPattern type: object PairingCodeInformation: properties: companyId: format: uuid type: string environmentId: format: uuid type: string expirationDate: format: date-time type: string id: format: uuid type: string pairingCode: type: string productEntitlements: items: $ref: '#/components/schemas/ProductEntitlement' type: array reuseCount: format: int32 type: integer type: object EdgeInstanceConnectionDetails: properties: activeMessageCount: format: int32 type: integer companyId: format: uuid type: string edgeInstanceId: format: uuid type: string expiredMessageCount: format: int32 type: integer failedMessageCount: format: int32 type: integer lastConnectedDate: format: date-time type: string lastDisconnectedDate: format: date-time type: string timestamp: format: date-time type: string type: object EdgeInstanceStatusDetailsInformation: properties: connectionDetails: items: $ref: '#/components/schemas/EdgeInstanceConnectionDetails' type: array healthDetails: items: $ref: '#/components/schemas/EdgeInstanceHealthDetails' type: array type: object EdgeWorkerRequest: properties: edgeInstanceId: format: uuid type: string host: type: string port: format: int32 type: integer type: object NamespaceStatusDetails: properties: name: type: string pods: items: $ref: '#/components/schemas/PodStatusDetails' type: array timestamp: format: date-time type: string type: object HSMEdgeStatus: enum: - HSM_ERROR - HSM_NOT_CONFIGURED - HSM_LOST_CONNECTION - HSM_HEALTHY type: string EncryptionKeysResponse: properties: encryptionKeys: items: $ref: '#/components/schemas/EncryptionKeyInformation' type: array type: object EdgeWorkerStatusDetailsInformation: properties: edgeWorkerId: format: uuid type: string healthDetails: items: $ref: '#/components/schemas/EdgeWorkerHealthDetails' type: array type: object EncryptionKeyInformation: properties: companyId: format: uuid type: string id: type: string key: type: string keyAlgorithm: $ref: '#/components/schemas/KeyAlgorithm' lastBackupDate: format: date-time type: string type: object DailyPatternInformation: allOf: - $ref: '#/components/schemas/SchedulerPatternInformation3' - properties: duration: description: Duration in ISO-8601 format enum: - PT8H - PT12H - PT24H example: PT24H type: string startTime: description: Start time in HH:mm:ss format pattern: ^([01]\d|2[0-3]):[0-5]\d:[0-5]\d$ type: string type: object required: - duration - startTime type: object EdgeWorkerDeleteResponse: properties: id: format: uuid type: string pairingCode: type: string type: object RecoveryCodeInformation: properties: companyId: format: uuid type: string dataPlaneDomain: type: string expirationDate: format: date-time type: string hiddenRecoveryCode: type: string id: format: uuid type: string productEntitlements: items: $ref: '#/components/schemas/ProductEntitlement' type: array recoveryCode: type: string tsgId: type: string type: object NodeInfo: properties: kubelet_version: type: string type: object UpdatesConfigResponse: properties: updateConfigSchedulerPattern: oneOf: - $ref: '#/components/schemas/DailyPatternInformation' - $ref: '#/components/schemas/WeeklyPatternInformation' type: object type: object EdgeInstanceHealthDetails: properties: companyId: format: uuid type: string edgeInstanceId: format: uuid type: string hsmStatus: $ref: '#/components/schemas/HSMEdgeStatus' installedCharts: items: $ref: '#/components/schemas/NamespaceChartDetails' type: array nodeStatus: items: $ref: '#/components/schemas/NodeStatusDetails' type: array systemstatus: items: $ref: '#/components/schemas/NamespaceStatusDetails' type: array timestamp: format: date-time type: string version: type: string type: object ChartDetails: properties: name: type: string version: type: string type: object KeyAlgorithm: enum: - RSA - ED25519 - VSAT_HPKE type: string NamespaceChartDetails: properties: charts: items: $ref: '#/components/schemas/ChartDetails' type: array name: type: string type: object NodeCondition: properties: Status: type: string writeOnly: true Type: type: string writeOnly: true status: type: string type: type: string type: object EdgeWorkersResponse: properties: edgeWorkers: items: $ref: '#/components/schemas/EdgeWorkerInformation' type: array type: object ErrorResponse6: properties: errors: items: $ref: '#/components/schemas/ErrorInformation6' type: array type: object SchedulerPatternInformation3: discriminator: mapping: DAY: '#/components/schemas/DailyPatternInformation' WEEK: '#/components/schemas/WeeklyPatternInformation' propertyName: recurrenceType properties: recurrenceType: type: string required: - recurrenceType type: object EdgeWorkerHealthDetails: properties: age: format: int64 type: integer companyId: format: uuid type: string cpuUsage: format: int32 type: integer edgeInstanceId: format: uuid type: string edgeWorkerId: format: uuid type: string host: type: string memoryUsage: format: int64 type: integer port: format: int32 type: integer services: items: $ref: '#/components/schemas/WorkerServiceStatusDetails' type: array status: type: string timestamp: format: date-time type: string type: object NodeStatusDetails: properties: conditions: items: $ref: '#/components/schemas/NodeCondition' type: array info: $ref: '#/components/schemas/NodeInfo' type: object securitySchemes: scmOAuth: type: oauth2 description: 'Strata Cloud Manager APIs authenticate client requests using the OAuth 2.0 Client Credentials flow. Please use the `client_id`, `client_secret` values associated with an IAM service account along with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the Tenant Service Group (TSG) ID. The resulting JWT access token should be attached to all API calls as a `Bearer` token in the `Authorization` header (ex. `Authorization: Bearer tokenstring`).' flows: clientCredentials: tokenUrl: https://auth.apps.paloaltonetworks.com/oauth2/access_token scopes: {} scmToken: type: http description: 'Strata Cloud Manager APIs authenticate client requests using the OAuth 2.0 Client Credentials flow. Please use the `client_id`, `client_secret` values associated with an IAM service account along with a scope value of `tsg_id:XXXXXXXXXX`, where `XXXXXXXXXX` is the Tenant Service Group (TSG) ID. The resulting JWT access token should be attached to all API calls as a `Bearer` token in the `Authorization` header (ex. `Authorization: Bearer tokenstring`).' scheme: bearer bearerFormat: JWT