@snokam/mcp-api 0.194.0 → 0.195.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1227,6 +1227,1031 @@
1227
1227
  }
1228
1228
  }
1229
1229
  }
1230
+ },
1231
+ "/v1.0/protected/directory/users/{objectId}/groups/{groupId}": {
1232
+ "post": {
1233
+ "tags": [
1234
+ "Directory"
1235
+ ],
1236
+ "summary": "Add the directory user to a security group",
1237
+ "description": "Returns changed: false when the user already was a member.",
1238
+ "operationId": "AddDirectoryUserToGroup",
1239
+ "parameters": [
1240
+ {
1241
+ "name": "objectId",
1242
+ "in": "path",
1243
+ "required": true,
1244
+ "schema": {
1245
+ "type": "string"
1246
+ }
1247
+ },
1248
+ {
1249
+ "name": "groupId",
1250
+ "in": "path",
1251
+ "required": true,
1252
+ "schema": {
1253
+ "type": "string"
1254
+ }
1255
+ }
1256
+ ],
1257
+ "responses": {
1258
+ "200": {
1259
+ "description": "Payload of DirectoryOperationResult",
1260
+ "content": {
1261
+ "application/json": {
1262
+ "schema": {
1263
+ "$ref": "#/components/schemas/directoryOperationResult"
1264
+ }
1265
+ }
1266
+ },
1267
+ "x-ms-summary": "Success"
1268
+ },
1269
+ "401": {
1270
+ "description": "No description",
1271
+ "x-ms-summary": "Unauthorized"
1272
+ }
1273
+ },
1274
+ "security": [
1275
+ {
1276
+ "Implicit": [
1277
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1278
+ ]
1279
+ },
1280
+ {
1281
+ "ApiKey": []
1282
+ }
1283
+ ]
1284
+ },
1285
+ "delete": {
1286
+ "tags": [
1287
+ "Directory"
1288
+ ],
1289
+ "summary": "Remove the directory user from a security group",
1290
+ "description": "Returns changed: false when the user was not a member.",
1291
+ "operationId": "RemoveDirectoryUserFromGroup",
1292
+ "parameters": [
1293
+ {
1294
+ "name": "objectId",
1295
+ "in": "path",
1296
+ "required": true,
1297
+ "schema": {
1298
+ "type": "string"
1299
+ }
1300
+ },
1301
+ {
1302
+ "name": "groupId",
1303
+ "in": "path",
1304
+ "required": true,
1305
+ "schema": {
1306
+ "type": "string"
1307
+ }
1308
+ }
1309
+ ],
1310
+ "responses": {
1311
+ "200": {
1312
+ "description": "Payload of DirectoryOperationResult",
1313
+ "content": {
1314
+ "application/json": {
1315
+ "schema": {
1316
+ "$ref": "#/components/schemas/directoryOperationResult"
1317
+ }
1318
+ }
1319
+ },
1320
+ "x-ms-summary": "Success"
1321
+ },
1322
+ "401": {
1323
+ "description": "No description",
1324
+ "x-ms-summary": "Unauthorized"
1325
+ }
1326
+ },
1327
+ "security": [
1328
+ {
1329
+ "Implicit": [
1330
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1331
+ ]
1332
+ },
1333
+ {
1334
+ "ApiKey": []
1335
+ }
1336
+ ]
1337
+ }
1338
+ },
1339
+ "/v1.0/protected/directory/users/{objectId}/app-roles": {
1340
+ "post": {
1341
+ "tags": [
1342
+ "Directory"
1343
+ ],
1344
+ "summary": "Assign an app-role on a service principal to the directory user",
1345
+ "description": "Returns changed: false when the assignment already existed.",
1346
+ "operationId": "AssignDirectoryAppRole",
1347
+ "parameters": [
1348
+ {
1349
+ "name": "objectId",
1350
+ "in": "path",
1351
+ "required": true,
1352
+ "schema": {
1353
+ "type": "string"
1354
+ }
1355
+ }
1356
+ ],
1357
+ "requestBody": {
1358
+ "content": {
1359
+ "application/json": {
1360
+ "schema": {
1361
+ "$ref": "#/components/schemas/appRoleAssignmentRequest"
1362
+ }
1363
+ }
1364
+ },
1365
+ "required": true
1366
+ },
1367
+ "responses": {
1368
+ "200": {
1369
+ "description": "Payload of DirectoryOperationResult",
1370
+ "content": {
1371
+ "application/json": {
1372
+ "schema": {
1373
+ "$ref": "#/components/schemas/directoryOperationResult"
1374
+ }
1375
+ }
1376
+ },
1377
+ "x-ms-summary": "Success"
1378
+ },
1379
+ "401": {
1380
+ "description": "No description",
1381
+ "x-ms-summary": "Unauthorized"
1382
+ }
1383
+ },
1384
+ "security": [
1385
+ {
1386
+ "Implicit": [
1387
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1388
+ ]
1389
+ },
1390
+ {
1391
+ "ApiKey": []
1392
+ }
1393
+ ]
1394
+ },
1395
+ "get": {
1396
+ "tags": [
1397
+ "Directory"
1398
+ ],
1399
+ "summary": "Map the directory user's app-role assignments by service principal",
1400
+ "description": "Returns { servicePrincipalObjectId: appRoleId } for every Enterprise App the user is assigned to.",
1401
+ "operationId": "ListDirectoryUserAppRoles",
1402
+ "parameters": [
1403
+ {
1404
+ "name": "objectId",
1405
+ "in": "path",
1406
+ "required": true,
1407
+ "schema": {
1408
+ "type": "string"
1409
+ }
1410
+ }
1411
+ ],
1412
+ "responses": {
1413
+ "200": {
1414
+ "description": "Payload of Dictionary of String",
1415
+ "content": {
1416
+ "application/json": {
1417
+ "schema": {
1418
+ "type": "object",
1419
+ "additionalProperties": {
1420
+ "type": "string"
1421
+ }
1422
+ }
1423
+ }
1424
+ },
1425
+ "x-ms-summary": "Success"
1426
+ },
1427
+ "401": {
1428
+ "description": "No description",
1429
+ "x-ms-summary": "Unauthorized"
1430
+ }
1431
+ },
1432
+ "security": [
1433
+ {
1434
+ "Implicit": [
1435
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1436
+ ]
1437
+ },
1438
+ {
1439
+ "ApiKey": []
1440
+ }
1441
+ ]
1442
+ }
1443
+ },
1444
+ "/v1.0/protected/directory/users/{objectId}/app-roles/{servicePrincipalObjectId}": {
1445
+ "delete": {
1446
+ "tags": [
1447
+ "Directory"
1448
+ ],
1449
+ "summary": "Remove the directory user's app-role assignment(s) on a service principal",
1450
+ "operationId": "RemoveDirectoryAppRole",
1451
+ "parameters": [
1452
+ {
1453
+ "name": "objectId",
1454
+ "in": "path",
1455
+ "required": true,
1456
+ "schema": {
1457
+ "type": "string"
1458
+ }
1459
+ },
1460
+ {
1461
+ "name": "servicePrincipalObjectId",
1462
+ "in": "path",
1463
+ "required": true,
1464
+ "schema": {
1465
+ "type": "string"
1466
+ }
1467
+ }
1468
+ ],
1469
+ "responses": {
1470
+ "200": {
1471
+ "description": "Payload of DirectoryOperationResult",
1472
+ "content": {
1473
+ "application/json": {
1474
+ "schema": {
1475
+ "$ref": "#/components/schemas/directoryOperationResult"
1476
+ }
1477
+ }
1478
+ },
1479
+ "x-ms-summary": "Success"
1480
+ },
1481
+ "401": {
1482
+ "description": "No description",
1483
+ "x-ms-summary": "Unauthorized"
1484
+ }
1485
+ },
1486
+ "security": [
1487
+ {
1488
+ "Implicit": [
1489
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1490
+ ]
1491
+ },
1492
+ {
1493
+ "ApiKey": []
1494
+ }
1495
+ ]
1496
+ }
1497
+ },
1498
+ "/v1.0/protected/directory/service-principals/{servicePrincipalObjectId}/app-roles": {
1499
+ "get": {
1500
+ "tags": [
1501
+ "Directory"
1502
+ ],
1503
+ "summary": "List a service principal's enabled app-roles",
1504
+ "operationId": "ListDirectoryAppRoles",
1505
+ "parameters": [
1506
+ {
1507
+ "name": "servicePrincipalObjectId",
1508
+ "in": "path",
1509
+ "required": true,
1510
+ "schema": {
1511
+ "type": "string"
1512
+ }
1513
+ }
1514
+ ],
1515
+ "responses": {
1516
+ "200": {
1517
+ "description": "Payload of Array of SystemRoleOption",
1518
+ "content": {
1519
+ "application/json": {
1520
+ "schema": {
1521
+ "type": "array",
1522
+ "items": {
1523
+ "$ref": "#/components/schemas/systemRoleOption"
1524
+ }
1525
+ }
1526
+ }
1527
+ },
1528
+ "x-ms-summary": "Success"
1529
+ },
1530
+ "401": {
1531
+ "description": "No description",
1532
+ "x-ms-summary": "Unauthorized"
1533
+ }
1534
+ },
1535
+ "security": [
1536
+ {
1537
+ "Implicit": [
1538
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1539
+ ]
1540
+ },
1541
+ {
1542
+ "ApiKey": []
1543
+ }
1544
+ ]
1545
+ }
1546
+ },
1547
+ "/v1.0/protected/directory/users/{objectId}/licenses/{skuId}": {
1548
+ "post": {
1549
+ "tags": [
1550
+ "Directory"
1551
+ ],
1552
+ "summary": "Assign a license SKU to the directory user",
1553
+ "operationId": "AssignDirectoryLicense",
1554
+ "parameters": [
1555
+ {
1556
+ "name": "objectId",
1557
+ "in": "path",
1558
+ "required": true,
1559
+ "schema": {
1560
+ "type": "string"
1561
+ }
1562
+ },
1563
+ {
1564
+ "name": "skuId",
1565
+ "in": "path",
1566
+ "required": true,
1567
+ "schema": {
1568
+ "type": "string"
1569
+ }
1570
+ }
1571
+ ],
1572
+ "responses": {
1573
+ "204": {
1574
+ "description": "No description",
1575
+ "x-ms-summary": "Assigned"
1576
+ },
1577
+ "401": {
1578
+ "description": "No description",
1579
+ "x-ms-summary": "Unauthorized"
1580
+ }
1581
+ },
1582
+ "security": [
1583
+ {
1584
+ "Implicit": [
1585
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1586
+ ]
1587
+ },
1588
+ {
1589
+ "ApiKey": []
1590
+ }
1591
+ ]
1592
+ },
1593
+ "delete": {
1594
+ "tags": [
1595
+ "Directory"
1596
+ ],
1597
+ "summary": "Revoke a license SKU from the directory user",
1598
+ "operationId": "RevokeDirectoryLicense",
1599
+ "parameters": [
1600
+ {
1601
+ "name": "objectId",
1602
+ "in": "path",
1603
+ "required": true,
1604
+ "schema": {
1605
+ "type": "string"
1606
+ }
1607
+ },
1608
+ {
1609
+ "name": "skuId",
1610
+ "in": "path",
1611
+ "required": true,
1612
+ "schema": {
1613
+ "type": "string"
1614
+ }
1615
+ }
1616
+ ],
1617
+ "responses": {
1618
+ "204": {
1619
+ "description": "No description",
1620
+ "x-ms-summary": "Revoked"
1621
+ },
1622
+ "401": {
1623
+ "description": "No description",
1624
+ "x-ms-summary": "Unauthorized"
1625
+ }
1626
+ },
1627
+ "security": [
1628
+ {
1629
+ "Implicit": [
1630
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1631
+ ]
1632
+ },
1633
+ {
1634
+ "ApiKey": []
1635
+ }
1636
+ ]
1637
+ }
1638
+ },
1639
+ "/v1.0/protected/directory/licenses/{skuId}": {
1640
+ "get": {
1641
+ "tags": [
1642
+ "Directory"
1643
+ ],
1644
+ "summary": "Get seat availability for a license SKU",
1645
+ "operationId": "GetDirectoryLicenseAvailability",
1646
+ "parameters": [
1647
+ {
1648
+ "name": "skuId",
1649
+ "in": "path",
1650
+ "required": true,
1651
+ "schema": {
1652
+ "type": "string"
1653
+ }
1654
+ }
1655
+ ],
1656
+ "responses": {
1657
+ "200": {
1658
+ "description": "Payload of LicenseAvailability",
1659
+ "content": {
1660
+ "application/json": {
1661
+ "schema": {
1662
+ "$ref": "#/components/schemas/licenseAvailability"
1663
+ }
1664
+ }
1665
+ },
1666
+ "x-ms-summary": "Success"
1667
+ },
1668
+ "401": {
1669
+ "description": "No description",
1670
+ "x-ms-summary": "Unauthorized"
1671
+ },
1672
+ "404": {
1673
+ "description": "No description",
1674
+ "x-ms-summary": "SKU unknown"
1675
+ }
1676
+ },
1677
+ "security": [
1678
+ {
1679
+ "Implicit": [
1680
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1681
+ ]
1682
+ },
1683
+ {
1684
+ "ApiKey": []
1685
+ }
1686
+ ]
1687
+ }
1688
+ },
1689
+ "/v1.0/protected/directory/licenses/primary": {
1690
+ "get": {
1691
+ "tags": [
1692
+ "Directory"
1693
+ ],
1694
+ "summary": "Auto-select the tenant's primary productivity license SKU",
1695
+ "description": "Returns skuId: null when no productivity SKU has a free seat.",
1696
+ "operationId": "ResolvePrimaryDirectoryLicense",
1697
+ "responses": {
1698
+ "200": {
1699
+ "description": "Payload of LicenseSkuRef",
1700
+ "content": {
1701
+ "application/json": {
1702
+ "schema": {
1703
+ "$ref": "#/components/schemas/licenseSkuRef"
1704
+ }
1705
+ }
1706
+ },
1707
+ "x-ms-summary": "Success"
1708
+ },
1709
+ "401": {
1710
+ "description": "No description",
1711
+ "x-ms-summary": "Unauthorized"
1712
+ }
1713
+ },
1714
+ "security": [
1715
+ {
1716
+ "Implicit": [
1717
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1718
+ ]
1719
+ },
1720
+ {
1721
+ "ApiKey": []
1722
+ }
1723
+ ]
1724
+ }
1725
+ },
1726
+ "/v1.0/protected/systems/batch": {
1727
+ "post": {
1728
+ "tags": [
1729
+ "EmployeeSystems"
1730
+ ],
1731
+ "summary": "Bulk list per-employee system access for a set of UPNs",
1732
+ "description": "Resolves every UPN's third-party system seats in one roundtrip — fans out the Graph calls server-side.",
1733
+ "operationId": "ListEmployeeSystemAccessBatch",
1734
+ "requestBody": {
1735
+ "content": {
1736
+ "application/json": {
1737
+ "schema": {
1738
+ "$ref": "#/components/schemas/listEmployeeSystemAccessBatchRequest"
1739
+ }
1740
+ }
1741
+ },
1742
+ "required": true
1743
+ },
1744
+ "responses": {
1745
+ "200": {
1746
+ "description": "Payload of Array of EmployeeSystemAccessRow",
1747
+ "content": {
1748
+ "application/json": {
1749
+ "schema": {
1750
+ "type": "array",
1751
+ "items": {
1752
+ "$ref": "#/components/schemas/employeeSystemAccessRow"
1753
+ }
1754
+ }
1755
+ }
1756
+ },
1757
+ "x-ms-summary": "Success"
1758
+ },
1759
+ "401": {
1760
+ "description": "No description",
1761
+ "x-ms-summary": "Unauthorized"
1762
+ }
1763
+ },
1764
+ "security": [
1765
+ {
1766
+ "Implicit": [
1767
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1768
+ ]
1769
+ },
1770
+ {
1771
+ "ApiKey": []
1772
+ }
1773
+ ]
1774
+ }
1775
+ },
1776
+ "/v1.0/protected/systems/{upn}": {
1777
+ "get": {
1778
+ "tags": [
1779
+ "EmployeeSystems"
1780
+ ],
1781
+ "summary": "List an employee's third-party system access",
1782
+ "description": "Per registered system (e.g. Salesforce): whether the employee has a seat, which app-role backs it, and the selectable roles.",
1783
+ "operationId": "ListEmployeeSystemAccess",
1784
+ "parameters": [
1785
+ {
1786
+ "name": "upn",
1787
+ "in": "path",
1788
+ "required": true,
1789
+ "schema": {
1790
+ "type": "string"
1791
+ },
1792
+ "x-ms-summary": "Employee UPN (work email)"
1793
+ }
1794
+ ],
1795
+ "responses": {
1796
+ "200": {
1797
+ "description": "Payload of Array of EmployeeSystemAccess",
1798
+ "content": {
1799
+ "application/json": {
1800
+ "schema": {
1801
+ "type": "array",
1802
+ "items": {
1803
+ "$ref": "#/components/schemas/employeeSystemAccess"
1804
+ }
1805
+ }
1806
+ }
1807
+ },
1808
+ "x-ms-summary": "Success"
1809
+ },
1810
+ "401": {
1811
+ "description": "No description",
1812
+ "x-ms-summary": "Unauthorized"
1813
+ },
1814
+ "404": {
1815
+ "description": "No description",
1816
+ "x-ms-summary": "Employee not found in the directory"
1817
+ }
1818
+ },
1819
+ "security": [
1820
+ {
1821
+ "Implicit": [
1822
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1823
+ ]
1824
+ },
1825
+ {
1826
+ "ApiKey": []
1827
+ }
1828
+ ]
1829
+ }
1830
+ },
1831
+ "/v1.0/protected/systems/{upn}/{systemKey}": {
1832
+ "post": {
1833
+ "tags": [
1834
+ "EmployeeSystems"
1835
+ ],
1836
+ "summary": "Grant the employee a seat in a third-party system",
1837
+ "description": "Assigns the backing app-role on the system's Enterprise App. SCIM/provisioning then creates the account automatically.",
1838
+ "operationId": "AssignEmployeeSystem",
1839
+ "parameters": [
1840
+ {
1841
+ "name": "upn",
1842
+ "in": "path",
1843
+ "required": true,
1844
+ "schema": {
1845
+ "type": "string"
1846
+ }
1847
+ },
1848
+ {
1849
+ "name": "systemKey",
1850
+ "in": "path",
1851
+ "required": true,
1852
+ "schema": {
1853
+ "type": "string"
1854
+ },
1855
+ "x-ms-summary": "Stable system key (e.g. \"salesforce\")"
1856
+ },
1857
+ {
1858
+ "name": "roleId",
1859
+ "in": "query",
1860
+ "schema": {
1861
+ "type": "string"
1862
+ },
1863
+ "x-ms-summary": "App-role id to assign; falls back to the tenant's default role when omitted. Assigning a different role than the current one replaces the assignment."
1864
+ }
1865
+ ],
1866
+ "responses": {
1867
+ "200": {
1868
+ "description": "Payload of EmployeeSystemAccess",
1869
+ "content": {
1870
+ "application/json": {
1871
+ "schema": {
1872
+ "$ref": "#/components/schemas/employeeSystemAccess"
1873
+ }
1874
+ }
1875
+ },
1876
+ "x-ms-summary": "Success"
1877
+ },
1878
+ "401": {
1879
+ "description": "No description",
1880
+ "x-ms-summary": "Unauthorized"
1881
+ },
1882
+ "404": {
1883
+ "description": "No description",
1884
+ "x-ms-summary": "Unknown system or employee"
1885
+ },
1886
+ "501": {
1887
+ "description": "No description",
1888
+ "x-ms-summary": "System not configured in this environment"
1889
+ }
1890
+ },
1891
+ "security": [
1892
+ {
1893
+ "Implicit": [
1894
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1895
+ ]
1896
+ },
1897
+ {
1898
+ "ApiKey": []
1899
+ }
1900
+ ]
1901
+ },
1902
+ "delete": {
1903
+ "tags": [
1904
+ "EmployeeSystems"
1905
+ ],
1906
+ "summary": "Revoke the employee's seat in a third-party system",
1907
+ "description": "Removes the backing app-role assignment. SCIM/provisioning deactivates the account on the next sync.",
1908
+ "operationId": "RevokeEmployeeSystem",
1909
+ "parameters": [
1910
+ {
1911
+ "name": "upn",
1912
+ "in": "path",
1913
+ "required": true,
1914
+ "schema": {
1915
+ "type": "string"
1916
+ }
1917
+ },
1918
+ {
1919
+ "name": "systemKey",
1920
+ "in": "path",
1921
+ "required": true,
1922
+ "schema": {
1923
+ "type": "string"
1924
+ }
1925
+ }
1926
+ ],
1927
+ "responses": {
1928
+ "200": {
1929
+ "description": "Payload of EmployeeSystemAccess",
1930
+ "content": {
1931
+ "application/json": {
1932
+ "schema": {
1933
+ "$ref": "#/components/schemas/employeeSystemAccess"
1934
+ }
1935
+ }
1936
+ },
1937
+ "x-ms-summary": "Success"
1938
+ },
1939
+ "401": {
1940
+ "description": "No description",
1941
+ "x-ms-summary": "Unauthorized"
1942
+ },
1943
+ "404": {
1944
+ "description": "No description",
1945
+ "x-ms-summary": "Unknown system or employee"
1946
+ },
1947
+ "501": {
1948
+ "description": "No description",
1949
+ "x-ms-summary": "System not configured in this environment"
1950
+ }
1951
+ },
1952
+ "security": [
1953
+ {
1954
+ "Implicit": [
1955
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
1956
+ ]
1957
+ },
1958
+ {
1959
+ "ApiKey": []
1960
+ }
1961
+ ]
1962
+ }
1963
+ },
1964
+ "/v1.0/protected/directory/users": {
1965
+ "post": {
1966
+ "tags": [
1967
+ "Directory"
1968
+ ],
1969
+ "summary": "Create (or adopt) a directory user",
1970
+ "description": "Creates the Entra user, or patches an existing one with the supplied fields. Returns the temporary password only on fresh creation.",
1971
+ "operationId": "CreateDirectoryUser",
1972
+ "requestBody": {
1973
+ "content": {
1974
+ "application/json": {
1975
+ "schema": {
1976
+ "$ref": "#/components/schemas/createUserInput"
1977
+ }
1978
+ }
1979
+ },
1980
+ "required": true
1981
+ },
1982
+ "responses": {
1983
+ "200": {
1984
+ "description": "Payload of CreateUserResult",
1985
+ "content": {
1986
+ "application/json": {
1987
+ "schema": {
1988
+ "$ref": "#/components/schemas/createUserResult"
1989
+ }
1990
+ }
1991
+ },
1992
+ "x-ms-summary": "Success"
1993
+ },
1994
+ "401": {
1995
+ "description": "No description",
1996
+ "x-ms-summary": "Unauthorized"
1997
+ }
1998
+ },
1999
+ "security": [
2000
+ {
2001
+ "Implicit": [
2002
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2003
+ ]
2004
+ },
2005
+ {
2006
+ "ApiKey": []
2007
+ }
2008
+ ]
2009
+ }
2010
+ },
2011
+ "/v1.0/protected/directory/users/{objectId}": {
2012
+ "patch": {
2013
+ "tags": [
2014
+ "Directory"
2015
+ ],
2016
+ "summary": "Patch a directory user from candidate fields",
2017
+ "operationId": "PatchDirectoryUser",
2018
+ "parameters": [
2019
+ {
2020
+ "name": "objectId",
2021
+ "in": "path",
2022
+ "required": true,
2023
+ "schema": {
2024
+ "type": "string"
2025
+ }
2026
+ }
2027
+ ],
2028
+ "requestBody": {
2029
+ "content": {
2030
+ "application/json": {
2031
+ "schema": {
2032
+ "$ref": "#/components/schemas/createUserInput"
2033
+ }
2034
+ }
2035
+ },
2036
+ "required": true
2037
+ },
2038
+ "responses": {
2039
+ "204": {
2040
+ "description": "No description",
2041
+ "x-ms-summary": "Patched"
2042
+ },
2043
+ "401": {
2044
+ "description": "No description",
2045
+ "x-ms-summary": "Unauthorized"
2046
+ }
2047
+ },
2048
+ "security": [
2049
+ {
2050
+ "Implicit": [
2051
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2052
+ ]
2053
+ },
2054
+ {
2055
+ "ApiKey": []
2056
+ }
2057
+ ]
2058
+ }
2059
+ },
2060
+ "/v1.0/protected/directory/users/{objectId}/photo": {
2061
+ "post": {
2062
+ "tags": [
2063
+ "Directory"
2064
+ ],
2065
+ "summary": "Upload a profile photo to the directory user",
2066
+ "description": "Fetches the image from the supplied URL and PUTs it as the user's Entra profile photo.",
2067
+ "operationId": "UploadDirectoryUserPhoto",
2068
+ "parameters": [
2069
+ {
2070
+ "name": "objectId",
2071
+ "in": "path",
2072
+ "required": true,
2073
+ "schema": {
2074
+ "type": "string"
2075
+ }
2076
+ }
2077
+ ],
2078
+ "requestBody": {
2079
+ "content": {
2080
+ "application/json": {
2081
+ "schema": {
2082
+ "$ref": "#/components/schemas/uploadPhotoRequest"
2083
+ }
2084
+ }
2085
+ },
2086
+ "required": true
2087
+ },
2088
+ "responses": {
2089
+ "200": {
2090
+ "description": "Payload of UploadPhotoResult",
2091
+ "content": {
2092
+ "application/json": {
2093
+ "schema": {
2094
+ "$ref": "#/components/schemas/uploadPhotoResult"
2095
+ }
2096
+ }
2097
+ },
2098
+ "x-ms-summary": "Success"
2099
+ },
2100
+ "401": {
2101
+ "description": "No description",
2102
+ "x-ms-summary": "Unauthorized"
2103
+ }
2104
+ },
2105
+ "security": [
2106
+ {
2107
+ "Implicit": [
2108
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2109
+ ]
2110
+ },
2111
+ {
2112
+ "ApiKey": []
2113
+ }
2114
+ ]
2115
+ }
2116
+ },
2117
+ "/v1.0/protected/directory/users/by-upn/{upn}": {
2118
+ "get": {
2119
+ "tags": [
2120
+ "Directory"
2121
+ ],
2122
+ "summary": "Resolve a UPN to the directory user's object id",
2123
+ "description": "Returns userObjectId: null when no directory user exists for the UPN.",
2124
+ "operationId": "GetDirectoryUserByUpn",
2125
+ "parameters": [
2126
+ {
2127
+ "name": "upn",
2128
+ "in": "path",
2129
+ "required": true,
2130
+ "schema": {
2131
+ "type": "string"
2132
+ }
2133
+ }
2134
+ ],
2135
+ "responses": {
2136
+ "200": {
2137
+ "description": "Payload of DirectoryUserRef",
2138
+ "content": {
2139
+ "application/json": {
2140
+ "schema": {
2141
+ "$ref": "#/components/schemas/directoryUserRef"
2142
+ }
2143
+ }
2144
+ },
2145
+ "x-ms-summary": "Success"
2146
+ },
2147
+ "401": {
2148
+ "description": "No description",
2149
+ "x-ms-summary": "Unauthorized"
2150
+ }
2151
+ },
2152
+ "security": [
2153
+ {
2154
+ "Implicit": [
2155
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2156
+ ]
2157
+ },
2158
+ {
2159
+ "ApiKey": []
2160
+ }
2161
+ ]
2162
+ }
2163
+ },
2164
+ "/v1.0/protected/directory/users/{upn}/disable": {
2165
+ "post": {
2166
+ "tags": [
2167
+ "Directory"
2168
+ ],
2169
+ "summary": "Disable the directory user (offboarding)",
2170
+ "operationId": "DisableDirectoryUser",
2171
+ "parameters": [
2172
+ {
2173
+ "name": "upn",
2174
+ "in": "path",
2175
+ "required": true,
2176
+ "schema": {
2177
+ "type": "string"
2178
+ }
2179
+ }
2180
+ ],
2181
+ "responses": {
2182
+ "200": {
2183
+ "description": "Payload of DisableUserResult",
2184
+ "content": {
2185
+ "application/json": {
2186
+ "schema": {
2187
+ "$ref": "#/components/schemas/disableUserResult"
2188
+ }
2189
+ }
2190
+ },
2191
+ "x-ms-summary": "Success"
2192
+ },
2193
+ "401": {
2194
+ "description": "No description",
2195
+ "x-ms-summary": "Unauthorized"
2196
+ }
2197
+ },
2198
+ "security": [
2199
+ {
2200
+ "Implicit": [
2201
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2202
+ ]
2203
+ },
2204
+ {
2205
+ "ApiKey": []
2206
+ }
2207
+ ]
2208
+ }
2209
+ },
2210
+ "/v1.0/protected/directory/users/{upn}": {
2211
+ "delete": {
2212
+ "tags": [
2213
+ "Directory"
2214
+ ],
2215
+ "summary": "Delete the directory user (recoverable in Entra for 30 days)",
2216
+ "operationId": "DeleteDirectoryUser",
2217
+ "parameters": [
2218
+ {
2219
+ "name": "upn",
2220
+ "in": "path",
2221
+ "required": true,
2222
+ "schema": {
2223
+ "type": "string"
2224
+ }
2225
+ }
2226
+ ],
2227
+ "responses": {
2228
+ "200": {
2229
+ "description": "Payload of DisableUserResult",
2230
+ "content": {
2231
+ "application/json": {
2232
+ "schema": {
2233
+ "$ref": "#/components/schemas/disableUserResult"
2234
+ }
2235
+ }
2236
+ },
2237
+ "x-ms-summary": "Success"
2238
+ },
2239
+ "401": {
2240
+ "description": "No description",
2241
+ "x-ms-summary": "Unauthorized"
2242
+ }
2243
+ },
2244
+ "security": [
2245
+ {
2246
+ "Implicit": [
2247
+ "api://bb21a8d0-366b-4a95-aa59-dbbf708322d1/.default"
2248
+ ]
2249
+ },
2250
+ {
2251
+ "ApiKey": []
2252
+ }
2253
+ ]
2254
+ }
1230
2255
  }
