Manage Subscription Coverage Calendars Using REST APIs
The feature is Manage Subscription Coverage Calendars Using REST APIs.
It addresses a setup scalability gap: customers can have thousands of different service coverage schedules, exceptions, availability windows, events, and breaks, but the page states there was no REST API or import path to create them. This feature exposes REST services to create, update, delete, duplicate, and maintain coverage schedules and exceptions, including nested date intervals, availability, and break records.
Scope of the REST API
| Entity | Capability |
|---|---|
| Coverage schedules | Create/update/delete/duplicate schedules |
| Schedule intervals | Add multiple non-overlapping date intervals |
| Schedule availability | Define availability per interval |
| Breaks | Add/delete breaks inside availability windows |
| Exceptions | Create/update/delete/duplicate exceptions |
| Exception events | Add single events, period events, once-within-period events, and reference-based events |
| Time zones | Associate schedules with a time-zone |
| Standard coverage usage | Created schedules must be available in standard coverage |
| REST only | Import is explicitly out of scope |
Benefits
| Benefit | Description |
|---|---|
| Faster customer setup | Large customers can automate creation of thousands of coverage calendars instead of manually configuring them. |
| Better implementation scalability | REST-based setup is more practical than UI entry for high-volume schedule and exception data. |
| Reduced setup errors | Structured payloads and validation reduce inconsistencies in availability, breaks, intervals, and exceptions. |
| Better SLA/entitlement support | Coverage calendars can reflect customer-specific support windows, holidays, maintenance windows, and exception rules. |
| Integration readiness | Implementation partners and customer integrations can seed or maintain coverage setup from external systems. |
| Operational consistency | Same schedule/exception records created via REST should appear in UI as plain-text availability/event descriptions. |
Steps to enable and configure
You don't need to do anything to enable this feature.
Tips and considerations
- User must have OSS_MANAGE_SUBSCRIPTION_SETUP_PRIV to access the REST resources.
- Import/FBDI is out of scope. The feature is REST-focused.
- Schedule date intervals must not overlap.
- Breaks cannot be created, updated, or deleted when availability is 24 hours or Closed.
- Setting NoBreakFlag to Y deletes associated break records.
- An exception that is already used in a schedule is not deleted.
- Use returned PUIDs such as SchedulePuid, IntervalPuid, AvailabilityPuid, BreakPuid, and ExceptionPuid for child calls.
- Always set/validate TimezoneCode on schedules. LOV resource exists for timezone values.
- Schedules own intervals; intervals own availability; availability owns breaks. Exceptions own availability; exception availability owns breaks.
- For break records, ObjectCode is auto-populated as SCHEDULE or EXCEPTION based on the parent path.
- Use REST batch when creating multiple schedules in one request.
- REST-created availability and exception dates should render as plain text in the UI.
Key resources
REST Actions
| Object | Operations | Endpoint |
|---|---|---|
| Coverage Header | GET, POST, PATCH, DELETE | /crmRestApi/resources/latest/subscriptionCoverageHeaders/{CoverageHeaderPuid} |
| Entitlement Rules | GET, POST, PATCH, DELETE | /fscmRestApi/resources/11.13.18.05/pricingMatrixes |
| Coverage Schedules | POST, PATCH, DELETE, copySchedule | /crmRestApi/resources/11.13.18.05/subscriptionCoverageSchedules |
| Schedule Intervals | POST, PATCH, DELETE | /subscriptionCoverageSchedules/{SchedulePuid}/child/SubscriptionCoverageInterval |
| Schedule Availability | POST, PATCH, DELETE | /subscriptionCoverageSchedules/{SchedulePuid}/child/SubscriptionCoverageInterval/{IntervalPuid}/child/SubscriptionCoverageAvailability |
| Schedule Breaks | POST, PATCH, DELETE | /subscriptionCoverageSchedules/{SchedulePuid}/child/SubscriptionCoverageInterval/{IntervalPuid}/child/SubscriptionCoverageAvailability/{AvailabilityPuid}/child/SubscriptionCoverageBreak |
| Exceptions | POST, PATCH, DELETE, copyException | /crmRestApi/resources/11.13.18.05/subscriptionCoverageExceptions |
| Exception Availability | POST, PATCH, DELETE | /subscriptionCoverageExceptions/{ExceptionPuid}/child/SubscriptionCoverageAvailability |
| Exception Breaks | POST, PATCH, DELETE | /subscriptionCoverageExceptions/{ExceptionPuid}/child/SubscriptionCoverageAvailability/{AvailabilityPuid}/child/SubscriptionCoverageBreak |
Typical call sequence:
- Create entitlement rule, if needed, using POST /fscmRestApi/resources/11.13.18.05/pricingMatrixes.
- Create coverage header using POST /crmRestApi/resources/latest/subscriptionCoverageHeaders.
- Create schedule using POST /crmRestApi/resources/11.13.18.05/subscriptionCoverageSchedules.
- Include nested SubscriptionCoverageInterval, SubscriptionCoverageAvailability, and SubscriptionCoverageBreak in the schedule payload, or create them later through child endpoints.
- Create exceptions using POST /subscriptionCoverageExceptions.
- Add exception availability and breaks through the exception child endpoints.
- Use custom action payloads for copy operations.
- Use batch REST for multiple schedule creates.