tiny-url-ex/api.json

55 lines
1.2 KiB
JSON

{
"GET": {
"info": "redirects to given tiny url",
"scope": [[]],
"in": {
"URL#0": { "info": "tiny url to redirect to", "name": "url", "type": "string(1,30)" }
},
"out": {}
},
"POST": {
"info": "creates a new tiny url",
"scope": [["admin"]],
"in": {
"URL#0": { "info": "preferred tiny url", "type": "string(1,30)", "name": "url" },
"target": { "info": "url to shorten", "type": "string(5,300)" }
},
"out": {}
},
"PUT": {
"info": "overrides an existing tiny url",
"scope": [["admin"]],
"in": {
"URL#0": { "info": "preferred tiny url", "type": "string(1,30)", "name": "url" },
"target": { "info": "url to shorten", "type": "string(5,300)" }
},
"out": {}
},
"DELETE": {
"info": "removes an existing tiny url",
"scope": [["admin"]],
"in": {
"URL#0": { "info": "preferred tiny url", "type": "string(1,30)", "name": "url" }
},
"out": {}
},
"/": {
"token": {
"POST": {
"info": "creates a 5-minute access token",
"scope": [[]],
"in": {
"URL#0": { "info": "wanted role", "type": "string(3,10)", "name": "role" }
},
"out": {
"token": { "info": "access token", "type": "string(128,128)" }
}
}
}
}
}