启动用户同步接口
将 <BASE_URL> 替换为所在企业环境的 API 域名。
- Scope:
admin.v1.directory-sync-runs.execute - 权限项:执行用户同步(
directory-sync-runs) - 权限类型:执行
- 接口:POST
/api/openapi/v1/directory-sync/runs
认证与请求头
使用应用 API Key 调用。当前接口只校验上方独立 Scope;读取、管理与执行权限互不隐含。
| 名称 | 位置 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|---|
Authorization | header | string | 是 | 应用 API Key,使用 Bearer 方式传递。 | Bearer qwk_*** |
X-Request-Id | header | string | 否 | 可选的调用追踪标识;未传入时由服务端生成。 | req-20260831-001 |
请求参数
| 名称 | 位置 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|---|
Idempotency-Key | header | string | 必填 | - | "<string>" |
source_id | body | string · uuid | 必填 | - | "<uuid>" |
请求示例
cURL
curl --request POST \
--url '<BASE_URL>/api/openapi/v1/directory-sync/runs' \
--header 'Authorization: Bearer <API_KEY>' \
--header 'Idempotency-Key: <UNIQUE_REQUEST_ID>' \
--header 'Content-Type: application/json' \
--data '{
"source_id": "<uuid>"
}'响应
202 Accepted
| 名称 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
run | OpenapifacadeDirectorySyncRun | 是 | - | {"created_at":"2026-08-27T10:00:00Z","error_code":"<string>","error_summary":"<string>","finished_at":"2026-08-27T10:00:00Z","id":"<uuid>","requested_by_email":"<string>","requested_by_name":"<string>","resource_type":"<string>","result":"success","source_id":"<uuid>","source_name":"<string>","source_type":"<string>","started_at":"2026-08-27T10:00:00Z","stats":{"departments":{"created":0,"deactivated":0,"deleted":0,"updated":0},"failed":0,"processed":0,"relationships":{"added":0,"removed":0,"returned_to_root":0},"seats":{"granted":0,"reclaimed":0},"succeeded":0,"users":{"created":0,"deactivated":0,"deleted":0,"updated":0}},"status":"pending","trigger_type":"manual"} |
run.created_at | string · date-time | 是 | - | "2026-08-27T10:00:00Z" |
run.error_code | string | 否 | - | "<string>" |
run.error_summary | string | 否 | - | "<string>" |
run.finished_at | string · date-time | 否 | - | "2026-08-27T10:00:00Z" |
run.id | string · uuid | 是 | - | "<uuid>" |
run.requested_by_email | string | 否 | - | "<string>" |
run.requested_by_name | string | 否 | - | "<string>" |
run.resource_type | string | 是 | - | "<string>" |
run.result | string | 否 | - | "success" |
run.source_id | string · uuid | 是 | - | "<uuid>" |
run.source_name | string | 是 | - | "<string>" |
run.source_type | string | 是 | - | "<string>" |
run.started_at | string · date-time | 否 | - | "2026-08-27T10:00:00Z" |
run.stats | OpenapifacadeDirectorySyncRunStats | 是 | - | {"departments":{"created":0,"deactivated":0,"deleted":0,"updated":0},"failed":0,"processed":0,"relationships":{"added":0,"removed":0,"returned_to_root":0},"seats":{"granted":0,"reclaimed":0},"succeeded":0,"users":{"created":0,"deactivated":0,"deleted":0,"updated":0}} |
run.stats.departments | OpenapifacadeDirectorySyncChangeCounts | 是 | - | {"created":0,"deactivated":0,"deleted":0,"updated":0} |
run.stats.departments.created | integer · int64 | 是 | - | 0 |
run.stats.departments.deactivated | integer · int64 | 否 | - | 0 |
run.stats.departments.deleted | integer · int64 | 是 | - | 0 |
run.stats.departments.updated | integer · int64 | 是 | - | 0 |
run.stats.failed | integer · int64 | 否 | - | 0 |
run.stats.processed | integer · int64 | 否 | - | 0 |
run.stats.relationships | OpenapifacadeDirectorySyncRelationshipCounts | 是 | - | {"added":0,"removed":0,"returned_to_root":0} |
run.stats.relationships.added | integer · int64 | 是 | - | 0 |
run.stats.relationships.removed | integer · int64 | 是 | - | 0 |
run.stats.relationships.returned_to_root | integer · int64 | 是 | - | 0 |
run.stats.seats | OpenapifacadeDirectorySyncSeatCounts | 是 | - | {"granted":0,"reclaimed":0} |
run.stats.seats.granted | integer · int64 | 是 | - | 0 |
run.stats.seats.reclaimed | integer · int64 | 是 | - | 0 |
run.stats.succeeded | integer · int64 | 否 | - | 0 |
run.stats.users | OpenapifacadeDirectorySyncChangeCounts | 是 | - | {"created":0,"deactivated":0,"deleted":0,"updated":0} |
run.stats.users.created | integer · int64 | 是 | - | 0 |
run.stats.users.deactivated | integer · int64 | 否 | - | 0 |
run.stats.users.deleted | integer · int64 | 是 | - | 0 |
run.stats.users.updated | integer · int64 | 是 | - | 0 |
run.status | string | 是 | - | "pending" |
run.trigger_type | string | 是 | - | "manual" |
响应示例
{
"run": {
"created_at": "2026-08-27T10:00:00Z",
"error_code": "<string>",
"error_summary": "<string>",
"finished_at": "2026-08-27T10:00:00Z",
"id": "<uuid>",
"requested_by_email": "<string>",
"requested_by_name": "<string>",
"resource_type": "<string>",
"result": "success",
"source_id": "<uuid>",
"source_name": "<string>",
"source_type": "<string>",
"started_at": "2026-08-27T10:00:00Z",
"stats": {
"departments": {
"created": 0,
"deactivated": 0,
"deleted": 0,
"updated": 0
},
"failed": 0,
"processed": 0,
"relationships": {
"added": 0,
"removed": 0,
"returned_to_root": 0
},
"seats": {
"granted": 0,
"reclaimed": 0
},
"succeeded": 0,
"users": {
"created": 0,
"deactivated": 0,
"deleted": 0,
"updated": 0
}
},
"status": "pending",
"trigger_type": "manual"
}
}default Flat business error
| 名称 | 类型 | 必填 | 说明 | 示例 |
|---|---|---|---|---|
code | string | 否 | Stable business error code | "<string>" |
detail | string | 是 | Human-readable error description | "<string>" |
details | OpenapiErrorDetails | 否 | - | {"field":"<string>","reason":"<string>","suggestion":"<string>"} |
details.field | string | 否 | Request field that failed validation | "<string>" |
details.reason | string | 否 | Stable validation failure reason | "<string>" |
details.suggestion | string | 否 | Suggested normalized value | "<string>" |
error | string | 是 | Stable HTTP error type | "<string>" |
响应示例
{
"code": "<string>",
"detail": "<string>",
"details": {
"field": "<string>",
"reason": "<string>",
"suggestion": "<string>"
},
"error": "<string>"
}