1231
2256
  },
1232
2257
  "components": {
@@ -1244,6 +2269,17 @@
1244
2269
  }
1245
2270
  }
1246
2271
  },
2272
+ "appRoleAssignmentRequest": {
2273
+ "type": "object",
2274
+ "properties": {
2275
+ "servicePrincipalObjectId": {
2276
+ "type": "string"
2277
+ },
2278
+ "appRoleId": {
2279
+ "type": "string"
2280
+ }
2281
+ }
2282
+ },
1247
2283
  "commissionTierReference": {
1248
2284
  "type": "object",
1249
2285
  "properties": {
@@ -1610,6 +2646,94 @@
1610
2646
  }
1611
2647
  }
1612
2648
  },
2649
+ "createUserInput": {
2650
+ "type": "object",
2651
+ "properties": {
2652
+ "userPrincipalName": {
2653
+ "type": "string"
2654
+ },
2655
+ "displayName": {
2656
+ "type": "string"
2657
+ },
2658
+ "givenName": {
2659
+ "type": "string"
2660
+ },
2661
+ "surname": {
2662
+ "type": "string"
2663
+ },
2664
+ "jobTitle": {
2665
+ "type": "string"
2666
+ },
2667
+ "mobilePhone": {
2668
+ "type": "string"
2669
+ },
2670
+ "streetAddress": {
2671
+ "type": "string"
2672
+ },
2673
+ "city": {
2674
+ "type": "string"
2675
+ },
2676
+ "postalCode": {
2677
+ "type": "string"
2678
+ },
2679
+ "country": {
2680
+ "type": "string"
2681
+ },
2682
+ "sanityId": {
2683
+ "type": "string"
2684
+ }
2685
+ }
2686
+ },
2687
+ "createUserResult": {
2688
+ "type": "object",
2689
+ "properties": {
2690
+ "alreadyExisted": {
2691
+ "type": "boolean"
2692
+ },
2693
+ "userObjectId": {
2694
+ "type": "string"
2695
+ },
2696
+ "userPrincipalName": {
2697
+ "type": "string"
2698
+ },
2699
+ "temporaryPassword": {
2700
+ "type": "string"
2701
+ }
2702
+ }
2703
+ },
2704
+ "directoryOperationResult": {
2705
+ "type": "object",
2706
+ "properties": {
2707
+ "changed": {
2708
+ "type": "boolean"
2709
+ }
2710
+ }
2711
+ },
2712
+ "directoryUserRef": {
2713
+ "type": "object",
2714
+ "properties": {
2715
+ "userObjectId": {
2716
+ "type": "string"
2717
+ }
2718
+ }
2719
+ },
2720
+ "disableUserResult": {
2721
+ "type": "object",
2722
+ "properties": {
2723
+ "found": {
2724
+ "type": "boolean"
2725
+ },
2726
+ "wasAlreadyDisabled": {
2727
+ "type": "boolean"
2728
+ },
2729
+ "userObjectId": {
2730
+ "type": "string"
2731
+ },
2732
+ "userPrincipalName": {
2733
+ "type": "string"
2734
+ }
2735
+ }
2736
+ },
1613
2737
  "employeeReference": {
1614
2738
  "type": "object",
1615
2739
  "properties": {
@@ -1628,6 +2752,49 @@
1628
2752
  }
1629
2753
  }
