-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathpdf.openapi.yaml
287 lines (282 loc) · 8.85 KB
/
pdf.openapi.yaml
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
openapi: 3.0.0
info:
version: 1.0.0
title: Lumin PDF Api Reference
description: |
The Lumin PDF API Reference supplies a wide range of information about the Lumin PDF API. This includes a detailed description of the API endpoints, the request and response formats, and the authentication methods. The API is designed to allow developers to integrate Lumin PDF's features into their own applications.
Some useful links:
- [The document repository](https://github.com/luminpdf/luminsign-docs)
- [The source API definition for the Lumin PDF API](https://github.com/luminpdf/luminsign-docs/blob/main/pdf.openapi.yaml)
- [Authentication for using API](/docs/api/authentication/)
contact:
name: API Support
email: integration@luminpdf.com
url: https://help.luminpdf.com
servers:
- url: https://api.luminpdf.com/v1
description: Production server
- url: https://api-sandbox.luminpdf.com/v1
description: Sandbox server
tags:
- name: Document
description: Everything about Document
- name: User
description: Everything about User
paths:
/documents/upload:
post:
summary: Upload a document
description: Upload a document to Lumin PDF for editing
security:
- ApiKey: []
tags:
- Document
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentDTO'
responses:
'201':
description: Expected response to a valid request
content:
application/json:
schema:
type: object
required:
- document
properties:
document:
description: Contains information about a Signature Request.
$ref: '#/components/schemas/Document'
'4xx':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/user/info:
get:
summary: Get User Information
description: Get information of current user by API Key
security:
- ApiKey: []
tags:
- User
responses:
'200':
description: Expected response to a valid request
content:
application/json:
schema:
type: object
required:
- user
properties:
user:
description: Contains information about a User.
$ref: '#/components/schemas/User'
'4xx':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/user/webhooks/subscriptions:
post:
summary: Subscribe to webhooks
description: Subscribe to webhooks related to the user
security:
- ApiKey: []
tags:
- User
requestBody:
content:
application/json:
schema:
type: object
properties:
callback_url:
description: The callback url of the webhook.
type: string
events:
description: The events that the webhook will be triggered. Supported events is defined in the https://developers.luminpdf.com/docs/api/events/#event-names.
type: array
items:
type: string
example:
callback_url: https://luminpdf.com/webhook/handler
events: ["signature_request_created", "signature_request_viewed"]
responses:
'201':
description: Expected response to a valid request
content:
application/json:
schema:
type: object
required:
- subscription
properties:
subscription:
description: Contains information about a Webhook Subscription.
type: object
properties:
id:
type: string
description: The unique identifier for the subscription.
callback_url:
type: string
description: The callback url of the webhook.
events:
type: array
description: The events that the webhook will be triggered.
items:
type: string
'4xx':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/user/webhooks/{webhook_id}:
delete:
summary: Unsubscribe to webhooks
description: Unsubscribe to webhooks related to the user
security:
- ApiKey: []
tags:
- User
parameters:
- in: path
name: webhook_id
schema:
type: string
required: true
description: ID of the webhook
responses:
'204':
description: Expected response to a valid request
'4xx':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/user/circles/all:
get:
summary: Get all circles
description: Get all circles of the user
security:
- ApiKey: []
tags:
- User
responses:
'200':
description: Expected response to a valid request
content:
application/json:
schema:
type: object
required:
- circles
- total
properties:
circles:
description: Contains information about a list of Circles.
type: array
items:
type: object
properties:
id:
type: string
description: The unique identifier for the circle.
name:
type: string
description: The name of the circle.
total:
type: integer
description: The total number of circles.
'4xx':
description: Unexpected error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
securitySchemes:
ApiKey:
type: apiKey
name: X-API-KEY
in: header
schemas:
Document:
type: object
required:
- id
- file_name
- file_url
- file_remote_id
- file_download_url
properties:
id:
type: string
description: The unique identifier for the document.
file_name:
type: string
description: The name of the document.
file_url:
type: string
description: The private url of the document.
file_remote_id:
type: string
description: The remote id of the document.
file_download_url:
type: string
description: The download url of the document. Using for downloading the document. Expire in 30 mins.
User:
type: object
required:
- email
- id
- name
properties:
id:
type: string
email:
type: string
name:
type: string
DocumentDTO:
type: object
required:
- file_name
properties:
file_url:
type: string
description: The url of the file, which will be uploaded. This endpoint requires either file or file_url, but not both.
file:
type: string
format: binary
description: The file, which will be uploaded. This endpoint requires either file or file_url, but not both.
file_name:
type: string
minLength: 1
maxLength: 255
description: The name of the file.
circle_id:
type: string
description: The id of the circle that the document belongs to. If not provided, the document will be uploaded to the user's last access circle.
example:
file_url: https://lumin-assets-production.s3.us-east-1.amazonaws.com/api-demo/Direct+Debit+form.pdf
file_name: Direct Debit Form
circle_id: null
Error:
type: object
required:
- error_code
- error_message
properties:
error_code:
type: string
error_message:
type: string