Genesys Workforce Management API

Adherence, Schedules, Forecasts, Intraday Monitoring, Time Off Requests, Configuration

Operations 324

Showing the first 250 of 324. The full set is in the contract, and via get_provider_operations.

GET /api/v2/workforcemanagement/calendar/data/ics Get ics formatted calendar based on shareable link #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/activitycodes Deprecated: Instead use /api/v2/workforcemanagement/businessunits/{businessUnitId}/activitycodes. Get the list of activity codes #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/activitycodes Get activity codes #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/activitycodes Create a new activity code #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/activitycodes/{activityCodeId} Get an activity code #
DELETE /api/v2/workforcemanagement/businessunits/{businessUnitId}/activitycodes/{activityCodeId} Deletes an activity code #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/activitycodes/{activityCodeId} Update an activity code #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/intraday/planninggroups Get intraday planning groups for the given date #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/intraday Get intraday data for the given date for the requested planningGroupIds #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts/import/uploadurl Creates a signed upload URL for importing a short term forecast #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts/import Starts importing the uploaded short term forecast #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts/{forecastId}/generationresults Gets the forecast generation results #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts Get short term forecasts #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts/generate Generate a short term forecast #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts/{forecastId} Get a short term forecast #
DELETE /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts/{forecastId} Delete a short term forecast #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts/{forecastId}/planninggroups Gets the forecast planning group snapshot #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts/{forecastId}/data Get the result of a short term forecast calculation #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts/{forecastId}/staffingrequirement Get the staffing requirement by planning group for a forecast #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts/{forecastId}/longtermforecastdata Get the result of a long term forecast calculation #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekDateId}/shorttermforecasts/{forecastId}/copy Copy a short term forecast #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/users Get users in the business unit #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId} Get business unit #
DELETE /api/v2/workforcemanagement/businessunits/{businessUnitId} Delete business unit #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId} Update business unit #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/managementunits Get all authorized management units in the business unit #
GET /api/v2/workforcemanagement/businessunits Get business units #
POST /api/v2/workforcemanagement/businessunits Add a new business unit #
GET /api/v2/workforcemanagement/businessunits/divisionviews Get business units across divisions #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId} Get management unit #
DELETE /api/v2/workforcemanagement/managementunits/{managementUnitId} Delete management unit #
PATCH /api/v2/workforcemanagement/managementunits/{managementUnitId} Update the requested management unit #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/move Move the requested management unit to a new business unit #
GET /api/v2/workforcemanagement/managementunits Get management units #
POST /api/v2/workforcemanagement/managementunits Add a management unit #
GET /api/v2/workforcemanagement/managementunits/divisionviews Get management units across divisions #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/agents/{agentId} Get data for agent in the management unit #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/agents/{agentId}/shifttrades Gets all the shift trades for a given agent #
PATCH /api/v2/workforcemanagement/managementunits/{managementUnitId}/agents Update agent configurations #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/agents/workplans/query Get agents work plans configuration #
PATCH /api/v2/workforcemanagement/managementunits/{managementUnitId}/agents/workplans/bulk Updates agent work plan configuration #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/users Get users in the management unit #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/planninggroups/{planningGroupId} Get a planning group #
DELETE /api/v2/workforcemanagement/businessunits/{businessUnitId}/planninggroups/{planningGroupId} Deletes the planning group #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/planninggroups/{planningGroupId} Updates the planning group #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/planninggroups Gets list of planning groups #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/planninggroups Adds a new planning group #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/servicegoaltemplates/{serviceGoalTemplateId} Get a service goal template #
DELETE /api/v2/workforcemanagement/businessunits/{businessUnitId}/servicegoaltemplates/{serviceGoalTemplateId} Delete a service goal template #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/servicegoaltemplates/{serviceGoalTemplateId} Updates a service goal template #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/servicegoaltemplates Gets list of service goal templates #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/servicegoaltemplates Adds a new service goal template #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/shifttrades/users Gets list of users available for whom you can send direct shift trade requests #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/shifttrades/matched Gets a summary of all shift trades in the matched state #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/staffinggroups Gets a list of staffing groups #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/staffinggroups Creates a new staffing group #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/staffinggroups/{staffingGroupId} Gets a staffing group #
DELETE /api/v2/workforcemanagement/businessunits/{businessUnitId}/staffinggroups/{staffingGroupId} Deletes a staffing group #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/staffinggroups/{staffingGroupId} Updates a staffing group #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/staffinggroups/planninggroups/query Gets a list of planning group to staffing groups list association #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/staffinggroups/query Gets staffing group associations for a list of user IDs #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/weeks/{weekDateId}/shifttrades/search Searches for potential shift trade matches for the current agent #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/weeks/{weekDateId}/shifttrades Gets all the shift trades for a given week #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/weeks/{weekDateId}/shifttrades Adds a shift trade #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/weeks/{weekDateId}/shifttrades/state/bulk Updates the state of a batch of shift trades #
PATCH /api/v2/workforcemanagement/managementunits/{managementUnitId}/weeks/{weekDateId}/shifttrades/{tradeId} Updates a shift trade. This route can only be called by the initiating agent #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/weeks/{weekDateId}/shifttrades/{tradeId}/match Matches a shift trade. This route can only be called by the receiving agent #
POST /api/v2/workforcemanagement/agents Move agents in and out of management unit #
GET /api/v2/workforcemanagement/agents/{agentId}/managementunit Get the management unit to which the agent belongs #
GET /api/v2/workforcemanagement/agents/me/managementunit Get the management unit to which the currently logged in agent belongs #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplans/{workPlanId}/validate Validate Work Plan #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplans/{workPlanId} Get a work plan #
DELETE /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplans/{workPlanId} Delete a work plan #
PATCH /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplans/{workPlanId} Update a work plan #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplans Get work plans #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplans Create a new work plan #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplans/{workPlanId}/copy Create a copy of work plan #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplanrotations Get work plan rotations #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplanrotations Create a new work plan rotation #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplanrotations/{workPlanRotationId} Get a work plan rotation #
DELETE /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplanrotations/{workPlanRotationId} Delete a work plan rotation #
PATCH /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplanrotations/{workPlanRotationId} Update a work plan rotation #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/workplanrotations/{workPlanRotationId}/copy Create a copy of work plan rotation #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/activityplans/jobs Gets the latest job for all activity plans in the business unit #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/activityplans Get activity plans #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/activityplans Create an activity plan #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/activityplans/{activityPlanId} Get an activity plan #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/activityplans/{activityPlanId} Update an activity plan #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/activityplans/{activityPlanId}/runs/jobs Run an activity plan manually #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/activityplans/{activityPlanId}/runs/jobs/{jobId} Gets an activity plan run job #
GET /api/v2/workforcemanagement/adherence/explanations/jobs/{jobId} Query the status of an adherence explanation operation. Only the user who started the operation can query the status #
POST /api/v2/workforcemanagement/agents/{agentId}/adherence/explanations Add an adherence explanation for the requested user #
GET /api/v2/workforcemanagement/agents/{agentId}/adherence/explanations/{explanationId} Get an adherence explanation #
PATCH /api/v2/workforcemanagement/agents/{agentId}/adherence/explanations/{explanationId} Update an adherence explanation #
POST /api/v2/workforcemanagement/agents/{agentId}/adherence/explanations/query Query adherence explanations for the given agent across a specified range #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/adherence/explanations/query Query adherence explanations across an entire business unit for the requested period #
POST /api/v2/workforcemanagement/adherence/explanations Submit an adherence explanation for the current user #
GET /api/v2/workforcemanagement/adherence/explanations/{explanationId} Get an adherence explanation for the current user #
POST /api/v2/workforcemanagement/adherence/explanations/query Query adherence explanations for the current user #
GET /api/v2/workforcemanagement/agents/me/adherence/historical/jobs/{jobId} Request to fetch the status of the agent adherence job. Only the user who started the operation can query the status #
POST /api/v2/workforcemanagement/agents/me/adherence/historical/jobs Request an agent historical adherence report #
POST /api/v2/workforcemanagement/adherence/historical/bulk Request a historical adherence report in bulk #
GET /api/v2/workforcemanagement/adherence/historical/bulk/jobs/{jobId} Request to fetch the status of the historical adherence bulk job. Only the user who started the operation can query the status #
GET /api/v2/workforcemanagement/adherence/historical/jobs/{jobId} Query the status of a historical adherence request operation. Only the user who started the operation can query the status #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/historicaladherencequery Request a historical adherence report #
POST /api/v2/workforcemanagement/teams/{teamId}/adherence/historical Request a teams historical adherence report #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/adherence Get a list of user schedule adherence records for the requested management unit #
GET /api/v2/workforcemanagement/teams/{teamId}/adherence Get a list of user schedule adherence records for the requested team #
GET /api/v2/workforcemanagement/adherence Get a list of UserScheduleAdherence records for the requested users #
POST /api/v2/workforcemanagement/agents/me/possibleworkshifts Get agent possible work shifts for requested time frame #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/unavailabletimes/settings/query Query availability management units settings #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/unavailabletimes/schedules/query Get agent schedule generation unavailable times #
PATCH /api/v2/workforcemanagement/managementunits/{managementUnitId}/unavailabletimes/settings Update management unit availability settings #
POST /api/v2/workforcemanagement/agents/{agentId}/unavailabletimes/query Get agent unavailable times #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/alternativeshifts/settings Get alternative shifts settings for a business unit #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/alternativeshifts/settings Update alternative shifts settings for a business unit #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/alternativeshifts/trades/search List alternative shifts trades for a given management unit or agent #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/alternativeshifts/trades/search/jobs/{jobId} Query the status of an alternative shift search trade operation. Only the user who started the operation can query the status #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/alternativeshifts/trades/{tradeId} Get an alternative shifts trade in a business unit for a given trade ID #
POST /api/v2/workforcemanagement/alternativeshifts/offers/jobs Request a list of alternative shift offers for a given schedule #
GET /api/v2/workforcemanagement/alternativeshifts/offers/jobs/{jobId} Query the status of an alternative shift offers operation. Only the user who started the operation can query the status #
POST /api/v2/workforcemanagement/alternativeshifts/offers/search/jobs Request a search of alternative shift offers for a given shift #
GET /api/v2/workforcemanagement/alternativeshifts/offers/search/jobs/{jobId} Query the status of an alternative shift search offers operation. Only the user who started the operation can query the status #
GET /api/v2/workforcemanagement/alternativeshifts/trades Get a list of my alternative shifts trades #
POST /api/v2/workforcemanagement/alternativeshifts/trades Create my alternative shift trade using an existing offer's jobId #
GET /api/v2/workforcemanagement/alternativeshifts/trades/jobs/{jobId} Query the status of an alternative shift trades operation. Only the user who started the operation can query the status #
GET /api/v2/workforcemanagement/alternativeshifts/trades/{tradeId} Get my alternative shift trade by trade ID #
PATCH /api/v2/workforcemanagement/alternativeshifts/trades/{tradeId} Update my alternative shifts trade by trade ID #
PATCH /api/v2/workforcemanagement/alternativeshifts/trades/state/jobs Bulk update alternative shift trade states #
GET /api/v2/workforcemanagement/alternativeshifts/trades/state/jobs/{jobId} Query the status of an alternative shift trade state operation. Only the user who started the operation can query the status #
GET /api/v2/workforcemanagement/calendar/url/ics Get existing calendar link for the current user #
POST /api/v2/workforcemanagement/calendar/url/ics Create a newly generated calendar link for the current user; if the current user has previously generated one, the generated link will be returned #
DELETE /api/v2/workforcemanagement/calendar/url/ics Disable generated calendar link for the current user #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans/{capacityPlanId} Get a capacity plan #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans/{capacityPlanId} Update a capacity plan configuration #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans Get list of capacity plans for a business unit #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans Create a new capacity plan #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans/bulk/remove Delete capacity plans in a business unit #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans/{capacityPlanId}/staffinggroupallocations Get a capacity plan's staffing group allocations #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans/{capacityPlanId}/staffinggroupallocations Create staffing group allocations for a capacity plan #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans/{capacityPlanId}/staffingrequirements Get a capacity plan's staffing requirements #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans/{capacityPlanId}/copy Copy a capacity plan #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans/{capacityPlanId}/requirement/generate Regenerate requirements for capacity plan #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans/{capacityPlanId}/staffinggroupallocationshistory/query Query staffing groups allocations history for a capacity plan #
DELETE /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans/{capacityPlanId}/staffinggroupallocationshistory Delete staffing group allocations history created for a capacity plan before the given date #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplans/{capacityPlanId}/forecast Get a capacity plan's forecast inputs #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplanning/longtermrequirements/automaticbestmethod/weeks/{weekDateId}/forecasts/{forecastId} Get the latest long term staffing requirements for a business unit #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/capacityplanning/longtermrequirements/automaticbestmethod/weeks/{weekDateId}/forecasts/{forecastId}/forceregenerate Force regenerate the latest long term staffing requirements for a business unit #
GET /api/v2/workforcemanagement/schedulebids Gets the list of schedule bids that belong to an agent. It will fetch an open bid or upcoming bid or a bid that is closed recently #
GET /api/v2/workforcemanagement/schedulebids/{bidId}/preference Gets an agent's schedule bidding preference #
PUT /api/v2/workforcemanagement/schedulebids/{bidId}/preference Update an agent's schedule set preference #
GET /api/v2/workforcemanagement/schedulebids/{bidId}/schedulesets Gets an agent's schedule sets for a bid #
POST /api/v2/workforcemanagement/timeofflimits/available/query Queries available time off for the current user #
GET /api/v2/workforcemanagement/timeoffrequests/{timeOffRequestId}/waitlistpositions Get the daily waitlist positions of a time off request for the current user #
GET /api/v2/workforcemanagement/timeoffrequests Get a list of time off requests for the current user #
POST /api/v2/workforcemanagement/timeoffrequests Create a time off request for the current user #
GET /api/v2/workforcemanagement/timeoffrequests/{timeOffRequestId} Get a time off request for the current user #
PATCH /api/v2/workforcemanagement/timeoffrequests/{timeOffRequestId} Update a time off request for the current user #
PATCH /api/v2/workforcemanagement/unavailabletimes Update agent unavailable times #
POST /api/v2/workforcemanagement/unavailabletimes/validation/jobs Validates proposed changes to an agent's unavailable time spans against scheduling rules and constraints for a specific week #
POST /api/v2/workforcemanagement/unavailabletimes/query Get agent unavailable times #
GET /api/v2/workforcemanagement/unavailabletimes/settings Get availability management unit's settings for agent #
GET /api/v2/workforcemanagement/unavailabletimes/validation/jobs/{jobId} Query agent unavailable times validation job #
GET /api/v2/workforcemanagement/workplanbids/{bidId}/preferences Gets an agent's work plan bidding preference #
PATCH /api/v2/workforcemanagement/workplanbids/{bidId}/preferences Update an agent's work plan bidding preference #
GET /api/v2/workforcemanagement/workplanbids/{bidId}/workplans Gets an agent's work plans for a bid #
GET /api/v2/workforcemanagement/workplanbids Gets the list of work plan bids that belong to an agent #
GET /api/v2/workforcemanagement/alternativeshifts/settings Get alternative shifts settings from the current logged in agent’s business unit #
POST /api/v2/workforcemanagement/agentschedules/mine Get published schedule for the current user #
POST /api/v2/workforcemanagement/agentschedules/managementunits/mine Fetch agent schedules for the logged in user's management unit #
POST /api/v2/workforcemanagement/schedules Get published schedule for the current user #
GET /api/v2/workforcemanagement/shifttrades Gets all of my shift trades #
POST /api/v2/workforcemanagement/timeoffrequests/integrationstatus/query Retrieves integration statuses for a list of current user time off requests #
GET /api/v2/workforcemanagement/notifications Get a list of notifications for the current user #
POST /api/v2/workforcemanagement/notifications/update Mark a list of notifications as read or unread #
GET /api/v2/workforcemanagement/historicaldata/bulk/remove/jobs/{jobId} Retrieves delete job status for historical data imports associated with the job id #
GET /api/v2/workforcemanagement/historicaldata/bulk/remove/jobs Retrieves all delete job status for historical data #
POST /api/v2/workforcemanagement/historicaldata/bulk/remove/jobs Delete the list of the historical data import entries #
GET /api/v2/workforcemanagement/historicaldata/importstatus/{jobId} Retrieves status of the historical data imports associated with job id #
GET /api/v2/workforcemanagement/historicaldata/importstatus Retrieves status of the historical data imports of the organization #
POST /api/v2/workforcemanagement/historicaldata/validate Trigger validation process for historical import #
POST /api/v2/workforcemanagement/agents/integrations/hris/query Query integrations for agents #
PUT /api/v2/workforcemanagement/agents/{agentId}/integrations/hris Update integrations for agent #
GET /api/v2/workforcemanagement/integrations/hris/timeofftypes/jobs/{jobId} Query the results of time off types job #
GET /api/v2/workforcemanagement/integrations/hris Get integrations #
POST /api/v2/workforcemanagement/integrations/hris/{hrisIntegrationId}/timeofftypes/jobs Get list of time off types configured in integration #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/minimumstaffing/settings Get minimum staffing settings for a business unit #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/minimumstaffing/settings Update minimum staffing settings for a business unit #
POST /api/v2/workforcemanagement/agents/opportunities/enrollments/bulk/add Bulk add enrollments to opportunities for the authenticated agent #
POST /api/v2/workforcemanagement/agents/opportunities/enrollments/bulk/statuses/update Bulk update enrollment status for the authenticated agent #
POST /api/v2/workforcemanagement/agents/opportunities/query Query opportunities for the authenticated agent #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/opportunities/enrollments/bulk/statuses/update Bulk update enrollment status #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/opportunities/enrollments/query Query enrollments #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/opportunities/query Query opportunities within the specified date range #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/opportunities/externalactivities/query Query opportunities by external activity IDs #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/opportunities/bulk/add Bulk add opportunities #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/opportunities/bulk/remove Bulk remove opportunities #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/opportunities/bulk/publish Bulk publish opportunities #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/opportunities/bulk/statuses/update Bulk update opportunities status #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/opportunities/{opportunityId} Get opportunity details #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/opportunities/{opportunityId} Update the opportunity #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/performancepredictions/recalculations Request a daily recalculation of the performance prediction for the associated schedule #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/performancepredictions/recalculations/{recalculationId} Get recalculated performance prediction result #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/performancepredictions Get the performance prediction for the associated schedule #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/performancepredictions/recalculations/uploadurl Upload daily activity changes to be able to request a performance prediction recalculation #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/{bidId}/groups/summary Get summary of bid groups that belong to a schedule bid #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/{bidId}/groups/{bidGroupId} Get a schedule bid group #
DELETE /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/{bidId}/groups/{bidGroupId} Delete a schedule bid group by bid group Id #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/{bidId}/groups/{bidGroupId} Update a schedule bid group by bid group Id #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/{bidId}/groups Add a bid group in a given schedule bid #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/{bidId}/groups/{bidGroupId}/preferences Get agents schedule bid preferences for a bid group #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/{bidId}/groups/{bidGroupId}/preferences Overrides the assigned schedule bid for the specified agents #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/{bidId} Get a schedule bid #
DELETE /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/{bidId} Delete a schedule bid #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/{bidId} Update a schedule bid #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids Get list of schedule bids #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids Create a new schedule bid #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/{bidId}/copy Copy a schedule bid #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/schedulebids/effectiveschedulesets Fetch all the agents with effective schedule set for the given BU #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/scheduling/runs Get the list of scheduling runs #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/scheduling/runs/{runId} Get a scheduling run #
DELETE /api/v2/workforcemanagement/businessunits/{businessUnitId}/scheduling/runs/{runId} Cancel a scheduling run #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/scheduling/runs/{runId} Mark a schedule run as applied #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/scheduling/runs/{runId}/result Get the result of a rescheduling operation #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/agentschedules/search Search published schedules #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId} Get the metadata for the schedule, describing which management units and agents are in the scheduleSchedule data can then be loaded with the query route #
DELETE /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId} Delete a schedule #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/reschedule Start a rescheduling run #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/update/uploadurl Creates a signed upload URL for updating a schedule #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules Get the list of week schedules for the specified week #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules Create a blank schedule #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/import/uploadurl Creates a signed upload URL for importing a schedule #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/import Starts processing a schedule import #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/generate Generate a schedule #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/copy Copy a schedule #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/generationresults Get the generation results for a generated schedule #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/headcountforecast Get the headcount forecast by planning group for the schedule #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/agentschedules/query Loads agent schedule data from the schedule. Used in combination with the metadata route #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/history/agents/{agentId} Loads agent's schedule history. #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/weeks/{weekId}/schedules/{scheduleId}/update Starts processing a schedule update #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/schedules/search Query published schedules for given given time range for set of users #
POST /api/v2/workforcemanagement/managementunits/{managementUnitId}/agentschedules/search Query published schedules for given given time range for set of users #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/weeks/{weekId}/schedules Deprecated. Use the equivalent business unit resource instead. Get the list of schedules in a week in management unit #
GET /api/v2/workforcemanagement/managementunits/{managementUnitId}/weeks/{weekId}/schedules/{scheduleId} Deprecated. Use the equivalent business unit resource instead. Get a week schedule #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/scheduler/settings Get scheduler settings for a business unit #
PATCH /api/v2/workforcemanagement/businessunits/{businessUnitId}/scheduler/settings Update scheduler settings for a business unit #
GET /api/v2/workforcemanagement/schedulingjobs/{jobId} Get status of the scheduling job #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/shifttrading/trades/query/jobs Queries shift trades in a management unit per user #
GET /api/v2/workforcemanagement/businessunits/{businessUnitId}/shifttrading/trades/query/jobs/{jobId} View results of the query shift trades in a management unit per user operation. Only the user who started the operation can query the status #
POST /api/v2/workforcemanagement/businessunits/{businessUnitId}/shifttrading/trades/evaluate/jobs Queries and evaluates against shift trade configuration shift trades in a management unit per week #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/genesys-workforce-management-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