1630
2754
  },
2755
+ "employeeSystemAccess": {
2756
+ "type": "object",
2757
+ "properties": {
2758
+ "key": {
2759
+ "type": "string"
2760
+ },
2761
+ "label": {
2762
+ "type": "string"
2763
+ },
2764
+ "assigned": {
2765
+ "type": "boolean"
2766
+ },
2767
+ "kind": {
2768
+ "type": "string"
2769
+ },
2770
+ "notImplemented": {
2771
+ "type": "boolean"
2772
+ },
2773
+ "assignedRoleId": {
2774
+ "type": "string"
2775
+ },
2776
+ "availableRoles": {
2777
+ "type": "array",
2778
+ "items": {
2779
+ "$ref": "#/components/schemas/systemRoleOption"
2780
+ }
2781
+ }
2782
+ }
2783
+ },
2784
+ "employeeSystemAccessRow": {
2785
+ "type": "object",
2786
+ "properties": {
2787
+ "upn": {
2788
+ "type": "string"
2789
+ },
2790
+ "systems": {
2791
+ "type": "array",
2792
+ "items": {
2793
+ "$ref": "#/components/schemas/employeeSystemAccess"
2794
+ }
2795
+ }
2796
+ }
2797
+ },
1631
2798
  "feedback": {
1632
2799
  "type": "object",
1633
2800
  "properties": {
@@ -1783,6 +2950,51 @@
1783
2950
  }
1784
2951
  }
