ESC
Type to search...

Schedule.Read.All

Export JSON
Export CSV
Copy URL
Print
ApplicationDelegated Read All Resources

Allows the app to read all schedules, schedule groups, shifts and associated entities in the Teams or Shifts application without a signed-in user.

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

Permission Details

Application Permission

Read all schedule items

Allows the app to read all schedules, schedule groups, shifts and associated entities in the Teams or Shifts application without a signed-in user.

Delegated Permission Admin consent required

Read user schedule items

Allows the app to read schedule, schedule groups, shifts and associated entities in the Teams or Shifts application on behalf of the signed-in user.

Properties

Microsoft Graph v1.0 exact-category-docs

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

Property Type Description
enabled BooleanNullable Indicates whether the schedule is enabled for the team. Required.
id string ID of the schedule.
isActivitiesIncludedWhenCopyingShiftsEnabled BooleanNullable Indicates whether copied shifts include activities from the original shift.
offerShiftRequestsEnabled BooleanNullable Indicates whether offer shift requests are enabled for the schedule.
openShiftsEnabled BooleanNullable Indicates whether open shifts are enabled for the schedule.
provisionStatus operationStatusRead-only The status of the schedule provisioning. The possible values are notStarted, running, completed, failed.
provisionStatusCode stringRead-onlyNullable Additional information about why schedule provisioning failed.
startDayOfWeek dayOfWeek Indicates the start day of the week. The possible values are: sunday, monday, tuesday, wednesday, thursday, friday, saturday.
swapShiftsRequestsEnabled BooleanNullable Indicates whether swap shifts requests are enabled for the schedule.
timeClockEnabled BooleanNullable Indicates whether time clock is enabled for the schedule.
timeClockSettings timeClockSettings The time clock location settings for this schedule.
timeOffRequestsEnabled BooleanNullable Indicates whether time off requests are enabled for the schedule.
timeZone stringNullable Indicates the time zone of the schedule team using tz database format. Required.
workforceIntegrationIds String collection The IDs for the workforce integrations associated with this schedule.
dayNotes dayNote collection The day notes in the schedule.

Showing 15 of 25 properties.

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.schedule",
  "id": "String (identifier)",
  "enabled": "Boolean",
  "timeZone": "String",
  "provisionStatus": "String",
  "provisionStatusCode": "String",
  "workforceIntegrationIds": [
    "String"
  ],
  "timeClockEnabled": "Boolean",
  "timeClockSettings": {
    "@odata.type": "microsoft.graph.timeClockSettings"
  },
  "openShiftsEnabled": "Boolean",
  "swapShiftsRequestsEnabled": "Boolean",
  "offerShiftRequestsEnabled": "Boolean",
  "timeOffRequestsEnabled": "Boolean",
  "startDayOfWeek": "String",
  "isActivitiesIncludedWhenCopyingShiftsEnabled": "Boolean"
}

Relationships

Microsoft Graph v1.0 exact-category-docs

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

Relationship Type Description
dayNotes dayNote collection The day notes in the schedule.
offerShiftRequests offerShiftRequest collection The offer requests for shifts in the schedule.
openShiftChangeRequests openShiftChangeRequest collection The open shift requests in the schedule.
openShifts openShift collection The set of open shifts in a scheduling group in the schedule.
schedulingGroups schedulingGroup collection The logical grouping of users in the schedule (usually by role).
shifts shift collection The shifts in the schedule.
swapShiftsChangeRequests swapShiftsChangeRequest collection The swap requests for shifts in the schedule.
timeCards timeCard collection The time cards in the schedule.
timesOff timeOff collection The instances of times off in the schedule.
timeOffReasons timeOffReason collection The set of reasons for a time off in the schedule.
timeOffRequests timeOffRequest collection The time off requests in the schedule.
workforceIntegrations workforceIntegration collection An instance of a workforce integration per team with outbound data flow on synchronous change notifications (for supported entities).
workforceIntegrationIds string collection The IDs for the workforce integrations associated with this schedule.
shiftsRoleDefinitions shiftsRoleDefinition collection The definitions of the roles in the schedule.

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 /teams/{id}/schedule/openShiftChangeRequests
GET /teams/{id}/schedule/openShiftChangeRequests/{openShiftsChangeRequestId}
GET /teams/{id}/schedule/openShifts
GET /teams/{id}/schedule/openShifts/{openShiftId}
GET /teams/{teamId}/schedule
GET /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}
GET /teams/{teamId}/schedule/schedulingGroups
GET /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
GET /teams/{teamId}/schedule/shifts
GET /teams/{teamId}/schedule/shifts/{shiftId}
GET /teams/{teamId}/schedule/swapShiftsChangeRequests
GET /teams/{teamId}/schedule/timeOffReasons
GET /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
GET /teams/{teamId}/schedule/timeOffRequests
GET /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
GET /teams/{teamId}/schedule/timesOff
GET /teams/{teamId}/schedule/timesOff/{timeOffId}
GET /teams/{teamsId}/schedule/dayNotes
GET /teams/{teamsId}/schedule/dayNotes/{dayNoteId}
GET /teams/{teamsId}/schedule/timeCards
GET /teams/{teamsId}/schedule/timeCards/{timeCardId}
Exact Microsoft Learn match

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

