-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathswagger.yaml
More file actions
109 lines (105 loc) · 2.61 KB
/
swagger.yaml
File metadata and controls
109 lines (105 loc) · 2.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
swagger: '2.0'
info:
title: Ein Shorten URL Service
version: "1.0.0"
host: s.einplus.cn
# array of all schemes that your API supports
schemes:
- https
# will be prefixed to all paths
basePath: /
produces:
- application/json
paths:
/api/shorten:
post:
parameters:
- name: body
in: body
schema:
type: object
properties:
long_url:
type: string
description: Full URL
required:
- long_url
responses:
200:
description: Successfully generated an short url.
schema:
type: object
properties:
link:
type: string
description: Shortened URL
/api/shorten-batch:
post:
parameters:
- name: body
in: body
schema:
type: object
properties:
long_urls:
type: array
items:
type: string
description: Full URL
required:
- long_urls
responses:
200:
description: Successfully generated short URLs.
schema:
type: object
properties:
links:
type: array
items:
type: string
description: Short URL
/{hash}/{channel}:
get:
parameters:
- name: hash
in: path
required: true
description: generated short URL's hash part
type: string
- name: channel
in: path
required: false
description: id of distribution channel
type: string
responses:
302:
description: Redirect to the full URL
/api/link/clicks/{hash}:
get:
parameters:
- name: hash
in: path
required: true
description: hash part of a short URL
type: string
responses:
200:
description: Click data for a given short URL
schema:
type: object
properties:
channels:
type: object
patternProperties:
"^(.*)$":
description: click data for a given channel
type: object
properties:
clicks:
type: integer
total:
type: object
properties:
clicks:
type: integer