1785
2952
  },
2953
+ "licenseAvailability": {
2954
+ "type": "object",
2955
+ "properties": {
2956
+ "skuId": {
2957
+ "type": "string"
2958
+ },
2959
+ "skuPartNumber": {
2960
+ "type": "string"
2961
+ },
2962
+ "enabled": {
2963
+ "type": "integer",
2964
+ "format": "int32"
2965
+ },
2966
+ "consumed": {
2967
+ "type": "integer",
2968
+ "format": "int32"
2969
+ },
2970
+ "available": {
2971
+ "type": "integer",
2972
+ "format": "int32"
2973
+ },
2974
+ "isConfigured": {
2975
+ "type": "boolean"
2976
+ }
2977
+ }
2978
+ },
2979
+ "licenseSkuRef": {
2980
+ "type": "object",
2981
+ "properties": {
2982
+ "skuId": {
2983
+ "type": "string"
2984
+ }
2985
+ }
2986
+ },
2987
+ "listEmployeeSystemAccessBatchRequest": {
2988
+ "type": "object",
2989
+ "properties": {
2990
+ "upns": {
2991
+ "type": "array",
2992
+ "items": {
2993
+ "type": "string"
2994
+ }
2995
+ }
2996
+ }
2997
+ },
1786
2998
  "pageEmployeeOrderInner": {
1787
2999
  "type": "object",
1788
3000
  "properties": {
@@ -3311,6 +4523,17 @@
3311
4523
  }
3312
4524
  }
3313
4525
  },
4526
+ "systemRoleOption": {
4527
+ "type": "object",
4528
+ "properties": {
4529
+ "id": {
4530
+ "type": "string"
4531
+ },
4532
+ "label": {
4533
+ "type": "string"
4534
+ }
4535
+ }
4536
+ },
3314
4537
  "tag": {
3315
4538
  "type": "object",
3316
4539
  "properties": {
@@ -3364,6 +4587,23 @@
3364
4587
  "nullable": true
3365
4588
  }
3366
4589
  }
4590
+ },
4591
+ "uploadPhotoRequest": {
4592
+ "type": "object",
4593
+ "properties": {
4594
+ "imageUrl": {
4595
+ "type": "string"
4596
+ }
4597
+ }
4598
+ },
4599
+ "uploadPhotoResult": {
4600
+ "type": "object",
4601
+ "properties": {
4602
+ "bytes": {
4603
+ "type": "integer",
4604
+ "format": "int64"
4605
+ }
4606
+ }
3367
4607
  }
3368
4608
  },
3369
4609
  "securitySchemes": {