generated: '2026-09-17' method: derived source: openapi/_original/microsoft-azure-batch-batch-service-openapi.json docs: https://learn.microsoft.com/en-us/azure/batch/batch-service-workflow-features note: 'Entity graph computed from the provider contract (API version 2025-06-01): 236 schema definitions, walked for $ref links and for the caller-supplied id fields Batch uses instead of server-generated keys. Batch has no id-prefix convention (no "job_" / "pool_" prefixes) — ids are chosen by the caller and unique within their parent scope, which is also why re-creating an existing id returns a *Exists conflict rather than a duplicate.' summary: definitions: 236 core_entities: 11 ref_relationships: 84 id_reference_fields: 13 identifiers: style: caller-supplied string ids prefixes: null scope: unique within the parent resource — taskId within a job, nodeId within a pool, jobId/poolId/jobScheduleId within the Batch account note: No opaque server-generated identifiers and no prefix scheme. entities: - name: BatchJob description: A container of tasks, bound to a pool (or an auto-pool). Owns constraints, preparation/release tasks and lifecycle state. properties: 26 - name: BatchPool description: A collection of compute nodes (VMs) on which tasks run. Owns its VM configuration, scale settings and start task. properties: 34 - name: BatchTask description: The unit of work. Belongs to a job, runs on a node, and may have dependencies, subtasks and output files. properties: 26 - name: BatchNode description: A single compute node inside a pool. Carries its own files, users, extensions and scheduling state. properties: 23 - name: BatchJobSchedule description: A recurrence that creates jobs on a schedule, from a job specification. properties: 15 - name: BatchApplication description: An application package registered on the Batch account and installable on pool nodes. properties: 3 relationships: - from: BatchApplicationListResult to: BatchApplication type: has_many via: value - from: BatchError to: BatchErrorMessage type: has_one via: message - from: BatchError to: BatchErrorDetail type: has_many via: values - from: BatchJob to: Azure.Core.eTag type: has_one via: eTag - from: BatchJob to: BatchJobState type: has_one via: state - from: BatchJob to: BatchJobState type: has_one via: previousState - from: BatchJob to: BatchJobConstraints type: has_one via: constraints - from: BatchJob to: BatchJobManagerTask type: has_one via: jobManagerTask - from: BatchJob to: BatchJobPreparationTask type: has_one via: jobPreparationTask - from: BatchJob to: BatchJobReleaseTask type: has_one via: jobReleaseTask - from: BatchJob to: EnvironmentSetting type: has_many via: commonEnvironmentSettings - from: BatchJob to: BatchPoolInfo type: has_one via: poolInfo - from: BatchJob to: BatchAllTasksCompleteMode type: has_one via: onAllTasksComplete - from: BatchJob to: BatchTaskFailureMode type: has_one via: onTaskFailure - from: BatchJob to: BatchJobNetworkConfiguration type: has_one via: networkConfiguration - from: BatchJob to: BatchMetadataItem type: has_many via: metadata - from: BatchJob to: BatchJobExecutionInfo type: has_one via: executionInfo - from: BatchJob to: BatchJobStatistics type: has_one via: stats - from: BatchJobExecutionInfo to: BatchJobSchedulingError type: has_one via: schedulingError - from: BatchJobListResult to: BatchJob type: has_many via: value - from: BatchJobSchedule to: Azure.Core.eTag type: has_one via: eTag - from: BatchJobSchedule to: BatchJobScheduleState type: has_one via: state - from: BatchJobSchedule to: BatchJobScheduleState type: has_one via: previousState - from: BatchJobSchedule to: BatchJobScheduleConfiguration type: has_one via: schedule - from: BatchJobSchedule to: BatchJobSpecification type: has_one via: jobSpecification - from: BatchJobSchedule to: BatchJobScheduleExecutionInfo type: has_one via: executionInfo - from: BatchJobSchedule to: BatchMetadataItem type: has_many via: metadata - from: BatchJobSchedule to: BatchJobScheduleStatistics type: has_one via: stats - from: BatchJobScheduleListResult to: BatchJobSchedule type: has_many via: value - from: BatchNode to: BatchNodeState type: has_one via: state - from: BatchNode to: SchedulingState type: has_one via: schedulingState - from: BatchNode to: Azure.Core.ipV4Address type: has_one via: ipAddress - from: BatchNode to: Azure.Core.ipV6Address type: has_one via: ipv6Address - from: BatchNode to: BatchTaskInfo type: has_many via: recentTasks - from: BatchNode to: BatchStartTask type: has_one via: startTask - from: BatchNode to: BatchStartTaskInfo type: has_one via: startTaskInfo - from: BatchNode to: BatchNodeError type: has_many via: errors - from: BatchNode to: BatchNodeEndpointConfiguration type: has_one via: endpointConfiguration - from: BatchNode to: BatchNodeAgentInfo type: has_one via: nodeAgentInfo - from: BatchNode to: VirtualMachineInfo type: has_one via: virtualMachineInfo - from: BatchNodeListResult to: BatchNode type: has_many via: value - from: BatchPool to: Azure.Core.eTag type: has_one via: eTag - from: BatchPool to: BatchPoolState type: has_one via: state - from: BatchPool to: AllocationState type: has_one via: allocationState - from: BatchPool to: VirtualMachineConfiguration type: has_one via: virtualMachineConfiguration - from: BatchPool to: ResizeError type: has_many via: resizeErrors - from: BatchPool to: AutoScaleRun type: has_one via: autoScaleRun - from: BatchPool to: NetworkConfiguration type: has_one via: networkConfiguration - from: BatchPool to: BatchStartTask type: has_one via: startTask - from: BatchPool to: BatchApplicationPackageReference type: has_many via: applicationPackageReferences - from: BatchPool to: BatchTaskSchedulingPolicy type: has_one via: taskSchedulingPolicy - from: BatchPool to: UserAccount type: has_many via: userAccounts - from: BatchPool to: BatchMetadataItem type: has_many via: metadata - from: BatchPool to: BatchPoolStatistics type: has_one via: stats - from: BatchPool to: MountConfiguration type: has_many via: mountConfiguration - from: BatchPool to: BatchPoolIdentity type: has_one via: identity - from: BatchPool to: UpgradePolicy type: has_one via: upgradePolicy - from: BatchPoolListResult to: BatchPool type: has_many via: value - from: BatchPoolStatistics to: BatchPoolUsageStatistics type: has_one via: usageStats - from: BatchPoolStatistics to: BatchPoolResourceStatistics type: has_one via: resourceStats - from: BatchSubtask to: BatchNodeInfo type: has_one via: nodeInfo - from: BatchTask to: Azure.Core.eTag type: has_one via: eTag - from: BatchTask to: ExitConditions type: has_one via: exitConditions - from: BatchTask to: BatchTaskState type: has_one via: state - from: BatchTask to: BatchTaskState type: has_one via: previousState - from: BatchTask to: BatchTaskContainerSettings type: has_one via: containerSettings - from: BatchTask to: ResourceFile type: has_many via: resourceFiles - from: BatchTask to: OutputFile type: has_many via: outputFiles - from: BatchTask to: EnvironmentSetting type: has_many via: environmentSettings - from: BatchTask to: BatchAffinityInfo type: has_one via: affinityInfo - from: BatchTask to: BatchTaskConstraints type: has_one via: constraints - from: BatchTask to: UserIdentity type: has_one via: userIdentity - from: BatchTask to: BatchTaskExecutionInfo type: has_one via: executionInfo - from: BatchTask to: BatchNodeInfo type: has_one via: nodeInfo - from: BatchTask to: MultiInstanceSettings type: has_one via: multiInstanceSettings - from: BatchTask to: BatchTaskStatistics type: has_one via: stats - from: BatchTask to: BatchTaskDependencies type: has_one via: dependsOn - from: BatchTask to: BatchApplicationPackageReference type: has_many via: applicationPackageReferences - from: BatchTaskCreateResult to: BatchError type: has_one via: error - from: BatchTaskExecutionInfo to: BatchTaskContainerExecutionInfo type: has_one via: containerInfo - from: BatchTaskExecutionInfo to: BatchTaskFailureInfo type: has_one via: failureInfo - from: BatchTaskExecutionInfo to: BatchTaskExecutionResult type: has_one via: result - from: BatchTaskInfo to: BatchTaskExecutionInfo type: has_one via: executionInfo - from: BatchTaskListResult to: BatchTask type: has_many via: value id_references: - entity: BatchApplicationPackageReference field: applicationId references: BatchApplication type: belongs_to - entity: BatchJobExecutionInfo field: poolId references: BatchPool type: belongs_to - entity: BatchJobPreparationAndReleaseTaskStatus field: poolId references: BatchPool type: belongs_to - entity: BatchJobPreparationAndReleaseTaskStatus field: nodeId references: BatchNode type: belongs_to - entity: BatchNodeInfo field: poolId references: BatchPool type: belongs_to - entity: BatchNodeInfo field: nodeId references: BatchNode type: belongs_to - entity: BatchPoolInfo field: poolId references: BatchPool type: belongs_to - entity: BatchPoolInfoUpdate field: poolId references: BatchPool type: belongs_to - entity: BatchPoolNodeCounts field: poolId references: BatchPool type: belongs_to - entity: BatchPoolUsageMetrics field: poolId references: BatchPool type: belongs_to - entity: BatchTaskCreateResult field: taskId references: BatchTask type: belongs_to - entity: BatchTaskInfo field: jobId references: BatchJob type: belongs_to - entity: BatchTaskInfo field: taskId references: BatchTask type: belongs_to hierarchy: - BatchAccount -> BatchPool -> BatchNode - BatchAccount -> BatchJob -> BatchTask (-> SubTask) - BatchAccount -> BatchJobSchedule -> BatchJob - BatchAccount -> BatchApplication -> ApplicationPackage - BatchJob -> BatchPool (via poolInfo.poolId or an auto-pool specification) - BatchTask -> BatchNode (via nodeInfo.nodeId, assigned by the scheduler)