Microsoft Entra ID (formerly Azure AD) · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Applications.synchronization API

57 actions 57 updates phrasing extends openapi/azure-ad-applications-synchronization-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Microsoft Entra ID (formerly Azure AD)'s API. It is a proposal applied on top of the contract, not a document Microsoft Entra ID (formerly Azure AD) publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 57 · first 16 shown; the file carries all of them

$.info
$.paths['/applications/{application-id}/synchronization'].get
$.paths['/applications/{application-id}/synchronization'].put
$.paths['/applications/{application-id}/synchronization'].delete
$.paths['/applications/{application-id}/synchronization/jobs'].get
$.paths['/applications/{application-id}/synchronization/jobs'].post
$.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}'].get
$.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}'].delete
$.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}'].patch
$.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload'].get
$.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload'].delete
$.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload'].patch
$.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload/$value'].get
$.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload/$value'].put
$.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/bulkUpload/$value'].delete
$.paths['/applications/{application-id}/synchronization/jobs/{synchronizationJob-id}/microsoft.graph.pause'].post

OpenAPI Overlay

Raw ↑
# 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'


# --- truncated at 32 KB (49 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/azure-ad/refs/heads/main/overlays/azure-ad-applications-synchronization-api-phrasing-overlay.yaml