Skip to content

Commit 64d4498

Browse files
Update Schema
Add the new RBAC Assignment flag. Split Mobile into Android and iOS separate properties. Bring the spec to stable since the server is now stable.
1 parent 6e2aae8 commit 64d4498

File tree

3 files changed

+6321
-6279
lines changed

3 files changed

+6321
-6279
lines changed

specs/Url-Shortener.json

Lines changed: 54 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -131,8 +131,9 @@
131131
"targetUrl": "https://www.example.com/very-long-and-complex-url-with_plenty-of-special-characters-and-non-repeated-words",
132132
"notEnabledAfter": "2025-12-31T23:59:59Z",
133133
"notEnabledBefore": null,
134+
"targetUrlAndroid": null,
134135
"targetUrlCustom": null,
135-
"targetUrlMobile": null,
136+
"targetUrlIos": null,
136137
"targetUrlNodeJs": null,
137138
"targetUrlPowerShell": null,
138139
"targetUrlPython": null,
@@ -260,6 +261,17 @@
260261
null
261262
]
262263
},
264+
"targetUrlAndroid": {
265+
"description": "Target URL for the Android operating systems.",
266+
"type": [
267+
"string",
268+
"null"
269+
],
270+
"format": "uri",
271+
"examples": [
272+
null
273+
]
274+
},
263275
"targetUrlCustom": {
264276
"description": "Target URL for custom defined and matching user agent clients.",
265277
"type": [
@@ -271,8 +283,8 @@
271283
null
272284
]
273285
},
274-
"targetUrlMobile": {
275-
"description": "Target URL for various mobile operating systems.",
286+
"targetUrlIos": {
287+
"description": "Target URL for the iOS operating systems.",
276288
"type": [
277289
"string",
278290
"null"
@@ -341,8 +353,9 @@
341353
"targetUrl",
342354
"notEnabledAfter",
343355
"notEnabledBefore",
356+
"targetUrlAndroid",
344357
"targetUrlCustom",
345-
"targetUrlMobile",
358+
"targetUrlIos",
346359
"targetUrlNodeJs",
347360
"targetUrlPowerShell",
348361
"targetUrlPython",
@@ -456,6 +469,13 @@
456469
"example.com"
457470
]
458471
},
472+
"requireRbacAssignment": {
473+
"description": "Flag that indicates if an RBAC assignment is required when the domain list is being enumerated. Mutations still require the correct permissions. This flag essentially grants reader permissions to everyone without actually need to assign that role to everyone.",
474+
"type": "boolean",
475+
"examples": [
476+
false
477+
]
478+
},
459479
"type": {
460480
"description": "Flag that indicates the type of shortened URL that can be generated on the domain: `vanity` allows any user structure as long as it is unique. Example: `https://example.com/myUrl`, `idNumber` locks out user control of the vanity URL and hard codes it to an ID number. Example: `https://example.com/managedLink?id=123`.",
461481
"type": "string",
@@ -475,6 +495,7 @@
475495
"count",
476496
"hidden",
477497
"hostName",
498+
"requireRbacAssignment",
478499
"type"
479500
]
480501
},
@@ -603,7 +624,7 @@
603624
},
604625
"description": "Create vanity or numeric short version of your desired URL. Share it digitally, as QR code, or print it.",
605626
"title": "SHI URL Shortener",
606-
"version": "0.0.5"
627+
"version": "1.0.0"
607628
},
608629
"openapi": "3.1.1",
609630
"paths": {
@@ -774,6 +795,18 @@
774795
]
775796
}
776797
},
798+
{
799+
"name": "targetUrlAndroid",
800+
"in": "query",
801+
"description": "Target URL for the Android operating systems.",
802+
"schema": {
803+
"type": "string",
804+
"format": "uri",
805+
"examples": [
806+
"https://play.google.com/store/apps/details?id=com.azure.authenticator"
807+
]
808+
}
809+
},
777810
{
778811
"name": "targetUrlCustom",
779812
"in": "query",
@@ -787,14 +820,14 @@
787820
}
788821
},
789822
{
790-
"name": "targetUrlMobile",
823+
"name": "targetUrlIos",
791824
"in": "query",
792-
"description": "Filter by the `targetUrlMobile` field.",
825+
"description": "Target URL for the iOS operating systems.",
793826
"schema": {
794827
"type": "string",
795828
"format": "uri",
796829
"examples": [
797-
"https://www.example.com/custom-target?customMobileDefinition"
830+
"https://apps.apple.com/us/app/microsoft-authenticator/id983156458"
798831
]
799832
}
800833
},
@@ -878,8 +911,9 @@
878911
"targetUrl": "https://www.example.com/very-long-and-complex-url-with_plenty-of-special-characters-and-non-repeated-words",
879912
"notEnabledAfter": "2025-12-31T23:59:59Z",
880913
"notEnabledBefore": null,
914+
"targetUrlAndroid": null,
881915
"targetUrlCustom": null,
882-
"targetUrlMobile": null,
916+
"targetUrlIos": null,
883917
"targetUrlNodeJs": null,
884918
"targetUrlPowerShell": null,
885919
"targetUrlPython": null,
@@ -943,8 +977,9 @@
943977
"targetUrl": "https://www.example.com/target",
944978
"notEnabledAfter": null,
945979
"notEnabledBefore": null,
980+
"targetUrlAndroid": null,
946981
"targetUrlCustom": null,
947-
"targetUrlMobile": null,
982+
"targetUrlIos": null,
948983
"targetUrlNodeJs": null,
949984
"targetUrlPowerShell": null,
950985
"targetUrlPython": null,
@@ -1081,8 +1116,9 @@
10811116
"targetUrl": "https://www.example.com/target",
10821117
"notEnabledAfter": null,
10831118
"notEnabledBefore": null,
1119+
"targetUrlAndroid": null,
10841120
"targetUrlCustom": null,
1085-
"targetUrlMobile": null,
1121+
"targetUrlIos": null,
10861122
"targetUrlNodeJs": null,
10871123
"targetUrlPowerShell": null,
10881124
"targetUrlPython": null,
@@ -1157,8 +1193,9 @@
11571193
"targetUrl": "https://www.example.com/target-updated",
11581194
"notEnabledAfter": null,
11591195
"notEnabledBefore": null,
1196+
"targetUrlAndroid": null,
11601197
"targetUrlCustom": null,
1161-
"targetUrlMobile": null,
1198+
"targetUrlIos": null,
11621199
"targetUrlNodeJs": "https://www.example.com/target-nodejs",
11631200
"targetUrlPowerShell": null,
11641201
"targetUrlPython": null,
@@ -1494,6 +1531,7 @@
14941531
"allowHttp": true,
14951532
"count": 10,
14961533
"hidden": false,
1534+
"requireRbacAssignment": false,
14971535
"hostName": "example.com",
14981536
"type": "vanity"
14991537
}
@@ -1542,6 +1580,7 @@
15421580
"allowHttp": false,
15431581
"count": 1,
15441582
"hidden": false,
1583+
"requireRbacAssignment": false,
15451584
"hostName": "example.com",
15461585
"type": "vanity"
15471586
}
@@ -1567,6 +1606,7 @@
15671606
"allowHttp": false,
15681607
"count": 1,
15691608
"hidden": false,
1609+
"requireRbacAssignment": false,
15701610
"hostName": "example.com",
15711611
"type": "vanity"
15721612
}
@@ -1611,6 +1651,7 @@
16111651
"allowHttp": false,
16121652
"count": 1,
16131653
"hidden": false,
1654+
"requireRbacAssignment": false,
16141655
"hostName": "example.com",
16151656
"type": "vanity"
16161657
}
@@ -1674,6 +1715,7 @@
16741715
"allowHttp": false,
16751716
"count": 1,
16761717
"hidden": false,
1718+
"requireRbacAssignment": false,
16771719
"hostName": "example.com",
16781720
"type": "idNumber"
16791721
}

0 commit comments

Comments
 (0)