ESC
Type to search...

PrintJob.ReadWriteBasic

Export JSON
Export CSV
Copy URL
Print
Delegated Read/Write User Scope

Allows the application to read and update the metadata of print jobs that the signed-in user created. Does not allow access to print job document content.

Permission data: April 6, 2026 at 4:06 AM UTC
Delegated Access App-Only Access

Permission Details

Delegated Permission User consent allowed

Read and write basic information of user's print jobs

Allows the application to read and update the metadata of print jobs that the signed-in user created. Does not allow access to print job document content.

Properties

Microsoft Graph v1.0 exact-category-docs

Properties is shown from stable Microsoft Graph v1.0 metadata.

Property Type Description
configuration printJobConfiguration A group of settings that a printer should use to print a job.
createdBy userIdentity Read-only. Nullable.
createdDateTime DateTimeOffset The DateTimeOffset when the job was created. Read-only.
id String The ID of the print job. Read-only.
isFetchable Edm.Boolean If true, document can be fetched by printer.
redirectedFrom Edm.StringNullable Contains the source job URL, if the job has been redirected from another printer.
redirectedTo Edm.StringNullable Contains the destination job URL, if the job has been redirected to another printer.
status printJobStatus The status of the print job. Read-only.
errorCode Int32Nullable The error code of the print job. Read-only.
acknowledgedDateTime DateTimeOffsetNullable The dateTimeOffset when the job was acknowledged. Read-only.
documents printDocument collection
tasks printTask collection A list of printTasks that were triggered by this print job.

JSON Representation

Microsoft Graph v1.0 exact-category-docs

JSON representation is shown from stable Microsoft Graph v1.0 metadata.

JSON representation
{
  "@odata.type": "#microsoft.graph.printJob",
  "id": "String (identifier)",
  "createdDateTime": "String (timestamp)",
  "status": {
    "@odata.type": "microsoft.graph.printJobStatus"
  },
  "createdBy": {
    "@odata.type": "microsoft.graph.userIdentity"
  },
  "configuration": {
    "@odata.type": "microsoft.graph.printJobConfiguration"
  },
  "redirectedTo": "String",
  "redirectedFrom": "String",
  "isFetchable": "Boolean"
}

Relationships

Microsoft Graph v1.0 exact-category-docs

Relationships is shown from stable Microsoft Graph v1.0 metadata.

Relationship Type Description
documents printDocument collection Read-only.
tasks printTask collection A list of printTasks that were triggered by this print job.
configuration printJobConfiguration Related configuration data exposed by this resource.
status printJobStatus Related status data exposed by this resource.

Graph Methods

Delegated access App-only access
Exact Microsoft Learn match

Microsoft Graph v1.0 endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /print/printers/{id}/jobs/{id}
GET /print/printers/{printerId}/jobs
GET /print/services
GET /print/services/{printServiceId}
GET /print/services/{printServiceId}/endpoints
GET /print/services/{printServiceId}/endpoints/{printServiceEndpointId}
GET /print/shares/{id}/jobs/{id}
GET /print/shares/{printerShareId}/jobs
POST /print/printers/{printerId}/jobs
POST /print/printers/{printerId}/jobs/{printJobId}/cancel
POST /print/shares/{printerShareId}/jobs
POST /print/shares/{printerShareId}/jobs/{printJobId}/start
Exact Microsoft Learn match

Microsoft Graph beta endpoints are mapped directly from refreshed Microsoft Learn permissions tables.

Methods
GET /print/printers/{id}/jobs
GET /print/printers/{id}/jobs/{id}
GET /print/services
GET /print/services/{id}
GET /print/services/{id}/endpoints
GET /print/services/{id}/endpoints/{name}
GET /print/shares/{id}/jobs
GET /print/shares/{id}/jobs/{id}
POST /print/printers/{id}/jobs
POST /print/printers/{id}/jobs/{id}/cancel
POST /print/shares/{id}/jobs
POST /print/shares/{id}/jobs/{id}/start
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell v1.0 commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Get-MgPrintPrinterJob /print/printers/{id}/jobs/{id}
Get printJob
Get-MgPrintPrinterJob /print/printers/{printerId}/jobs
List printJobs for a printer
Get-MgPrintService /print/services
List printServices
Get-MgPrintService /print/services/{printServiceId}
Get printService
Get-MgPrintServiceEndpoint /print/services/{printServiceId}/endpoints
List endpoints
Get-MgPrintServiceEndpoint /print/services/{printServiceId}/endpoints/{printServiceEndpointId}
Get printServiceEndpoint
Get-MgPrintShareJob /print/shares/{printerShareId}/jobs
List printJobs for a printerShare
New-MgPrintPrinterJob /print/printers/{printerId}/jobs
Create printJob
New-MgPrintShareJob /print/shares/{printerShareId}/jobs
Create printJob for a printerShare
Exact Microsoft Learn PowerShell match

Microsoft Graph PowerShell beta commands are mapped directly from refreshed Microsoft Learn PowerShell snippets.

Commands
Get-MgBetaPrintPrinterJob /print/printers/{id}/jobs
List printJobs for a printer
Get-MgBetaPrintPrinterJob /print/printers/{id}/jobs/{id}
Get printJob
Get-MgBetaPrintService /print/services
List printServices
Get-MgBetaPrintService /print/services/{id}
Get printService
Get-MgBetaPrintServiceEndpoint /print/services/{id}/endpoints
List printServiceEndpoints
Get-MgBetaPrintServiceEndpoint /print/services/{id}/endpoints/{name}
Get printServiceEndpoint
Get-MgBetaPrintShareJob /print/shares/{id}/jobs
List printJobs for a printerShare
New-MgBetaPrintPrinterJob /print/printers/{id}/jobs
Create printJob for a printer
New-MgBetaPrintShareJob /print/shares/{id}/jobs
Create printJob for a printerShare