genesys-workforce-management-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: With the PureCloud Platform API, you can control all aspects of your PureCloud environment. With the APIs you can access the system configuration, manage conversations and more.
  version: v2
  title: PureCloud Platform Agent Assistants Workforce Management API
  termsOfService: https://help.genesys.cloud/articles/terms-and-conditions/
  contact:
    name: PureCloud Developer Evangelists
    url: https://developer.genesys.cloud/
    email: DeveloperEvangelists@genesys.com
  license:
    name: UNLICENSED
    url: https://help.genesys.cloud/articles/terms-and-conditions/
servers:
- url: https://api.mypurecloud.com
tags:
- name: Workforce Management
  description: Adherence, Schedules, Forecasts, Intraday Monitoring, Time Off Requests, Configuration
  externalDocs:
    description: Workforce Management Documentation
    url: https://developer.genesys.cloud/useragentman/workforcemanagement/
paths:
  /api/v2/workforcemanagement/calendar/data/ics:
    get:
      tags:
      - Workforce Management
      summary: Get ics formatted calendar based on shareable link
      description: ''
      operationId: getWorkforcemanagementCalendarDataIcs
      parameters:
      - name: calendarId
        in: query
        description: The id of the ics-formatted calendar
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            text/calendar:
              schema:
                type: string
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: Query parameter did not pass validation
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            forbidden: Forbidden from getting calendar
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            not.found: The requested resource was not found.
            wfm.external.calendar.entity.not.found: The requested calendar entity was not found
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '504':
          description: The request timed out.
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
          content:
            text/calendar:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      x-purecloud-method-name: getWorkforcemanagementCalendarDataIcs
  /api/v2/workforcemanagement/managementunits/{managementUnitId}/activitycodes:
    get:
      tags:
      - Workforce Management
      summary: 'Deprecated: Instead use /api/v2/workforcemanagement/businessunits/{businessUnitId}/activitycodes. Get the list of activity codes'
      description: ''
      operationId: getWorkforcemanagementManagementunitActivitycodes
      parameters:
      - name: managementUnitId
        in: path
        description: The ID of the management unit, or 'mine' for the management unit of the logged-in user.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ActivityCodeContainer'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            wfm.management.unit.not.found: Management unit not found
            wfm.entity.not.found: One of the requested resources in the path variables was not found, please check the error details for more information
            not.found: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '504':
          description: The request timed out.
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - PureCloud OAuth:
        - workforce-management
        - workforce-management:readonly
      deprecated: true
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - wfm:activityCode:add
        - wfm:activityCode:delete
        - wfm:activityCode:edit
        - wfm:activityCode:view
        - wfm:agent:edit
        - wfm:agentSchedule:view
        - wfm:agentTimeOffRequest:submit
        - wfm:agent:view
        - wfm:businessUnit:add
        - wfm:businessUnit:delete
        - wfm:businessUnit:edit
        - wfm:businessUnit:view
        - wfm:historicalAdherence:view
        - wfm:shrinkage:view
        - wfm:intraday:view
        - wfm:managementUnit:add
        - wfm:managementUnit:delete
        - wfm:managementUnit:edit
        - wfm:managementUnit:view
        - wfm:publishedSchedule:view
        - wfm:realtimeAdherence:view
        - wfm:schedule:add
        - wfm:schedule:delete
        - wfm:schedule:edit
        - wfm:schedule:generate
        - wfm:schedule:view
        - wfm:shortTermForecast:add
        - wfm:shortTermForecast:delete
        - wfm:shortTermForecast:edit
        - wfm:shortTermForecast:view
        - wfm:timeOffRequest:add
        - wfm:timeOffRequest:edit
        - wfm:timeOffRequest:view
        - wfm:workPlan:add
        - wfm:workPlan:delete
        - wfm:workPlan:edit
        - wfm:workPlan:view
        - wfm:workPlanRotation:add
        - wfm:workPlanRotation:delete
        - wfm:workPlanRotation:edit
        - wfm:workPlanRotation:view
        - wfm:agentSchedulingPreferencesQuery:view
        - wfm:agentSchedulingPreferences:edit
        - wfm:agentSchedulingPreferencesSettings:view
        - wfm:schedulingPreferencesQuery:view
        - wfm:schedulingPreferencesSettings:view
        - wfm:schedulingPreferencesSettings:edit
      x-purecloud-method-name: getWorkforcemanagementManagementunitActivitycodes
  /api/v2/workforcemanagement/businessunits/{businessUnitId}/activitycodes:
    get:
      tags:
      - Workforce Management
      summary: Get activity codes
      description: ''
      operationId: getWorkforcemanagementBusinessunitActivitycodes
      parameters:
      - name: businessUnitId
        in: path
        description: The ID of the business unit, or 'mine' for the business unit of the logged-in user.
        required: true
        schema:
          type: string
      - name: forceDownloadService
        in: query
        description: Force the result of this operation to be sent via download service. For testing/app development purposes
        required: false
        schema:
          type: boolean
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessUnitActivityCodeListing'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            bad.request: The request could not be understood by the server due to malformed syntax.
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            wfm.entity.not.found: One of the requested resources in the path variables was not found, please check the error details for more information
            wfm.business.unit.not.found: Business unit not found
            not.found: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request conflicts with the current state of the target resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '413':
          description: 'The request is over the size limit. Maximum bytes: %s'
          x-inin-error-codes:
            request.entity.too.large: 'The request is over the size limit. Maximum bytes: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '415':
          description: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          x-inin-error-codes:
            unsupported.media.type: Unsupported Media Type - Unsupported or incorrect media type, such as an incorrect Content-Type value in the header.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '429':
          description: Rate limit exceeded the maximum. Retry the request in [%s] seconds
          x-inin-error-codes:
            too.many.requests.retry.after: Rate limit exceeded the maximum. Retry the request in [%s] seconds
            too.many.requests: Rate limit exceeded the maximum [%s] requests within [%s] seconds
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '500':
          description: The server encountered an unexpected condition which prevented it from fulfilling the request.
          x-inin-error-codes:
            internal.server.error: The server encountered an unexpected condition which prevented it from fulfilling the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '503':
          description: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          x-inin-error-codes:
            service.unavailable: Service Unavailable - The server is currently unavailable (because it is overloaded or down for maintenance).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '504':
          description: The request timed out.
          x-inin-error-codes:
            authentication.request.timeout: Authentication request timeout.
            request.timeout: The request timed out.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
      security:
      - PureCloud OAuth:
        - workforce-management
        - workforce-management:readonly
      x-inin-requires-permissions:
        type: ANY
        permissions:
        - wfm:agentSchedule:view
        - wfm:agentTimeOffRequest:submit
        - wfm:activityCode:add
        - wfm:activityCode:delete
        - wfm:activityCode:edit
        - wfm:activityCode:view
        - wfm:agent:edit
        - wfm:agent:view
        - wfm:businessUnit:add
        - wfm:businessUnit:delete
        - wfm:businessUnit:edit
        - wfm:businessUnit:view
        - wfm:historicalAdherence:view
        - wfm:shrinkage:view
        - wfm:intraday:view
        - wfm:managementUnit:add
        - wfm:managementUnit:delete
        - wfm:managementUnit:edit
        - wfm:managementUnit:view
        - wfm:realtimeAdherence:view
        - wfm:schedule:add
        - wfm:schedule:delete
        - wfm:schedule:edit
        - wfm:schedule:generate
        - wfm:schedule:view
        - wfm:publishedSchedule:view
        - wfm:serviceGoalTemplate:add
        - wfm:serviceGoalTemplate:delete
        - wfm:serviceGoalTemplate:edit
        - wfm:serviceGoalTemplate:view
        - wfm:planningGroup:add
        - wfm:planningGroup:delete
        - wfm:planningGroup:edit
        - wfm:planningGroup:view
        - wfm:shiftTradeRequest:edit
        - wfm:shiftTradeRequest:view
        - wfm:shortTermForecast:add
        - wfm:shortTermForecast:delete
        - wfm:shortTermForecast:edit
        - wfm:shortTermForecast:view
        - wfm:timeOffLimit:add
        - wfm:timeOffLimit:delete
        - wfm:timeOffLimit:edit
        - wfm:timeOffLimit:view
        - wfm:timeOffPlan:add
        - wfm:timeOffPlan:delete
        - wfm:timeOffPlan:edit
        - wfm:timeOffPlan:view
        - wfm:timeOffRequest:add
        - wfm:timeOffRequest:edit
        - wfm:timeOffRequest:view
        - wfm:workPlan:add
        - wfm:workPlan:delete
        - wfm:workPlan:edit
        - wfm:workPlan:view
        - wfm:workPlanRotation:add
        - wfm:workPlanRotation:delete
        - wfm:workPlanRotation:edit
        - wfm:workPlanRotation:view
        - wfm:agentSchedulingPreferencesQuery:view
        - wfm:agentSchedulingPreferences:edit
        - wfm:agentSchedulingPreferencesSettings:view
        - wfm:schedulingPreferencesQuery:view
        - wfm:schedulingPreferencesSettings:view
        - wfm:schedulingPreferencesSettings:edit
      x-purecloud-method-name: getWorkforcemanagementBusinessunitActivitycodes
    post:
      tags:
      - Workforce Management
      summary: Create a new activity code
      description: ''
      operationId: postWorkforcemanagementBusinessunitActivitycodes
      parameters:
      - name: businessUnitId
        in: path
        description: The ID of the business unit, or 'mine' for the business unit of the logged-in user.
        required: true
        schema:
          type: string
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BusinessUnitActivityCode'
        '400':
          description: The request could not be understood by the server due to malformed syntax.
          x-inin-error-codes:
            wfm.entity.not.found: One of the requested resources in the request body was not found, please check the error details for more information
            bad.request: The request could not be understood by the server due to malformed syntax.
            wfm.ids.may.not.be.blank: One or more secondary presence IDs was passed in as a blank value
            invalid.property: Value [%s] is not a valid property for object [%s]
            constraint.validation: '%s'
            wfm.validation.failure: One or more of the request's fields did not pass validation. See userParams and the error message for more details
            wfm.primary.secondary.presences: The request contains one or more primary secondary presences
            wfm.too.many.secondary.presences: The request contains too many secondary presences
            response.entity.too.large: The response is over the size limit. Reduce pageSize or expand list to reduce response size if applicable
            invalid.date: 'Dates must be specified as ISO-8601 strings. For example: yyyy-MM-ddTHH:mm:ss.SSSZ'
            invalid.query.param.value: 'Value [%s] is not valid for parameter [%s]. Allowable values are: %s'
            client.failed.request: The client did not produce a request with valid end of stream signaling. This can be caused by poor network connection and/or client behavior.
            invalid.value: 'Value [%s] is not valid for field type [%s]. Allowable values are: %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '401':
          description: No authentication bearer token specified in authorization header.
          x-inin-error-codes:
            authentication.required: No authentication bearer token specified in authorization header.
            ip.not.authorized: 'Requests originating from this IP address are not authorized: [%s]'
            bad.credentials: Invalid login credentials.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '403':
          description: You are not authorized to perform the requested action.
          x-inin-error-codes:
            missing.division.permission: Unable to perform the requested action. You are missing the following permission '%s' in the provided division(s).
            app.not.authorized.for.scope: App not authorized to use scope %s
            missing.permissions: 'Unable to perform the requested action. You are missing the following permission(s): %s'
            not.authorized: You are not authorized to perform the requested action.
            missing.any.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s'
            authz.policy.denied: 'Unable to perform the requested action. Your organization''s security policies have denied access. Policy ID(s): [%s]'
            missing.any.division.permissions: 'Unable to perform the requested action. You must have at least one of the following permissions assigned: %s in at least one of the following division(s): %s'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: The requested resource was not found.
          x-inin-error-codes:
            wfm.secondary.presences.inactive.or.not.found: One or more secondary presences are inactive or do not exist
            wfm.entity.not.found: One of the requested resources in the path variables was not found, please check the error details for more information
            wfm.business.unit.not.found: Business unit not found
            not.found: The requested resource was not found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '408':
          description: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          x-inin-error-codes:
            client.timeout: The client did not produce a request within the server timeout limit. This can be caused by a slow network connection and/or large payloads.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          description: The request conflicts with the current state of the target resource.
          x-inin-error-codes:
            request.conflict: The request

# --- truncated at 32 KB (3221 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/genesys/refs/heads/main/openapi/genesys-workforce-management-api-openapi.yml