M365
25 routes de l'API publique. Textes de la source : openapi-csp.json du dépôt platform.
Create m365endpoint
POST /m365/endpoints
Accès : Clé API du MSP, portée operate.
Corps de la requête (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
client_id | string (uuid) | oui | Client of the caller's MSP, else 404. |
tenant | string | oui | Entra tenant: tenant ID (GUID) or domain name, typed by the MSP. Longueur : 1 à 255. |
Réponses
| Code | Description |
|---|---|
201 | Success |
default | Error (400, 401, 403, 404, 409, 415, 422, 429, 500, 502, 503 or 504) |
Réponse 201 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
endpoint_id | string (uuid) | oui | Created once, named after the tenant until M365 reads its primary domain. |
tenant | string | oui | Tenant as normalised by M365. Longueur : 1 à 255. |
enrollment_url | string | oui | Link for the tenant admin: GET /m365/enrollment/entry |
progress_token | string | oui | Bearer token of GET /m365/enrollment/progress |
expires_at | string (date-time) | oui | Expiry of the link. |
Connection: status, Graph roles granted, certificate expiry
GET /endpoints/{id}/m365/connection
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
endpoint_id | string (uuid) | oui | |
ms_tenant_id | string (uuid) | oui | |
app_id | string (uuid) | oui | |
status | "connected" | "reconnect_required" | "permission_missing" | "unavailable" | oui | |
certificate_expires_at | string (date-time) | oui | |
key_version | integer | oui | Valeur minimum : 0. |
permissions | array of "User.Read.All" | "Group.Read.All" | "Organization.Read.All" | "Reports.Read.All" | "Mail.Read" | "MailboxSettings.Read" | "Calendars.Read" | "Contacts.Read" | "Files.Read.All" | "Sites.Read.All" | "Team.ReadBasic.All" | "TeamSettings.Read.All" | "Channel.ReadBasic.All" | "ChannelMember.Read.All" | "ChannelMessage.Read.All" | "Application.ReadWrite.OwnedBy" | "AppRoleAssignment.ReadWrite.All" | oui | |
checked_at | string (date-time) | null | oui |
Discovery status and resources of the tenant
GET /endpoints/{id}/m365/resources
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
kind | requête | "user" | "shared_mailbox" | "group" | "team" | "site" | "drive" | non | |
parent_ms_id | requête | string | non | Longueur : 1 à 1024. |
status | requête | "discovered" | "protected" | "gone" | non | |
cursor | requête | string | non | |
limit | requête | integer | non | Valeur : 1 à 500. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
discovery | object | null | oui | |
resources | array of object | oui | |
resources[].id | string (uuid) | oui | |
resources[].endpoint_id | string (uuid) | oui | |
resources[].ms_id | string | oui | Longueur : 1 à 1024. |
resources[].kind | "user" | "shared_mailbox" | "group" | "team" | "site" | "drive" | oui | |
resources[].parent_ms_id | string | null | oui | |
resources[].display_name | string | oui | Longueur maximum : 1024. |
resources[].status | "discovered" | "protected" | "gone" | oui | |
resources[].billable | boolean | oui | |
resources[].last_success_at | string (date-time) | null | oui | |
resources[].gone_at | string (date-time) | null | oui | |
resources[].retain_until | string (date-time) | null | oui | |
resources[].workloads | object | oui | |
next_cursor | string | null | oui |
Graph roles of the latest complete check
GET /endpoints/{id}/m365/permissions
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
endpoint_id | string (uuid) | oui | |
status | "unknown" | "verified" | "access_denied" | "throttled" | "unavailable" | oui | |
attempted_at | string (date-time) | null | oui | |
observation | object | null | oui |
Observed changes of the Graph roles, newest first
GET /endpoints/{id}/m365/permissions/history
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
cursor | requête | string | non | |
limit | requête | integer | non | Valeur : 1 à 100. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
endpoint_id | string (uuid) | oui | |
first_observed_at | string (date-time) | null | oui | |
entries | array of object | oui | |
entries[].id | string (uuid) | oui | |
entries[].observed_at | string (date-time) | oui | |
entries[].change | "baseline" | "added" | "removed" | oui | |
entries[].permission | object | oui | |
next_cursor | string | null | oui |
New enrollment link to reconnect the tenant
POST /endpoints/{id}/m365/reconnect
Accès : Clé API du MSP, portée operate.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
Réponses
| Code | Description |
|---|---|
201 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 201 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
endpoint_id | string (uuid) | oui | |
tenant | string (uuid) | oui | |
enrollment_url | string (uri) | oui | |
progress_token | string | oui | |
expires_at | string (date-time) | oui |
Back up now, outside the schedule
POST /endpoints/{id}/m365/backups/run
Accès : Clé API du MSP, portée operate.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
Réponses
| Code | Description |
|---|---|
201 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 201 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
run | object | oui | |
run.id | string (uuid) | oui | |
run.endpoint_id | string (uuid) | oui | |
run.day | string (date) | oui | |
run.trigger | "scheduled" | "manual" | oui | |
run.status | "pending" | "running" | "succeeded" | "partial" | "failed" | "skipped" | oui | |
run.started_at | string (date-time) | oui | |
run.ended_at | string (date-time) | null | oui | |
run.postponed_at | string (date-time) | null | non | |
run.units | object | oui | |
run.issues | object | oui |
Backup runs, newest first
GET /endpoints/{id}/m365/runs
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
limit | requête | integer | non | Valeur : 1 à 100. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
runs | array of object | oui | |
runs[].id | string (uuid) | oui | |
runs[].endpoint_id | string (uuid) | oui | |
runs[].day | string (date) | oui | |
runs[].trigger | "scheduled" | "manual" | oui | |
runs[].status | "pending" | "running" | "succeeded" | "partial" | "failed" | "skipped" | oui | |
runs[].started_at | string (date-time) | oui | |
runs[].ended_at | string (date-time) | null | oui | |
runs[].postponed_at | string (date-time) | null | non | |
runs[].units | object | oui | |
runs[].issues | object | oui |
One run with its work units
GET /endpoints/{id}/m365/runs/{run_id}
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
run_id | chemin | string (uuid) | oui |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
run | object | oui | |
run.id | string (uuid) | oui | |
run.endpoint_id | string (uuid) | oui | |
run.day | string (date) | oui | |
run.trigger | "scheduled" | "manual" | oui | |
run.status | "pending" | "running" | "succeeded" | "partial" | "failed" | "skipped" | oui | |
run.started_at | string (date-time) | oui | |
run.ended_at | string (date-time) | null | oui | |
run.postponed_at | string (date-time) | null | non | |
run.units | object | oui | |
run.issues | object | oui | |
units | array of object | oui | |
units[].id | string (uuid) | oui | |
units[].run_id | string (uuid) | oui | |
units[].resource_id | string (uuid) | oui | |
units[].workload | "mail" | "calendar" | "onedrive" | "sharepoint" | "teams_structure" | "contacts" | "teams_messages" | oui | |
units[].status | "pending" | "running" | "succeeded" | "failed" | "skipped" | oui | |
units[].attempts | integer | oui | Valeur minimum : 0. |
units[].full_scan | boolean | oui | |
units[].stats | object | oui | |
units[].skipped_items | array of string | oui | Éléments maximum : 100. |
units[].error | "throttled" | "access_denied" | "not_found" | "transport" | "storage" | "invalid_response" | "skipped_in_progress" | "internal" | "repository_migrating" | "license_required" | "license_new_user" | null | oui | |
units[].started_at | string (date-time) | null | oui | |
units[].ended_at | string (date-time) | null | oui |
Children of a folder of a resource at a point in time
GET /endpoints/{id}/m365/resources/{resource_id}/{workload}/browse
Accès : Clé API du MSP, portée browse.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
resource_id | chemin | string (uuid) | oui | |
workload | chemin | "mail" | "calendar" | "onedrive" | "sharepoint" | "teams_structure" | "contacts" | "teams_messages" | oui | |
at | requête | string (date-time) | non | |
parent | requête | string | non | Longueur : 1 à 1024. |
include_deleted | requête | "true" | "false" | non | |
cursor | requête | string | non | |
limit | requête | integer | non | Valeur : 1 à 500. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
resource_id | string (uuid) | oui | |
workload | "mail" | "calendar" | "onedrive" | "sharepoint" | "teams_structure" | "contacts" | "teams_messages" | oui | |
at | string (date-time) | oui | |
parent | string | null | oui | |
entries | array of object | oui | |
entries[].item_id | string | oui | Longueur : 1 à 1024. |
entries[].version_id | string (uuid) | oui | |
entries[].kind | "contact" | "folder" | "message" | "file" | "calendar" | "event" | "team" | "channel" | oui | |
entries[].name | string | oui | Longueur maximum : 1024. |
entries[].parent_id | string | null | oui | |
entries[].size | integer | oui | Valeur minimum : 0. |
entries[].modified_at | string (date-time) | null | oui | |
entries[].valid_from | string (date-time) | oui | |
entries[].valid_to | string (date-time) | null | oui | |
entries[].deleted | boolean | oui | |
next_cursor | string | null | oui |
Versions of an item (the item id is the rest of the path and may hold a /)
GET /endpoints/{id}/m365/resources/{resource_id}/{workload}/items/{item_id}/versions
Accès : Clé API du MSP, portée browse.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
resource_id | chemin | string (uuid) | oui | |
workload | chemin | "mail" | "calendar" | "onedrive" | "sharepoint" | "teams_structure" | "contacts" | "teams_messages" | oui | |
item_id | chemin | string | oui | Longueur : 1 à 1024. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
resource_id | string (uuid) | oui | |
workload | "mail" | "calendar" | "onedrive" | "sharepoint" | "teams_structure" | "contacts" | "teams_messages" | oui | |
item_id | string | oui | |
versions | array of object | oui | |
versions[].item_id | string | oui | Longueur : 1 à 1024. |
versions[].version_id | string (uuid) | oui | |
versions[].kind | "contact" | "folder" | "message" | "file" | "calendar" | "event" | "team" | "channel" | oui | |
versions[].name | string | oui | Longueur maximum : 1024. |
versions[].parent_id | string | null | oui | |
versions[].size | integer | oui | Valeur minimum : 0. |
versions[].modified_at | string (date-time) | null | oui | |
versions[].valid_from | string (date-time) | oui | |
versions[].valid_to | string (date-time) | null | oui | |
versions[].deleted | boolean | oui |
Search on the metadata of the backed-up items
GET /endpoints/{id}/m365/search
Accès : Clé API du MSP, portée browse.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
q | requête | string | non | Longueur : 2 à 256. |
workload | requête | string | non | Longueur maximum : 256. |
resource_id | requête | string (uuid) | non | |
kind | requête | string | non | Longueur maximum : 256. |
extension | requête | string | non | |
from | requête | string (date-time) | non | |
to | requête | string (date-time) | non | |
min_size | requête | integer | non | Valeur minimum : 0. |
max_size | requête | integer | non | Valeur minimum : 0. |
at | requête | string (date-time) | non | |
include_deleted | requête | "true" | "false" | non | |
cursor | requête | string | non | |
limit | requête | integer | non | Valeur : 1 à 100. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
at | string (date-time) | null | oui | |
hits | array of object | oui | |
hits[].resource_id | string (uuid) | oui | |
hits[].workload | "mail" | "calendar" | "onedrive" | "sharepoint" | "teams_structure" | "contacts" | "teams_messages" | oui | |
hits[].item_id | string | oui | Longueur : 1 à 1024. |
hits[].version_id | string (uuid) | oui | |
hits[].kind | "contact" | "folder" | "message" | "file" | "calendar" | "event" | "team" | "channel" | oui | |
hits[].name | string | oui | Longueur maximum : 1024. |
hits[].parent_id | string | null | oui | |
hits[].path | string | oui | |
hits[].size | integer | oui | Valeur minimum : 0. |
hits[].item_at | string (date-time) | oui | |
hits[].valid_from | string (date-time) | oui | |
hits[].valid_to | string (date-time) | null | oui | |
hits[].deleted | boolean | oui | |
next_cursor | string | null | oui |
Backup time, time zone and retention
GET /endpoints/{id}/m365/settings
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
backup_time | string | oui | |
timezone | string | oui | Longueur : 1 à 64. |
retention_days | integer | oui | Valeur : 1 à 36525. |
retention_pending | object | null | oui | |
endpoint_id | string (uuid) | oui | |
next_backup_at | string (date-time) | oui | |
manual_run | object | oui | |
manual_run.available | boolean | oui | |
manual_run.reason | "running" | "already_succeeded_today" | "nothing_to_back_up" | "msp_suspended" | "license_required" | null | oui |
Change the backup time, time zone or retention
PATCH /endpoints/{id}/m365/settings
Accès : Clé API du MSP, portée operate.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
Corps de la requête (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
backup_time | string | non | |
timezone | string | non | Longueur : 1 à 64. |
retention_days | integer | non | Valeur : 1 à 36525. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
backup_time | string | oui | |
timezone | string | oui | Longueur : 1 à 64. |
retention_days | integer | oui | Valeur : 1 à 36525. |
retention_pending | object | null | oui | |
endpoint_id | string (uuid) | oui | |
next_backup_at | string (date-time) | oui | |
manual_run | object | oui | |
manual_run.available | boolean | oui | |
manual_run.reason | "running" | "already_succeeded_today" | "nothing_to_back_up" | "msp_suspended" | "license_required" | null | oui |
Cancel a pending shorter retention
POST /endpoints/{id}/m365/settings/retention/cancel
Accès : Clé API du MSP, portée operate.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
backup_time | string | oui | |
timezone | string | oui | Longueur : 1 à 64. |
retention_days | integer | oui | Valeur : 1 à 36525. |
retention_pending | object | null | oui | |
endpoint_id | string (uuid) | oui | |
next_backup_at | string (date-time) | oui | |
manual_run | object | oui | |
manual_run.available | boolean | oui | |
manual_run.reason | "running" | "already_succeeded_today" | "nothing_to_back_up" | "msp_suspended" | "license_required" | null | oui |
Last daily reading of the usage reports and its month to date
GET /endpoints/{id}/m365/consumption
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
endpoint_id | string (uuid) | oui | |
latest | object | null | oui | |
check | object | null | oui | |
month | object | null | oui |
Read the usage reports again now
POST /endpoints/{id}/m365/consumption/check
Accès : Clé API du MSP, portée operate.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
Réponses
| Code | Description |
|---|---|
202 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 202 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
endpoint_id | string (uuid) | oui | |
latest | object | null | oui | |
check | object | null | oui | |
month | object | null | oui |
Exports, newest first
GET /endpoints/{id}/m365/exports
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
limit | requête | integer | non | Valeur : 1 à 100. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
exports | array of object | oui | |
exports[].id | string (uuid) | oui | |
exports[].endpoint_id | string (uuid) | oui | |
exports[].resource_id | string (uuid) | oui | |
exports[].workload | "mail" | "onedrive" | "sharepoint" | "calendar" | "contacts" | "teams_messages" | oui | |
exports[].format | "native" | "pst" | oui | |
exports[].content | array of "mail" | "calendar" | null | oui | |
exports[].coverage | object | null | oui | |
exports[].at | string (date-time) | oui | |
exports[].selected | integer | null | oui | |
exports[].status | "queued" | "running" | "ready" | "failed" | "expired" | oui | |
exports[].requested_by | string (uuid) | null | oui | |
exports[].parts | array of object | oui | |
exports[].items | integer | oui | Valeur minimum : 0. |
exports[].bytes | integer | oui | Valeur minimum : 0. |
exports[].error | "repository" | "storage" | "integrity" | "internal" | null | oui | |
exports[].created_at | string (date-time) | oui | |
exports[].ready_at | string (date-time) | null | oui | |
exports[].expires_at | string (date-time) | null | oui |
Start an export (native files or PST)
POST /endpoints/{id}/m365/exports
Accès : Clé API du MSP, portée operate.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
Corps de la requête (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
resource_id | string (uuid) | oui | |
workload | "mail" | "onedrive" | "sharepoint" | "calendar" | "contacts" | "teams_messages" | oui | |
at | string (date-time) | non | |
item_ids | array of string | null | oui | |
format | "native" | "pst" | non | |
content | array of "mail" | "calendar" | non | Éléments : 1 à 2. |
accept_gaps | true | non |
Réponses
| Code | Description |
|---|---|
202 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 202 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
id | string (uuid) | oui | |
endpoint_id | string (uuid) | oui | |
resource_id | string (uuid) | oui | |
workload | "mail" | "onedrive" | "sharepoint" | "calendar" | "contacts" | "teams_messages" | oui | |
format | "native" | "pst" | oui | |
content | array of "mail" | "calendar" | null | oui | |
coverage | object | null | oui | |
at | string (date-time) | oui | |
selected | integer | null | oui | |
status | "queued" | "running" | "ready" | "failed" | "expired" | oui | |
requested_by | string (uuid) | null | oui | |
parts | array of object | oui | |
parts[].number | integer | oui | Valeur minimum : 0. |
parts[].size | integer | oui | Valeur minimum : 0. |
parts[].items | integer | oui | Valeur minimum : 0. |
items | integer | oui | Valeur minimum : 0. |
bytes | integer | oui | Valeur minimum : 0. |
error | "repository" | "storage" | "integrity" | "internal" | null | oui | |
created_at | string (date-time) | oui | |
ready_at | string (date-time) | null | oui | |
expires_at | string (date-time) | null | oui |
One export: state, progress, parts, expiry
GET /endpoints/{id}/m365/exports/{export_id}
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
export_id | chemin | string (uuid) | oui |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
id | string (uuid) | oui | |
endpoint_id | string (uuid) | oui | |
resource_id | string (uuid) | oui | |
workload | "mail" | "onedrive" | "sharepoint" | "calendar" | "contacts" | "teams_messages" | oui | |
format | "native" | "pst" | oui | |
content | array of "mail" | "calendar" | null | oui | |
coverage | object | null | oui | |
at | string (date-time) | oui | |
selected | integer | null | oui | |
status | "queued" | "running" | "ready" | "failed" | "expired" | oui | |
requested_by | string (uuid) | null | oui | |
parts | array of object | oui | |
parts[].number | integer | oui | Valeur minimum : 0. |
parts[].size | integer | oui | Valeur minimum : 0. |
parts[].items | integer | oui | Valeur minimum : 0. |
items | integer | oui | Valeur minimum : 0. |
bytes | integer | oui | Valeur minimum : 0. |
error | "repository" | "storage" | "integrity" | "internal" | null | oui | |
created_at | string (date-time) | oui | |
ready_at | string (date-time) | null | oui | |
expires_at | string (date-time) | null | oui |
Download link of one part of a ready export
GET /endpoints/{id}/m365/exports/{export_id}/parts/{number}
Accès : Clé API du MSP, portée browse.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
export_id | chemin | string (uuid) | oui | |
number | chemin | integer | oui | Valeur : 1 à 99999. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
url | string (uri) | string | oui | |
expires_at | string (date-time) | oui | |
file_name | string | oui | Longueur minimum : 1. |
Content of one part (ZIP)
GET /endpoints/{id}/m365/exports/{export_id}/parts/{number}/content
Accès : Clé API du MSP, portée browse.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
export_id | chemin | string (uuid) | oui | |
number | chemin | integer | oui | Valeur : 1 à 99999. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Restore turned on or off for the tenant
GET /endpoints/{id}/m365/restore/activation
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
enabled | boolean | oui | |
tenant_domain | string | null | oui | |
changed_by | string (uuid) | null | oui | |
changed_at | string (date-time) | null | oui |
Restores, newest first
GET /endpoints/{id}/m365/restores
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
limit | requête | integer | non | Valeur : 1 à 100. |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
restores | array of object | oui | |
restores[].id | string (uuid) | oui | |
restores[].endpoint_id | string (uuid) | oui | |
restores[].tenant_id | string (uuid) | oui | |
restores[].resource_id | string (uuid) | oui | |
restores[].workload | "onedrive" | "sharepoint" | oui | |
restores[].resource_ms_id | string | oui | Longueur minimum : 1. |
restores[].site_id | string | null | oui | |
restores[].drive_id | string | null | oui | |
restores[].at | string (date-time) | oui | |
restores[].selected | integer | null | oui | |
restores[].target | "restore_folder" | "original" | oui | |
restores[].restore_folder | string | null | oui | |
restores[].conflict_policy | "skip" | "keep_both" | "overwrite" | oui | |
restores[].status | "queued" | "running" | "paused" | "partial" | "complete" | "failed" | "cancelled" | oui | |
restores[].cancel_requested | boolean | oui | |
restores[].confirmation_reasons | array of "overwrite" | "whole_resource" | "items" | "bytes" | oui | |
restores[].requested_by | string (uuid) | null | oui | |
restores[].items | integer | oui | Valeur minimum : 0. |
restores[].bytes | integer | oui | Valeur minimum : 0. |
restores[].progress | object | oui | |
restores[].error | "access_denied" | "target_missing" | "repository" | "internal" | "msp_suspended" | "endpoint_deleted" | "requester_not_allowed" | null | oui | |
restores[].created_at | string (date-time) | oui | |
restores[].started_at | string (date-time) | null | oui | |
restores[].finished_at | string (date-time) | null | oui |
One restore: state, totals, typed error
GET /endpoints/{id}/m365/restores/{restore_id}
Accès : Clé API du MSP, portée read.
Paramètres
| Nom | Emplacement | Type | Obligatoire | Description |
|---|---|---|---|---|
id | chemin | string (uuid) | oui | An active M365 endpoint of the MSP. |
restore_id | chemin | string (uuid) | oui |
Réponses
| Code | Description |
|---|---|
200 | Success |
default | Error: the API error (401, 403, 404 before the M365 router) or the M365 error of the route |
Réponse 200 (application/json)
| Nom | Type | Obligatoire | Description |
|---|---|---|---|
id | string (uuid) | oui | |
endpoint_id | string (uuid) | oui | |
tenant_id | string (uuid) | oui | |
resource_id | string (uuid) | oui | |
workload | "onedrive" | "sharepoint" | oui | |
resource_ms_id | string | oui | Longueur minimum : 1. |
site_id | string | null | oui | |
drive_id | string | null | oui | |
at | string (date-time) | oui | |
selected | integer | null | oui | |
target | "restore_folder" | "original" | oui | |
restore_folder | string | null | oui | |
conflict_policy | "skip" | "keep_both" | "overwrite" | oui | |
status | "queued" | "running" | "paused" | "partial" | "complete" | "failed" | "cancelled" | oui | |
cancel_requested | boolean | oui | |
confirmation_reasons | array of "overwrite" | "whole_resource" | "items" | "bytes" | oui | |
requested_by | string (uuid) | null | oui | |
items | integer | oui | Valeur minimum : 0. |
bytes | integer | oui | Valeur minimum : 0. |
progress | object | oui | |
progress.restored | integer | oui | Valeur minimum : 0. |
progress.skipped | integer | oui | Valeur minimum : 0. |
progress.failed | integer | oui | Valeur minimum : 0. |
progress.review | integer | oui | Valeur minimum : 0. |
progress.cancelled | integer | oui | Valeur minimum : 0. |
error | "access_denied" | "target_missing" | "repository" | "internal" | "msp_suspended" | "endpoint_deleted" | "requester_not_allowed" | null | oui | |
created_at | string (date-time) | oui | |
started_at | string (date-time) | null | oui | |
finished_at | string (date-time) | null | oui |