Code Examples

C# / .NET SDK
Create printJob for a printerShare
// Code snippets are only available for the latest version. Current version is 5.x

// Dependencies
using Microsoft.Graph.Models;

var requestBody = new PrintJob
{
	Configuration = new PrintJobConfiguration
	{
		FeedOrientation = PrinterFeedOrientation.LongEdgeFirst,
		PageRanges = new List<IntegerRange>
		{
			new IntegerRange
			{
				Start = 1L,
				End = 1L,
			},
		},
		Quality = PrintQuality.Medium,
		Dpi = 600,
		Orientation = PrintOrientation.Landscape,
		Copies = 1,
		DuplexMode = PrintDuplexMode.OneSided,
		ColorMode = PrintColorMode.BlackAndWhite,
		InputBin = "by-pass-tray",
		OutputBin = "output-tray",
		MediaSize = "A4",
		Margin = new PrintMargin
		{
			Top = 0,
			Bottom = 0,
			Left = 0,
			Right = 0,
		},
		MediaType = "stationery",
		Finishings = null,
		PagesPerSheet = 1,
		MultipageLayout = PrintMultipageLayout.ClockwiseFromBottomLeft,
		Collate = false,
		Scaling = PrintScaling.ShrinkToFit,
		FitPdfToPage = false,
	},
};

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Print.Shares["{printerShare-id}"].Jobs.PostAsync(requestBody);
JavaScript
Create printJob for a printerShare
const options = {
	authProvider,
};

const client = Client.init(options);

const printJob = {
  configuration: {
    feedOrientation: 'longEdgeFirst',
    pageRanges: [
      {
        start: 1,
        end: 1
      }
    ],
    quality: 'medium',
    dpi: 600,
    orientation: 'landscape',
    copies: 1,
    duplexMode: 'oneSided',
    colorMode: 'blackAndWhite',
    inputBin: 'by-pass-tray',
    outputBin: 'output-tray',
    mediaSize: 'A4',
    margin: {
      top: 0,
      bottom: 0,
      left: 0,
      right: 0
    },
    mediaType: 'stationery',
    finishings: null,
    pagesPerSheet: 1,
    multipageLayout: 'clockwiseFromBottomLeft',
    collate: false,
    scaling: 'shrinkToFit',
    fitPdfToPage: false
  }
};

await client.api('/print/shares/{printerShareId}/jobs')
	.post(printJob);
PowerShell
Create printJob for a printerShare
Import-Module Microsoft.Graph.Devices.CloudPrint

$params = @{
	configuration = @{
		feedOrientation = "longEdgeFirst"
		pageRanges = @(
			@{
				start = 1
				end = 1
			}
		)
		quality = "medium"
		dpi = 600
		orientation = "landscape"
		copies = 1
		duplexMode = "oneSided"
		colorMode = "blackAndWhite"
		inputBin = "by-pass-tray"
		outputBin = "output-tray"
		mediaSize = "A4"
		margin = @{
			top = 0
			bottom = 0
			left = 0
			right = 0
		}
		mediaType = "stationery"
		finishings = $null
		pagesPerSheet = 1
		multipageLayout = "clockwiseFromBottomLeft"
		collate = $false
		scaling = "shrinkToFit"
		fitPdfToPage = $false
	}
}

New-MgPrintShareJob -PrinterShareId $printerShareId -BodyParameter $params
Python
Create printJob for a printerShare
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.print_job import PrintJob
from msgraph.generated.models.print_job_configuration import PrintJobConfiguration
from msgraph.generated.models.printer_feed_orientation import PrinterFeedOrientation
from msgraph.generated.models.integer_range import IntegerRange
from msgraph.generated.models.print_quality import PrintQuality
from msgraph.generated.models.print_orientation import PrintOrientation
from msgraph.generated.models.print_duplex_mode import PrintDuplexMode
from msgraph.generated.models.print_color_mode import PrintColorMode
from msgraph.generated.models.print_margin import PrintMargin
from msgraph.generated.models.print_multipage_layout import PrintMultipageLayout
from msgraph.generated.models.print_scaling import PrintScaling
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = PrintJob(
	configuration = PrintJobConfiguration(
		feed_orientation = PrinterFeedOrientation.LongEdgeFirst,
		page_ranges = [
			IntegerRange(
				start = 1,
				end = 1,
			),
		],
		quality = PrintQuality.Medium,
		dpi = 600,
		orientation = PrintOrientation.Landscape,
		copies = 1,
		duplex_mode = PrintDuplexMode.OneSided,
		color_mode = PrintColorMode.BlackAndWhite,
		input_bin = "by-pass-tray",
		output_bin = "output-tray",
		media_size = "A4",
		margin = PrintMargin(
			top = 0,
			bottom = 0,
			left = 0,
			right = 0,
		),
		media_type = "stationery",
		finishings = None,
		pages_per_sheet = 1,
		multipage_layout = PrintMultipageLayout.ClockwiseFromBottomLeft,
		collate = False,
		scaling = PrintScaling.ShrinkToFit,
		fit_pdf_to_page = False,
	),
)

result = await graph_client.print.shares.by_printer_share_id('printerShare-id').jobs.post(request_body)

App Registration

1

Navigate to Azure Portal

Go to App registrations in Microsoft Entra admin center

2

Add API Permission

Select your app → API permissions → Add a permission → Microsoft Graph

3

Select Permission Type

Choose Delegated permissions and search for PrintJob.ReadWriteBasic

4

Grant Admin Consent

Users can consent to this permission during sign-in.