# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Applications.synchronization API version: 1.0.0 extends: openapi/azure-ad-applications-synchronization-api-openapi.yml actions: - target: $.info update: x-apievangelist-phrasing: method: generated generated: '2026-10-01' generator: build-phrasing.py label: Generated by API Evangelist operations: 56 - target: $.paths['/applications/{application-id}/synchronization'].get update: x-apievangelist-phrasing: intent: Get an application's provisioning sync setup effect: read questions: - What does the overall provisioning synchronization configuration look like for one of my Entra app registrations? - Can I see the jobs, templates and secrets an application's sync setup holds in one call? instructions: - text: Show me the synchronization configuration for application {app}. slots: app: path.application-id - text: Fetch the whole provisioning sync object attached to app {app}. slots: app: path.application-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization'].put update: x-apievangelist-phrasing: intent: Replace an application's sync configuration effect: write questions: - How do I overwrite the entire synchronization object on an application in one request? - Can I replace an app's sync jobs, templates and secrets together with a single PUT? instructions: - text: 'Replace the synchronization configuration on application {app} with these jobs: {jobs}.' slots: app: path.application-id jobs: requestBody.jobs - text: Overwrite the sync setup for app {app}, setting its templates to {templates}. slots: app: path.application-id templates: requestBody.templates method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization'].delete update: x-apievangelist-phrasing: intent: Remove an application's sync configuration effect: destructive questions: - Can I tear down the whole provisioning synchronization setup on an application at once? - What happens to an app's sync jobs and templates if I delete its synchronization object? instructions: - text: Delete the entire synchronization configuration from application {app}. slots: app: path.application-id - text: Remove all provisioning sync setup on app {app}. slots: app: path.application-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs'].get update: x-apievangelist-phrasing: intent: List an application's provisioning sync jobs effect: read questions: - Which provisioning jobs are set up to sync users into one of my applications? - How do I see every synchronization job configured on an Entra app? instructions: - text: List the synchronization jobs on application {app}. slots: app: path.application-id - text: Show all provisioning jobs configured for app {app}. slots: app: path.application-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs'].post update: x-apievangelist-phrasing: intent: Create a provisioning sync job for an application effect: write questions: - How do I set up a new provisioning job for an application from one of its sync templates? - Can I give a new sync job its own schedule when I create it? instructions: - text: Create a synchronization job on application {app} from template {template}. slots: app: path.application-id template: requestBody.templateId - text: Add a new provisioning job to app {app} using template {template} with schedule {schedule}. slots: app: path.application-id template: requestBody.templateId schedule: requestBody.schedule method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}'].get update: x-apievangelist-phrasing: intent: Get one provisioning sync job effect: read questions: - What is the current status and schedule of a specific provisioning job on my app? - Can I look up a single synchronization job by its ID? instructions: - text: Get synchronization job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Show the status of provisioning job {job} for app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}'].delete update: x-apievangelist-phrasing: intent: Delete a provisioning sync job effect: destructive questions: - How do I permanently remove one provisioning job from an application? - Can I delete a single sync job without touching the app's other jobs? instructions: - text: Delete synchronization job {job} from application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Remove provisioning job {job} on app {app} for good. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}'].patch update: x-apievangelist-phrasing: intent: Update a provisioning sync job effect: write questions: - Can I change the schedule of an existing provisioning job on my app? - What settings on a sync job can I edit after it's been created? instructions: - text: Change the schedule of sync job {job} on application {app} to {schedule}. slots: app: path.application-id job: path.synchronizationJob-id schedule: requestBody.schedule - text: Update the job settings of provisioning job {job} for app {app} to {settings}. slots: app: path.application-id job: path.synchronizationJob-id settings: requestBody.synchronizationJobSettings method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload'].get update: x-apievangelist-phrasing: intent: Get a sync job's bulk upload operation effect: read questions: - Is there a bulk upload operation attached to my provisioning job, and what is it? - Can I inspect the bulk upload entity on a synchronization job? instructions: - text: Get the bulk upload operation for sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Show the bulkUpload object of provisioning job {job} in app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload'].delete update: x-apievangelist-phrasing: intent: Delete a sync job's bulk upload operation effect: destructive questions: - How do I remove the bulk upload operation from a provisioning job? - Can I drop a job's bulkUpload entity entirely rather than just clearing its file? instructions: - text: Delete the bulk upload operation from sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Remove the bulkUpload entity of provisioning job {job} in app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload'].patch update: x-apievangelist-phrasing: intent: Update a sync job's bulk upload entity effect: write questions: - Can I patch the bulk upload entity on a provisioning job? - What can I change on a job's bulkUpload object without replacing its file content? instructions: - text: Update the bulk upload entity on sync job {job} for application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Patch the bulkUpload object of provisioning job {job} in app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload/$value'].get update: x-apievangelist-phrasing: intent: Download a sync job's bulk upload content effect: read questions: - How do I download the raw file content of a provisioning job's bulk upload? - Can I read back the payload that was bulk uploaded to a sync job? instructions: - text: Download the bulk upload content for sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Get the raw bulkUpload media of provisioning job {job} in app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload/$value'].put update: x-apievangelist-phrasing: intent: Upload bulk content to a sync job effect: write questions: - How do I push a bulk upload payload of user records into a provisioning job? - Can I replace the media content of a sync job's bulk upload? instructions: - text: Upload new bulk content to sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Replace the bulkUpload media of provisioning job {job} in app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload/$value'].delete update: x-apievangelist-phrasing: intent: Clear a sync job's bulk upload content effect: destructive questions: - Can I wipe just the uploaded file content from a provisioning job's bulk upload? - What's the way to clear bulk upload media while keeping the bulkUpload entity? instructions: - text: Clear the bulk upload content from sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Delete the uploaded bulk media of provisioning job {job} in app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/microsoft.graph.pause'].post update: x-apievangelist-phrasing: intent: Pause a running provisioning job effect: write questions: - Can I temporarily stop a provisioning job and have it resume where it left off? - Does pausing a sync job keep its progress and state? instructions: - text: Pause sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Temporarily halt provisioning job {job} for app {app} without losing progress. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/microsoft.graph.provisionOnDemand'].post update: x-apievangelist-phrasing: intent: Provision a user on demand through a sync job effect: write questions: - How do I provision one specific user right now instead of waiting for the next sync cycle? - What's the rate limit on on-demand provisioning for a sync job? instructions: - text: Provision on demand through sync job {job} on application {app} using {parameters}. slots: app: path.application-id job: path.synchronizationJob-id parameters: requestBody.parameters - text: 'Push this user into app {app} immediately via provisioning job {job}: {parameters}.' slots: app: path.application-id job: path.synchronizationJob-id parameters: requestBody.parameters method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/microsoft.graph.restart'].post update: x-apievangelist-phrasing: intent: Restart a provisioning job and reprocess everything effect: write questions: - How do I force a stopped provisioning job to reprocess every object in the directory? - Can I clear the existing sync state when I restart a job? instructions: - text: Restart sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Restart provisioning job {job} for app {app} with reset criteria {criteria}. slots: app: path.application-id job: path.synchronizationJob-id criteria: requestBody.criteria method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/microsoft.graph.start'].post update: x-apievangelist-phrasing: intent: Start or resume a provisioning job effect: write questions: - How do I kick off an existing provisioning job for the first time? - If a sync job is paused, will starting it continue from where it stopped? instructions: - text: Start sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Resume the paused provisioning job {job} for app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/microsoft.graph.validateCredentials'].post update: x-apievangelist-phrasing: intent: Validate credentials for an existing sync job effect: read questions: - How do I confirm the credentials on an existing provisioning job are still valid in my tenant? - Can I re-test a running sync job's saved credentials after the target system's password changed? instructions: - text: Validate the credentials of sync job {job} on application {app}. slots: job: path.synchronizationJob-id app: path.application-id - text: Check whether existing job {job} on app {app} still works with its saved credentials ({use_saved}). slots: job: path.synchronizationJob-id app: path.application-id use_saved: requestBody.useSavedCredentials method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema'].get update: x-apievangelist-phrasing: intent: Get a provisioning job's sync schema effect: read questions: - Which attribute mappings and rules is my provisioning job actually using? - Can I read the synchronization schema configured on a specific job? instructions: - text: Get the sync schema for job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Show the attribute mapping schema of provisioning job {job} in app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema'].delete update: x-apievangelist-phrasing: intent: Delete a provisioning job's custom schema effect: destructive questions: - How do I remove the customized schema from a provisioning job? - Can I delete a sync job's schema to drop its custom attribute mappings? instructions: - text: Delete the sync schema of job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Remove the attribute mapping schema from provisioning job {job} in app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema'].patch update: x-apievangelist-phrasing: intent: Update a provisioning job's sync schema effect: write questions: - How do I change attribute mappings on a live provisioning job? - Can I edit the synchronization rules of one job without changing its template? instructions: - text: Update the sync rules of job {job} on application {app} to {rules}. slots: app: path.application-id job: path.synchronizationJob-id rules: requestBody.synchronizationRules - text: Set the directories in provisioning job {job}'s schema for app {app} to {directories}. slots: app: path.application-id job: path.synchronizationJob-id directories: requestBody.directories method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema/directories'].get update: x-apievangelist-phrasing: intent: List directories in a sync job's schema effect: read questions: - Which source and target directories does my provisioning job's schema define? - What directory definitions and objects are in a sync job's schema? instructions: - text: List the directory definitions in the schema of sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Show all directories in provisioning job {job}'s schema for app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema/directories'].post update: x-apievangelist-phrasing: intent: Add a directory definition to a job's schema effect: write questions: - How do I add a new directory definition to a provisioning job's schema? - Can I mark a new directory in a sync job's schema as read-only? instructions: - text: Add a directory named {name} to the schema of sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id name: requestBody.name - text: Create directory {name} with objects {objects} in provisioning job {job}'s schema for app {app}. slots: app: path.application-id job: path.synchronizationJob-id name: requestBody.name objects: requestBody.objects method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema/directories/{directoryDefinition-id}'].get update: x-apievangelist-phrasing: intent: Get one directory definition in a job's schema effect: read questions: - What objects and attributes does one directory in my provisioning job's schema contain? - When was a particular directory in a sync job's schema last discovered? instructions: - text: Get directory {directory} in the schema of sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id directory: path.directoryDefinition-id - text: Show the objects of directory {directory} in provisioning job {job} for app {app}. slots: app: path.application-id job: path.synchronizationJob-id directory: path.directoryDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema/directories/{directoryDefinition-id}'].delete update: x-apievangelist-phrasing: intent: Remove a directory definition from a job's schema effect: destructive questions: - How do I delete one directory definition from a provisioning job's schema? - Can I drop a directory from a sync job's schema without deleting the whole schema? instructions: - text: Delete directory {directory} from the schema of sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id directory: path.directoryDefinition-id - text: Remove directory definition {directory} in provisioning job {job} for app {app}. slots: app: path.application-id job: path.synchronizationJob-id directory: path.directoryDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema/directories/{directoryDefinition-id}'].patch update: x-apievangelist-phrasing: intent: Update a directory definition in a job's schema effect: write questions: - Can I rename or change the objects of a directory in a provisioning job's schema? - What fields of a sync job's directory definition can I update? instructions: - text: Rename directory {directory} in sync job {job}'s schema on application {app} to {name}. slots: app: path.application-id job: path.synchronizationJob-id directory: path.directoryDefinition-id name: requestBody.name - text: Set the objects of directory {directory} in provisioning job {job} for app {app} to {objects}. slots: app: path.application-id job: path.synchronizationJob-id directory: path.directoryDefinition-id objects: requestBody.objects method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema/directories/{directoryDefinition-id}/microsoft.graph.discover'].post update: x-apievangelist-phrasing: intent: Rediscover a directory's schema for a sync job effect: write questions: - How do I pull the latest attribute schema from the target app into my provisioning job? - Can I refresh a directory definition on a sync job after the app added new attributes? instructions: - text: Discover the latest schema for directory {directory} in sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id directory: path.directoryDefinition-id - text: Refresh directory {directory} of provisioning job {job} for app {app} from the live app. slots: app: path.application-id job: path.synchronizationJob-id directory: path.directoryDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema/directories/$count'].get update: x-apievangelist-phrasing: intent: Count directories in a sync job's schema effect: read questions: - How many directory definitions are in my provisioning job's schema? - Can I get just the number of directories a sync job's schema defines? instructions: - text: Count the directories in the schema of sync job {job} on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Tell me how many directory definitions provisioning job {job} in app {app} has. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema/microsoft.graph.filterOperators()'].get update: x-apievangelist-phrasing: intent: List scoping filter operators for a job's schema effect: read questions: - Which operators can I use in scoping filters on my provisioning job? - What comparison operators does a sync job's schema support for scoping? instructions: - text: List the scoping filter operators supported by sync job {job}'s schema on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Show filter operators available to provisioning job {job} in app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema/microsoft.graph.functions()'].get update: x-apievangelist-phrasing: intent: List mapping functions for a job's schema effect: read questions: - Which expression functions can I use in attribute mappings on my provisioning job? - What transformation functions does a sync job's schema support? instructions: - text: List the attribute mapping functions supported by sync job {job}'s schema on application {app}. slots: app: path.application-id job: path.synchronizationJob-id - text: Show expression functions available to provisioning job {job} in app {app}. slots: app: path.application-id job: path.synchronizationJob-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/schema/microsoft.graph.parseExpression'].post update: x-apievangelist-phrasing: intent: Test-parse a mapping expression in a job's schema effect: read questions: - How can I check that an attribute mapping expression parses before saving it to a provisioning job? - Can I evaluate a mapping expression against a sample input object on a sync job? instructions: - text: Parse expression {expression} against sync job {job}'s schema on application {app}. slots: app: path.application-id job: path.synchronizationJob-id expression: requestBody.expression - text: Test mapping expression {expression} on provisioning job {job} in app {app} with input {input}. slots: app: path.application-id job: path.synchronizationJob-id expression: requestBody.expression input: requestBody.testInputObject method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/$count'].get update: x-apievangelist-phrasing: intent: Count an application's provisioning jobs effect: read questions: - How many provisioning jobs are configured on one of my applications? - Can I get just a count of sync jobs for an app? instructions: - text: Count the synchronization jobs on application {app}. slots: app: path.application-id - text: Tell me how many provisioning jobs app {app} has. slots: app: path.application-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/jobs/microsoft.graph.validateCredentials'].post update: x-apievangelist-phrasing: intent: Test provisioning credentials before creating a job effect: read questions: - Can I check that a target system accepts my admin credentials before any sync job exists for the application? - Is there a way to test provisioning credentials against a sync template without creating a job first? instructions: - text: Test credentials {credentials} for application {app} before creating its first sync job. slots: credentials: requestBody.credentials app: path.application-id - text: Validate provisioning credentials for app {app} against template {template} with no job yet. slots: app: path.application-id template: requestBody.templateId method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/microsoft.graph.acquireAccessToken'].post update: x-apievangelist-phrasing: intent: Acquire an OAuth token for app provisioning effect: write questions: - How do I get an OAuth access token so the Entra provisioning service can provision users into an app? - Can I authorize provisioning into an application by exchanging credentials for a token? instructions: - text: Acquire a provisioning access token for application {app} using credentials {credentials}. slots: app: path.application-id credentials: requestBody.credentials - text: Get an OAuth token from the sync resource of app {app}. slots: app: path.application-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/secrets'].put update: x-apievangelist-phrasing: intent: Save provisioning secrets on an application effect: write questions: - Where do I store the admin credentials or secret token an app's provisioning uses? - Can I replace the saved synchronization secrets on an application? instructions: - text: Set the synchronization secrets on application {app} to {secrets}. slots: app: path.application-id secrets: requestBody.value - text: Replace the stored provisioning credentials for app {app} with {secrets}. slots: app: path.application-id secrets: requestBody.value method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/secrets/$count'].get update: x-apievangelist-phrasing: intent: Count an application's saved sync secrets effect: read questions: - How many provisioning secrets are saved on an application? - Can I check whether an app has any synchronization secrets stored? instructions: - text: Count the synchronization secrets saved on application {app}. slots: app: path.application-id - text: Tell me how many provisioning secrets app {app} holds. slots: app: path.application-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates'].get update: x-apievangelist-phrasing: intent: List an application's sync templates effect: read questions: - What preconfigured provisioning templates are available for my application? - Which sync templates could I base a new provisioning job on? instructions: - text: List the synchronization templates on application {app}. slots: app: path.application-id - text: Show all preconfigured provisioning templates for app {app}. slots: app: path.application-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates'].post update: x-apievangelist-phrasing: intent: Create a sync template for an application effect: write questions: - How do I add a new preconfigured provisioning template to an application? - Can I mark a new sync template as the app's default or discoverable? instructions: - text: Create a synchronization template on application {app} described as {description}. slots: app: path.application-id description: requestBody.description - text: Add a default provisioning template to app {app} with factory tag {tag}. slots: app: path.application-id tag: requestBody.factoryTag method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}'].get update: x-apievangelist-phrasing: intent: Get one sync template effect: read questions: - What settings does a specific provisioning template on my app define? - Can I look up a single sync template by ID to see its factory tag and metadata? instructions: - text: Get synchronization template {template} on application {app}. slots: app: path.application-id template: path.synchronizationTemplate-id - text: Show provisioning template {template} for app {app}. slots: app: path.application-id template: path.synchronizationTemplate-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}'].delete update: x-apievangelist-phrasing: intent: Delete a sync template effect: destructive questions: - How do I remove a provisioning template I no longer need from an application? - Can I delete one sync template while leaving existing jobs in place? instructions: - text: Delete synchronization template {template} from application {app}. slots: app: path.application-id template: path.synchronizationTemplate-id - text: Remove provisioning template {template} on app {app}. slots: app: path.application-id template: path.synchronizationTemplate-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}'].patch update: x-apievangelist-phrasing: intent: Override an application's sync template effect: write questions: - Can I override the provisioning template associated with an application? - What properties of a sync template, like description or metadata, can I change? instructions: - text: Update synchronization template {template} on application {app} with metadata {metadata}. slots: app: path.application-id template: path.synchronizationTemplate-id metadata: requestBody.metadata - text: Change the description of provisioning template {template} for app {app} to {description}. slots: app: path.application-id template: path.synchronizationTemplate-id description: requestBody.description method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema'].get update: x-apievangelist-phrasing: intent: Get a sync template's default schema effect: read questions: - What default attribute mappings will new provisioning jobs inherit from a template? - Can I read the default synchronization schema a template gives its jobs? instructions: - text: Get the default schema of sync template {template} on application {app}. slots: app: path.application-id template: path.synchronizationTemplate-id - text: Show the attribute mappings provisioning template {template} defines for app {app}. slots: app: path.application-id template: path.synchronizationTemplate-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema'].delete update: x-apievangelist-phrasing: intent: Delete a sync template's schema effect: destructive questions: - How do I remove the default schema from a provisioning template? - Can I delete a template's schema so future jobs don't inherit its mappings? instructions: - text: Delete the default schema of sync template {template} on application {app}. slots: app: path.application-id template: path.synchronizationTemplate-id - text: Remove the attribute mapping schema from provisioning template {template} in app {app}. slots: app: path.application-id template: path.synchronizationTemplate-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema'].patch update: x-apievangelist-phrasing: intent: Update a sync template's default schema effect: write questions: - Can I change the default attribute mappings that a provisioning template hands to new jobs? - What's the way to edit synchronization rules on a template rather than on a job? instructions: - text: Update the sync rules of template {template} on application {app} to {rules}. slots: app: path.application-id template: path.synchronizationTemplate-id rules: requestBody.synchronizationRules - text: Set the directories in provisioning template {template}'s schema for app {app} to {directories}. slots: app: path.application-id template: path.synchronizationTemplate-id directories: requestBody.directories method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema/directories'].get update: x-apievangelist-phrasing: intent: List directories in a sync template's schema effect: read questions: - Which directories does a provisioning template's default schema define? - What directory definitions come with a sync template? instructions: - text: List the directory definitions in the schema of sync template {template} on application {app}. slots: app: path.application-id template: path.synchronizationTemplate-id - text: Show all directories in provisioning template {template}'s schema for app {app}. slots: app: path.application-id template: path.synchronizationTemplate-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema/directories'].post update: x-apievangelist-phrasing: intent: Add a directory definition to a template's schema effect: write questions: - How do I add a directory definition to a provisioning template's schema? - Can new jobs inherit a directory I add to a sync template? instructions: - text: Add a directory named {name} to the schema of sync template {template} on application {app}. slots: app: path.application-id template: path.synchronizationTemplate-id name: requestBody.name - text: Create directory {name} with objects {objects} in provisioning template {template}'s schema for app {app}. slots: app: path.application-id template: path.synchronizationTemplate-id name: requestBody.name objects: requestBody.objects method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema/directories/{directoryDefinition-id}'].get update: x-apievangelist-phrasing: intent: Get one directory definition in a template's schema effect: read questions: - What objects does one directory in a provisioning template's schema contain? - Can I look up a single directory definition on a sync template? instructions: - text: Get directory {directory} in the schema of sync template {template} on application {app}. slots: app: path.application-id template: path.synchronizationTemplate-id directory: path.directoryDefinition-id - text: Show the objects of directory {directory} in provisioning template {template} for app {app}. slots: app: path.application-id template: path.synchronizationTemplate-id directory: path.directoryDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema/directories/{directoryDefinition-id}'].delete update: x-apievangelist-phrasing: intent: Remove a directory definition from a template's schema effect: destructive questions: - How do I delete a directory definition from a provisioning template's schema? - Can I drop one directory from a sync template without touching its jobs? instructions: - text: Delete directory {directory} from the schema of sync template {template} on application {app}. slots: app: path.application-id template: path.synchronizationTemplate-id directory: path.directoryDefinition-id - text: Remove directory definition {directory} in provisioning template {template} for app {app}. slots: app: path.application-id template: path.synchronizationTemplate-id directory: path.directoryDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema/directories/{directoryDefinition-id}'].patch update: x-apievangelist-phrasing: intent: Update a directory definition in a template's schema effect: write questions: - Can I rename or change objects of a directory in a provisioning template's schema? - Which directory definition fields on a sync template are editable? instructions: - text: Rename directory {directory} in sync template {template}'s schema on application {app} to {name}. slots: app: path.application-id template: path.synchronizationTemplate-id directory: path.directoryDefinition-id name: requestBody.name - text: Set the objects of directory {directory} in provisioning template {template} for app {app} to {objects}. slots: app: path.application-id template: path.synchronizationTemplate-id directory: path.directoryDefinition-id objects: requestBody.objects method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema/directories/{directoryDefinition-id}/microsoft.graph.discover'].post update: x-apievangelist-phrasing: intent: Rediscover a directory's schema for a sync template effect: write questions: - How do I refresh a provisioning template's directory definition with the app's latest attributes? - Can I run schema discovery on a template instead of on a running job? instructions: - text: Discover the latest schema for directory {directory} in sync template {template} on application {app}. slots: app: path.application-id template: path.synchronizationTemplate-id directory: path.directoryDefinition-id - text: Refresh directory {directory} of provisioning template {template} for app {app} from the live app. slots: app: path.application-id template: path.synchronizationTemplate-id directory: path.directoryDefinition-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema/directories/$count'].get update: x-apievangelist-phrasing: intent: Count directories in a sync template's schema effect: read questions: - How many directory definitions are in a provisioning template's schema? - Can I get only the number of directories a sync template defines? instructions: - text: Count the directories in the schema of sync template {template} on application {app}. slots: app: path.application-id template: path.synchronizationTemplate-id - text: Tell me how many directory definitions provisioning template {template} in app {app} has. slots: app: path.application-id template: path.synchronizationTemplate-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema/microsoft.graph.filterOperators()'].get update: x-apievangelist-phrasing: intent: List scoping filter operators for a template's schema effect: read questions: - Which scoping filter operators does a provisioning template's schema support? - What operators can I put in scoping filters defined on a sync template? instructions: - text: Enumerate the operators that template {template} on app {app} allows in scoping filters. slots: app: path.application-id template: path.synchronizationTemplate-id - text: Show filter operators available to provisioning template {template} in app {app}. slots: app: path.application-id template: path.synchronizationTemplate-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema/microsoft.graph.functions()'].get update: x-apievangelist-phrasing: intent: List mapping functions for a template's schema effect: read questions: - Which expression functions can a provisioning template's attribute mappings use? - What transformation functions are supported in a sync template's schema? instructions: - text: Enumerate the mapping functions that template {template} on app {app} supports. slots: app: path.application-id template: path.synchronizationTemplate-id - text: Show expression functions available to provisioning template {template} in app {app}. slots: app: path.application-id template: path.synchronizationTemplate-id method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/{synchronizationTemplate-id}/schema/microsoft.graph.parseExpression'].post update: x-apievangelist-phrasing: intent: Test-parse a mapping expression in a template's schema effect: read questions: - Can I check a mapping expression parses correctly against a provisioning template before jobs use it? - What does a sync template's parser turn my attribute expression into? instructions: - text: Parse expression {expression} against sync template {template}'s schema on application {app}. slots: app: path.application-id template: path.synchronizationTemplate-id expression: requestBody.expression - text: Test mapping expression {expression} on provisioning template {template} in app {app} with input {input}. slots: app: path.application-id template: path.synchronizationTemplate-id expression: requestBody.expression input: requestBody.testInputObject method: generated generated: '2026-10-01' - target: $.paths['/applications/{application-id}/synchronization/templates/$count'].get update: x-apievangelist-phrasing: intent: Count an application's sync templates effect: read questions: - How many provisioning templates does an application have? - Can I get only a count of sync templates on an app? instructions: - text: Count the synchronization templates on application {app}. slots: app: path.application-id - text: Tell me how many provisioning templates app {app} has. slots: app: path.application-id method: generated generated: '2026-10-01'