Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Appropriate roles: Security Administrator | Security Reader | Admin Agent
Applies to: Partner Center
The Partner Center security compliance API lets you retrieve your partner organization's compliance tasks, review response-time assessments, and update task statuses. It supports automation for the unified Task model used in the redesigned Security workspace, where security requirements and alerts are presented as actionable Tasks.
This article describes the task model, supported operations, JSON resources, and REST request and response examples. API property names and values retain their exact casing, even when the workspace uses different display labels.
Concepts in the redesigned experience
The following concepts connect the Security workspace experience to the API resources in this article.
| Concept | Meaning in the workspace | API representation |
|---|---|---|
| Task | A discrete, actionable unit of work with a scope, lifecycle state, and, when available, a due date. Completion depends on verification of the underlying condition, not manual attestation alone. | A compliance task, identified by taskId. |
| Task Group | Related Tasks grouped by root cause or classification. Group progress is derived from its Tasks, rather than a separately editable group status. | Task properties such as taskGroupId, taskGroupTitle, and taskGroupClassification. The operations in this article don't return a separate Task Group resource or group-progress summary. |
| Occurrence | An instance of the underlying condition that helps identify what needs attention in the source system. Status is managed at the Task level. | There is no separate Occurrence resource or Occurrence status operation in this API reference. Don't assume that feed-specific details provide a standardized Occurrence collection. |
| Overall compliance | The workspace's Complete/Incomplete indicator, with an "As of" timestamp. The redesigned experience doesn't use a numerical security score. | No overall-compliance or numerical-score operation is defined in this article. The response-time assessment evaluates only the response-time requirement. |
| Data freshness | The time the underlying source data was refreshed, rather than the time a user opened the page or a client retrieved a response. | lastRefreshDateTime for Task Group data; calculatedAt and expiresAt for a response-time assessment. These timestamps aren't interchangeable. |
Task lifecycle and states
The workspace calls the lifecycle value a state; the API exposes it as status. Use the following exact, case-sensitive strings in API requests and responses.
| Status | Meaning | Can this API set it? |
|---|---|---|
New |
The Task has been created and hasn't yet been acknowledged or acted on. | No. |
In Progress |
The partner has taken ownership and work is under way. This corresponds to the acknowledgement action described as Investigating in the current alert experience. | Yes, subject to the transition restrictions below. |
Ignore |
For an eligible Task, the partner has determined that the event is known and legitimate. Ignoring a Task doesn't remediate the condition or remove responsibility for associated usage charges. | Yes, only when isIgnorable is true. |
Ready for Review |
The partner has completed the required work and is awaiting verification of the underlying condition. | Yes, subject to the transition restrictions below. |
Complete |
Microsoft has confirmed that the underlying condition is resolved. | No. Completion is system-managed. |
To work with a Task programmatically:
- List compliance tasks and select the Task that needs attention.
- Get the Task details to review its current status, feed-specific information, notes, and recent activity.
- Set the status to
In Progresswhen work begins. - Remediate the condition in the appropriate source system, such as Microsoft Entra, the Azure portal, or Partner Center.
- Set the status to
Ready for Reviewwhen the work is finished, then retrieve the Task again after source verification to check its status and data freshness.
Important
A successful status update confirms a workflow change, not completion of the underlying work. Don't treat Ready for Review or Ignore as Complete. For a known, legitimate event, use Ignore only when permitted. An ignored Task must return to In Progress before it can move to Ready for Review; a Complete Task can't be changed by this operation.
API scope during the transition
The redesigned workspace and the API don't necessarily expose the same actions. Use the operations and schemas in this article as the contract for this API, rather than assuming that every workspace action has an API equivalent.
| Capability | Support in this API |
|---|---|
| Retrieve Tasks and their details | List and detail operations, including Task Group identifiers, available scope information, and refresh timestamps. |
| Update a Task's state | Status operation for In Progress, Ready for Review, and, where permitted, Ignore. Each request targets one Task; no bulk status operation is defined here. |
| View notes and activity | Task details include existing notes and up to 50 retained activity entries. The activity log might be truncated. |
| Add notes or comments | Not supported by the operations in this article. Don't include notes in the status request. |
| View or change Occurrences | No separate Occurrence operation is defined here. Make required changes in the source system. |
| Review response time | A partner-wide assessment of time to the first recorded status change. It isn't an overall-compliance result. |
| Manage subscriptions | Not supported by these operations. Manage the subscription in the appropriate source system. |
| Enable the workspace preview | No preview-toggle operation is defined here. API access requires enablement for the partner organization. |
During the workspace transition, distinguish these Partner Center endpoints from the current Microsoft Graph beta APIs for security alerts, requirements, and security score. This article doesn't define a retirement date, a one-to-one mapping from existing alert IDs to Task IDs, or a replacement for every existing operation. Obtain opaque Task IDs from this API; don't construct them from existing alert or subscription identifiers.
Note
The workspace describes the 24-hour alert acknowledgement requirement in terms of moving Tasks to In Progress. The response-time endpoint described here measures the first recorded status change, including elapsed time for measurable Tasks with no change. Use the assessment rules when interpreting API results; don't assume that the endpoint measures only transitions to In Progress or only Tasks that have already received a response.
Resource conventions
The following resources describe the JSON data returned or accepted by the operations in this article. As in other Partner Center REST resources, property tables define the request and response elements.
JSON property names and status values are case-sensitive. Timestamps are UTC ISO 8601 strings, for example 2026-10-01T12:00:00.000Z. Nullable fields can contain null; do not assume every task has customer, subscription, deadline, or resolution information.
Compliance task
Describes a compliance task, including its current status, severity, deadline, and associated customer or subscription. Both the list and detail operations return these properties.
| Property | Type | Description |
|---|---|---|
taskId |
string | Opaque task identifier. Use it unchanged, URL-encoded, for detail and status requests. |
taskGroupId |
string | Task group identifier. |
taskGroupTitle |
string or null | Display title for the task group. |
taskGroupClassification |
string or null | Classification such as Fraud; do not infer a complete enumeration from this example. |
isEligibilityRequirement |
boolean | Whether the task group is marked as an eligibility requirement. |
requirementId |
string | Requirement identifier, usable in a list filter. |
taskTitle |
string or null | Display title for the task. |
status |
string | Current task status: New, In Progress, Ready for Review, Complete, or Ignore. |
isIgnorable |
boolean | Whether the feed allows the task to be ignored. |
customerTenantId |
string or null | Customer tenant identifier, when available. |
customerName |
string or null | Customer display name, when available. |
subscriptionId |
string or null | Subscription identifier, when available. |
subscriptionName |
string or null | Subscription display name, when available. |
severity |
string or null | Informational, High, Medium, Low, or null when unavailable/unrecognized. |
deadlineDateTime |
timestamp or null | Calculated task deadline, when available. |
createdDate |
timestamp | Task creation time. |
lastModifiedDate |
timestamp or null | Last task modification time. |
lastRefreshDateTime |
timestamp or null | Task-group data refresh time; not the time the client fetched the task. |
resolvedDate |
timestamp or null | Resolution time, when available. |
version |
string | Opaque storage version. Preserve its value, including embedded quotes; do not parse it. |
Important
Task IDs are opaque strings, not GUIDs. Copy taskId from a list or detail response and URL-encode it once as a single path segment. Do not construct IDs, split them into business identifiers, append whitespace, or base64-encode them. The encoded colons in the examples are intentional.
Compliance task details
Describes a single compliance task with feed-specific details, notes, and recent activity. Includes all compliance task properties plus the following properties.
| Property | Type | Description |
|---|---|---|
details |
object | Feed-specific detail fields. The detail response example is for Usage Anomaly Detection; other requirements can return different fields or an empty object. |
notes |
string or null | Existing task notes. This API's status operation cannot update notes. |
activityLog |
array of compliance task activity resources | Up to 50 retained activity entries, newest first. |
activityLogTruncated |
boolean | True when activity history is truncated. Do not treat the array as a complete audit trail. |
Compliance task activity
Describes a recorded change to a compliance task. Optional values can be null.
| Property | Type | Description |
|---|---|---|
date |
timestamp | Date and time of the activity. |
action |
string | Recorded action, such as FeedCreated. |
oldStatus |
string or null | Task status before the change, when available. |
newStatus |
string or null | Task status after the change, when available. |
changeReason |
string or null | Reason for the change, when available. |
notes |
string or null | Notes associated with the activity, when available. |
Compliance task collection
Describes a page of compliance tasks.
| Property | Type | Description |
|---|---|---|
value |
array of compliance task resources | Tasks on the current page. An empty result is {"value":[]}. |
@odata.nextLink |
string | URL for the next page. Present only when more results exist. Follow the returned link rather than constructing a continuation token. |
The collection has no total-count property. For continuation behavior and expiration, see Pagination.
Response-time assessment
Describes your partner organization's average time to the first status change for compliance tasks. This is a partner-wide assessment, not an individual task's elapsed time, time to final resolution, or HTTP API latency.
| Property | Type | Description |
|---|---|---|
completion |
string | Assessment result: complete, notComplete, or unknown. Not a task status. |
thresholdSeconds |
integer | Assessment threshold, currently 86,400 seconds (24 hours). |
averageDurationSeconds |
integer or null | Average measured duration in seconds, rounded up to a whole second. Null when no measurement is available. |
sampleCount |
integer or null | Number of measurable task samples included in the average. |
availability |
string | Availability of the underlying calculation evidence: available, partial, or unavailable. Inspect this separately from completion. |
reason |
string or null | Explanation for missing/partial evidence, such as noHistory, insufficientHistory, partialHistory, truncatedHistory, or registryPartial. Null when not needed. |
definitionVersion |
integer | Version of the measurement definition. |
activeFeedSetVersion |
string or null | Opaque version identifying the active feed set used in the assessment. |
windowStart |
timestamp or null | Measurement cohort window start, inclusive. |
windowEnd |
timestamp or null | Measurement cohort window end, exclusive. |
calculatedAt |
timestamp or null | Calculation time. |
expiresAt |
timestamp or null | Assessment expiration time. |
For measurement rules and evidence limitations, see Get the response-time assessment.
Task status update request
Describes the request body for updating a compliance task's workflow status.
| Property | Type | Required | Description |
|---|---|---|---|
status |
string | Yes | Exactly In Progress, Ready for Review, or Ignore. |
Supply only status. For permitted transitions and restrictions, see Update a compliance task's status.
Task status update result
Describes a confirmed status update.
| Property | Type | Description |
|---|---|---|
taskId |
string | Opaque identifier of the updated task. |
status |
string | Confirmed task status. |
lastModifiedDate |
timestamp | Task modification time. |
version |
string | Opaque storage version after the update, including embedded quotes. |
Error
Describes an ordinary compliance API fault. Authentication/MFA failures and front-door failures can use different bodies; do not assume every error matches this shape.
| Property | Type | Description |
|---|---|---|
code |
integer | Numeric error code. Use the HTTP status code and response body together to determine the next action. |
description |
string | Description of the error. |
source |
string | Identifier of the service that produced the error, such as PCFraudEvents. |
For HTTP status codes and a sample error body, see Response success and error codes.
Operations
Use the following REST operations with these resources.
| Operation | Method | Request URI |
|---|---|---|
| List compliance tasks | GET | /v1/compliance/tasks |
| Get a compliance task | GET | /v1/compliance/tasks/{taskId} |
| Get the response-time assessment | GET | /v1/compliance/responseTime |
| Update a compliance task's status | PUT | /v1/compliance/tasks/{taskId}/status |
Prerequisites
- Configure a Microsoft Entra application for Partner Center API access. For setup guidance, see Set up API access in Partner Center.
- Obtain an access token using App+User authentication as described in Partner Center authentication. App-only authentication is not supported by these operations.
- The delegated user must satisfy MFA and have permission to view compliance/security information. Updating status requires management permission; read-only permission is insufficient.
- The API must be enabled for the partner organization. Requests operate on the authenticated partner's tenant, not a tenant selected through a request parameter or header.
For MFA integration guidance, see Enable secure application model.
REST request conventions
The production base URL is https://api.partnercenter.microsoft.com. The examples below use this URL. Examples don't establish availability for a particular partner organization; the API must be enabled for that organization.
Request headers
The following headers apply to these operations. For general header definitions, see Partner Center REST headers. Not every Partner Center header applies to every operation.
| Header | Usage |
|---|---|
Authorization |
Required. Bearer <token>, using an access token obtained through Partner Center authentication. Never publish or log an actual token. |
Accept |
Use application/json. |
Content-Type |
Required for PUT: application/json. GET requests have no request body. |
MS-CorrelationId |
Supply a new GUID for each call to correlate logs and network traces when troubleshooting. |
MS-RequestId |
Supply a GUID identifying the request. For general retry conventions, see the Partner Center REST headers reference; for status updates, follow the endpoint-specific recovery guidance below. |
Note
The status update operation doesn't require If-Match. Do not assume that a request ID or a returned ETag makes an uncertain status update safe to replay. Retrieve the task before deciding whether to retry.
List compliance tasks
Retrieve a paginated list of compliance tasks for your partner organization, including each task's status, severity, deadline, and available customer or subscription information. Use filters to narrow the results by status, task group, requirement, customer tenant, or subscription. Use the returned task IDs to retrieve details or update a task's status.
REST request
| Method | Request URI |
|---|---|
| GET | https://api.partnercenter.microsoft.com/v1/compliance/tasks |
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
$top |
integer | No | Page size from 1 to 100. Default: 100. |
$filter |
string | No | Supported equality expressions described below. Maximum length: 1,000 characters. |
$skiptoken |
string | No | Opaque continuation token supplied in @odata.nextLink. Follow the returned link rather than generating a token. |
Supported filter fields: status, taskGroupId, requirementId, customerTenantId, and subscriptionId. Use eq with single-quoted string values and and between predicates. A parenthesized or group is supported for status values only, for example:
requirementId eq 'UsageAnomalyDetection' and (status eq 'New' or status eq 'In Progress')
Supported status filter values are New, In Progress, Ready for Review, Complete, and Ignore. Escape a literal apostrophe inside a value as two apostrophes, and URL-encode query values. This endpoint supports a limited OData-style syntax, not general OData: $orderby, $skip, $select, and repeated query parameters are not supported.
Request body
None.
Request example
GET https://api.partnercenter.microsoft.com/v1/compliance/tasks?$top=1&$filter=requirementId%20eq%20%27UsageAnomalyDetection%27%20and%20status%20eq%20%27New%27 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-CorrelationId: aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa
MS-RequestId: bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb
REST response
If successful, this method returns 200 OK and a compliance task collection in the response body. An empty result is {"value":[]}; there is no total-count property.
Response example
{
"value": [
{
"taskId": "usage-anomaly-detection::11111111-1111-4111-8111-111111111111-22222222-2222-4222-8222-222222222222",
"taskGroupId": "usage-anomaly-detection",
"taskGroupTitle": "Usage Anomaly Detection",
"taskGroupClassification": "Fraud",
"isEligibilityRequirement": false,
"requirementId": "UsageAnomalyDetection",
"taskTitle": "Action Required: Subscription Usage Anomaly Detected",
"status": "New",
"isIgnorable": true,
"customerTenantId": null,
"customerName": "Contoso Customer",
"subscriptionId": "11111111-1111-4111-8111-111111111111",
"subscriptionName": null,
"severity": "High",
"deadlineDateTime": "2026-10-15T12:00:00.000Z",
"createdDate": "2026-09-15T12:00:00.000Z",
"lastModifiedDate": "2026-09-15T12:00:00.000Z",
"lastRefreshDateTime": "2026-10-01T11:00:00.000Z",
"resolvedDate": null,
"version": "\"33333333-3333-4333-8333-333333333333\""
}
],
"@odata.nextLink": "https://api.partnercenter.microsoft.com/v1/compliance/tasks?$top=1&$filter=requirementId%20eq%20%27UsageAnomalyDetection%27%20and%20status%20eq%20%27New%27&$skiptoken=55555555-5555-4555-8555-555555555555"
}
Pagination
Follow @odata.nextLink with the same authentication until the property is absent. Do not change the page size or filter during a traversal. Continuations expire one hour after the first page; fetching another page does not extend that expiration. An invalid, expired, or incompatible token returns 400; restart from the initial list request. Changes to the active feed configuration can invalidate a continuation. Paging a changing list is not a point-in-time snapshot.
Get a compliance task
Retrieve a single compliance task using a task ID returned by the list endpoint. The response includes the task's summary properties plus feed-specific details, existing notes, and recent activity history. Use this operation to investigate a task or refresh its current state before deciding on a status update.
REST request
| Method | Request URI |
|---|---|
| GET | https://api.partnercenter.microsoft.com/v1/compliance/tasks/{taskId} |
URI parameters
| Name | Type | Required | Description |
|---|---|---|---|
taskId |
string | Yes | Opaque task identifier returned by a list or detail response, URL-encoded once as a single path segment. |
Request body
None. No query parameters are supported.
Request example
GET https://api.partnercenter.microsoft.com/v1/compliance/tasks/usage-anomaly-detection%3A%3A11111111-1111-4111-8111-111111111111-22222222-2222-4222-8222-222222222222 HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-CorrelationId: aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa
MS-RequestId: bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb
REST response
If successful, this method returns 200 OK and compliance task details in the response body. The ETag response header matches version.
Response example
{
"details": {
"alertId": "11111111-1111-4111-8111-111111111111-22222222-2222-4222-8222-222222222222",
"alertDisplayName": "Action Required: Subscription Usage Anomaly Detected",
"severity": "High",
"subscriptionId": "11111111-1111-4111-8111-111111111111",
"customerName": "Contoso Customer",
"detectedTime": "2026-09-15T12:00:00.000Z",
"description": "Unusual subscription usage was detected. Review the affected subscription."
},
"notes": null,
"activityLog": [
{
"date": "2026-09-15T12:00:00.000Z",
"action": "FeedCreated",
"oldStatus": null,
"newStatus": "New",
"changeReason": null,
"notes": null
}
],
"activityLogTruncated": false,
"taskId": "usage-anomaly-detection::11111111-1111-4111-8111-111111111111-22222222-2222-4222-8222-222222222222",
"taskGroupId": "usage-anomaly-detection",
"taskGroupTitle": "Usage Anomaly Detection",
"taskGroupClassification": "Fraud",
"isEligibilityRequirement": false,
"requirementId": "UsageAnomalyDetection",
"taskTitle": "Action Required: Subscription Usage Anomaly Detected",
"status": "New",
"isIgnorable": true,
"customerTenantId": null,
"customerName": "Contoso Customer",
"subscriptionId": "11111111-1111-4111-8111-111111111111",
"subscriptionName": null,
"severity": "High",
"deadlineDateTime": "2026-10-15T12:00:00.000Z",
"createdDate": "2026-09-15T12:00:00.000Z",
"lastModifiedDate": "2026-09-15T12:00:00.000Z",
"lastRefreshDateTime": "2026-10-01T11:00:00.000Z",
"resolvedDate": null,
"version": "\"33333333-3333-4333-8333-333333333333\""
}
Get the response-time assessment
Retrieve your partner organization's assessment of how quickly compliance tasks receive their first status change, measured against the current 24-hour threshold. The assessment covers tasks opened during the preceding 30 days and includes elapsed time for measurable tasks that have not yet changed status. It returns the average duration, sample count, assessment result, and evidence availability; it does not measure final resolution time or API latency.
REST request
| Method | Request URI |
|---|---|
| GET | https://api.partnercenter.microsoft.com/v1/compliance/responseTime |
No query parameters are supported.
Request body
None.
Request example
GET https://api.partnercenter.microsoft.com/v1/compliance/responseTime HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-CorrelationId: aaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa
MS-RequestId: bbbbbbbb-bbbb-4bbb-8bbb-bbbbbbbbbbbb
REST response
If successful, this method returns 200 OK and a response-time assessment in the response body.
Response example
{
"completion": "notComplete",
"thresholdSeconds": 86400,
"averageDurationSeconds": 108000,
"sampleCount": 10,
"availability": "available",
"reason": null,
"definitionVersion": 1,
"activeFeedSetVersion": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"windowStart": "2026-09-01T12:00:00.000Z",
"windowEnd": "2026-10-01T12:00:00.000Z",
"calculatedAt": "2026-10-01T12:00:00.000Z",
"expiresAt": "2026-10-01T12:10:00.000Z"
}
Assessment rules
The current definition considers tasks opened during the preceding 30 days in active feeds, excluding tasks initially Complete. It measures time from the recorded opening event to the first recorded status change; a measurable task with no change contributes elapsed time up to calculation time. Missing or truncated history can reduce availability. The average is therefore not limited to tasks already acted upon and is not time to final resolution.
With measurable evidence, an average at or below 86,400 seconds evaluates to complete; above that evaluates to notComplete. A partial feed registry evaluates to unknown. With no history, the current implementation can return completion: "complete" with availability: "unavailable" and a null average; do not interpret this as a measured zero-second response time. Successful assessment objects can represent partial/unavailable evidence; dependency failures can instead return 503.
Update a compliance task's status
Update a task's workflow status to In Progress, Ready for Review, or Ignore, subject to the task's current status and whether its feed permits Ignore. This operation requires management permission and returns the confirmed status, modification time, and version. Changing the status records your workflow progress; it does not remediate the underlying issue or allow you to mark the task Complete.
REST request
| Method | Request URI |
|---|---|
| PUT | https://api.partnercenter.microsoft.com/v1/compliance/tasks/{taskId}/status |
URI parameters
| Name | Type | Required | Description |
|---|---|---|---|
taskId |
string | Yes | Opaque task identifier returned by a list or detail response, URL-encoded once as a single path segment. |
No query parameters are supported.
Request body
Use a task status update request containing the required status property.
Supply only status. Additional/duplicate properties, a missing or nonstring status, and malformed JSON return 400.
NewandCompletecannot be set by this operation; Complete is system-managed.- A Complete task cannot be changed by this operation.
- Ignore is permitted only when the feed allows it (
isIgnorable). - An ignored task can remain Ignore or be reopened to In Progress, but cannot move directly to Ready for Review.
- The server checks concurrency internally. A client
If-Matchheader is not required by this endpoint; the returned version is not a documented client precondition.
Request example
PUT https://api.partnercenter.microsoft.com/v1/compliance/tasks/usage-anomaly-detection%3A%3A11111111-1111-4111-8111-111111111111-22222222-2222-4222-8222-222222222222/status HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
Content-Type: application/json
MS-CorrelationId: cccccccc-cccc-4ccc-8ccc-cccccccccccc
MS-RequestId: dddddddd-dddd-4ddd-8ddd-dddddddddddd
{
"status": "In Progress"
}
REST response
If successful, this method returns 200 OK and a task status update result in the response body. The ETag response header matches the returned version.
Response example
{
"taskId": "usage-anomaly-detection::11111111-1111-4111-8111-111111111111-22222222-2222-4222-8222-222222222222",
"status": "In Progress",
"lastModifiedDate": "2026-10-01T12:05:00.000Z",
"version": "\"44444444-4444-4444-8444-444444444444\""
}
Important
A status update records a workflow change; it does not itself remediate the underlying issue. On a conflict, timeout, or response saying the update could not be confirmed, GET the task before deciding whether to retry. Some failures can occur after the source status has already been saved. Do not blindly replay a PUT.
Response success and error codes
See Partner Center REST error codes for general guidance. The following cases are specific to these operations:
| HTTP status | Meaning / client action |
|---|---|
| 200 | Successful list, detail, assessment, or status update. |
| 400 | Invalid ID, unsupported/repeated query parameter, invalid filter/page size/continuation, invalid body, or disallowed status transition. Correct the request; restart pagination for invalid continuations. |
| 401 | Authentication is missing/invalid, additional authentication is required, or MFA is missing. Obtain a suitable authenticated user token. |
| 403 | Caller is not a supported delegated partner user, tenant validation fails, or permission is denied. |
| 404 | Task is not visible to the authenticated partner/in an active feed, or the API is not enabled. |
| 409 | Concurrent change or source synchronization could not be confirmed. Refresh the task before retrying. |
| 415 | PUT request is missing the required JSON content type. |
| 503 | Compliance data, authorization, pagination storage, or a required dependency is temporarily unavailable. For writes, inspect the response and refresh before retrying. |
Example task-not-found body:
{
"code": 600026,
"description": "Compliance task not found.",
"source": "PCFraudEvents"
}
Ordinary compliance faults use the error resource. Authentication/MFA failures and front-door failures can use different bodies. Responses set Cache-Control: no-store, private and Vary: Authorization.
Troubleshooting
Check the request URL, API version, headers, and JSON formatting when a request fails. Use the HTTP status code and response body together to determine the next action. For general REST debugging guidance, see Test and debug.
Record the request time, operation, HTTP status, and request and correlation IDs so that a failed call can be traced. Protect access tokens when capturing logs or network traces.
For list requests, use the returned @odata.nextLink unchanged. Restart from the initial request if a continuation expires. For status updates with an uncertain result, retrieve the task's current state before retrying.