Methods
GET /me/joinedTeams/getOpenShifts
GET /me/joinedTeams/getShifts
GET /me/joinedTeams/getTimesOff
GET /team/{teamId}/schedule/shiftsRoleDefinitions/{roleId}
GET /teams/{id}/schedule/openShiftChangeRequests
GET /teams/{id}/schedule/openShiftChangeRequests/{openShiftsChangeRequestId}
GET /teams/{id}/schedule/openShifts
GET /teams/{id}/schedule/openShifts/{openShiftId}
GET /teams/{teamId}/schedule
GET /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}
GET /teams/{teamId}/schedule/schedulingGroups
GET /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
GET /teams/{teamId}/schedule/shifts
GET /teams/{teamId}/schedule/shifts/{shiftId}
GET /teams/{teamId}/schedule/swapShiftsChangeRequests
GET /teams/{teamId}/schedule/timeCards
GET /teams/{teamId}/schedule/timeCards/{timeCardId}
GET /teams/{teamId}/schedule/timeOffReasons
GET /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
GET /teams/{teamId}/schedule/timeOffRequests
GET /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
GET /teams/{teamId}/schedule/timesOff
GET /teams/{teamId}/schedule/timesOff/{timeOffId}
GET /teams/{teamsId}/schedule/dayNotes
GET /teams/{teamsId}/schedule/dayNotes/{dayNoteId}
GET /users/{id | user-principal-name}/joinedTeams/getOpenShifts
GET /users/{id | user-principal-name}/joinedTeams/getShifts
GET /users/{id | user-principal-name}/joinedTeams/getTimesOff
Exact Microsoft Learn PowerShell match

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

Commands
Get-MgTeamSchedule /teams/{teamId}/schedule
Get schedule
Get-MgTeamScheduleOfferShiftRequest /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}
Get offerShiftRequest
Get-MgTeamScheduleOpenShift /teams/{id}/schedule/openShifts
List openShifts
Get-MgTeamScheduleOpenShift /teams/{id}/schedule/openShifts/{openShiftId}
Get openShift
Get-MgTeamScheduleOpenShiftChangeRequest /teams/{id}/schedule/openShiftChangeRequests
List openShiftChangeRequests
Get-MgTeamScheduleOpenShiftChangeRequest /teams/{id}/schedule/openShiftChangeRequests/{openShiftsChangeRequestId}
Get openShiftChangeRequest
Get-MgTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups
List schedulingGroups
Get-MgTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
Get schedulingGroup
Get-MgTeamScheduleShift /teams/{teamId}/schedule/shifts
List shifts
Get-MgTeamScheduleShift /teams/{teamId}/schedule/shifts/{shiftId}
Get shift
Get-MgTeamScheduleSwapShiftChangeRequest /teams/{teamId}/schedule/swapShiftsChangeRequests
Get swapShiftsChangeRequest
Get-MgTeamScheduleSwapShiftChangeRequest /teams/{teamId}/schedule/swapShiftsChangeRequests
List swapShiftsChangeRequest
Get-MgTeamScheduleTimeCard /teams/{teamsId}/schedule/timeCards
List timeCard objects
Get-MgTeamScheduleTimeCard /teams/{teamsId}/schedule/timeCards/{timeCardId}
Get timeCard
Get-MgTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff
List timesOff
Get-MgTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff/{timeOffId}
Get timeOff
Get-MgTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons
List timeOffReasons
Get-MgTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
Get timeOffReason
Get-MgTeamScheduleTimeOffRequest /teams/{teamId}/schedule/timeOffRequests
List timeOffRequest
Get-MgTeamScheduleTimeOffRequest /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
Get timeOffRequest
Exact Microsoft Learn PowerShell match

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

