Skip to content
This repository was archived by the owner on Sep 28, 2026. It is now read-only.

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

3 files changed

Lines changed: 6321 additions & 6279 deletions

File tree

‎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)