Commands
Get-MgBetaTeamSchedule /teams/{teamId}/schedule
Get schedule
Get-MgBetaTeamScheduleOfferShiftRequest /teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}
Get offerShiftRequest
Get-MgBetaTeamScheduleOpenShift /teams/{id}/schedule/openShifts
List openShifts
Get-MgBetaTeamScheduleOpenShift /teams/{id}/schedule/openShifts/{openShiftId}
Get openShift
Get-MgBetaTeamScheduleOpenShiftChangeRequest /teams/{id}/schedule/openShiftChangeRequests
List openShiftChangeRequests
Get-MgBetaTeamScheduleOpenShiftChangeRequest /teams/{id}/schedule/openShiftChangeRequests/{openShiftsChangeRequestId}
Get openShiftChangeRequest
Get-MgBetaTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups
List schedulingGroups
Get-MgBetaTeamScheduleSchedulingGroup /teams/{teamId}/schedule/schedulingGroups/{schedulingGroupId}
Get schedulingGroup
Get-MgBetaTeamScheduleShift /teams/{teamId}/schedule/shifts
List shifts
Get-MgBetaTeamScheduleShift /teams/{teamId}/schedule/shifts/{shiftId}
Get shift
Get-MgBetaTeamScheduleSwapShiftChangeRequest /teams/{teamId}/schedule/swapShiftsChangeRequests
Get swapShiftsChangeRequest
Get-MgBetaTeamScheduleSwapShiftChangeRequest /teams/{teamId}/schedule/swapShiftsChangeRequests
List swapShiftsChangeRequest
Get-MgBetaTeamScheduleTimeCard /teams/{teamId}/schedule/timeCards
List timeCard
Get-MgBetaTeamScheduleTimeCard /teams/{teamId}/schedule/timeCards/{timeCardId}
Get timeCard
Get-MgBetaTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff
List timesOff
Get-MgBetaTeamScheduleTimeOff /teams/{teamId}/schedule/timesOff/{timeOffId}
Get timeOff
Get-MgBetaTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons
List timeOffReasons
Get-MgBetaTeamScheduleTimeOffReason /teams/{teamId}/schedule/timeOffReasons/{timeOffReasonId}
Get timeOffReason
Get-MgBetaTeamScheduleTimeOffRequest /teams/{teamId}/schedule/timeOffRequests
List timeOffRequests
Get-MgBetaTeamScheduleTimeOffRequest /teams/{teamId}/schedule/timeOffRequests/{timeOffRequestId}
Get timeOffRequest

Code Examples

C# / .NET SDK
Get offerShiftRequest
// Code snippets are only available for the latest version. Current version is 5.x

// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Teams["{team-id}"].Schedule.OfferShiftRequests["{offerShiftRequest-id}"].GetAsync();
JavaScript
Get offerShiftRequest
const options = {
	authProvider,
};

const client = Client.init(options);

let offerShiftRequest = await client.api('/teams/{teamId}/schedule/offerShiftRequests/{offerShiftRequestId}')
	.get();
PowerShell
Get offerShiftRequest
Import-Module Microsoft.Graph.Teams

Get-MgTeamScheduleOfferShiftRequest -TeamId $teamId -OfferShiftRequestId $offerShiftRequestId
Python
Get offerShiftRequest
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python

result = await graph_client.teams.by_team_id('team-id').schedule.offer_shift_requests.by_offer_shift_request_id('offerShiftRequest-id').get()

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 Application permissions or delegated permissions and search for Schedule.Read.All

4

Grant Admin Consent

Application permissions always require admin consent.