-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflowdock-scim-api-openapi.yml
More file actions
161 lines (160 loc) · 4.69 KB
/
flowdock-scim-api-openapi.yml
File metadata and controls
161 lines (160 loc) · 4.69 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
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
openapi: 3.0.3
info:
title: Flowdock SCIM Provisioning API
version: "1.0"
x-status: discontinued
x-shutdown-date: "2023-08-15"
description: |
Partial SCIM (System for Cross-Domain Identity Management) provisioning
API for CA Flowdock Enterprise customers with Single Sign-On configured.
Used by IdP-side provisioning connectors to create, read, update, and
deactivate SSO-linked user accounts in a Flowdock organization.
Discontinued with the rest of Flowdock on August 15, 2023.
Reconstructed from https://github.com/flowdock/api-docs/blob/master/docs/scim.md.
servers:
- url: https://api.flowdock.com
description: Historical production base URL (offline since 2023-08-15)
security:
- bearerAuth: []
tags:
- name: SCIM
description: SCIM 1.x user provisioning for SSO-enabled Flowdock organizations.
paths:
/scim/{uid}:
get:
tags: [SCIM]
summary: Verify SCIM Authorization
operationId: scimRoot
parameters:
- $ref: "#/components/parameters/Uid"
responses:
"200":
description: Authorization OK.
content:
application/json:
schema:
type: object
properties:
message: { type: string }
"401": { description: Missing authorization header. }
"403": { description: Invalid or wrong-token authorization header. }
"429": { description: Rate-limited; retry later. }
/scim/{uid}/Users:
get:
tags: [SCIM]
summary: List SCIM Users
operationId: scimListUsers
parameters:
- $ref: "#/components/parameters/Uid"
responses:
"200":
description: SCIM Users collection.
content:
application/json:
schema:
type: object
properties:
Resources:
type: array
items: { $ref: "#/components/schemas/ScimUser" }
post:
tags: [SCIM]
summary: Provision SCIM User
operationId: scimCreateUser
parameters:
- $ref: "#/components/parameters/Uid"
requestBody:
required: true
content:
application/json:
schema: { $ref: "#/components/schemas/ScimUser" }
responses:
"201":
description: User provisioned.
content:
application/json:
schema: { $ref: "#/components/schemas/ScimUser" }
/scim/{uid}/Users/{id}:
get:
tags: [SCIM]
summary: Get SCIM User
operationId: scimGetUser
parameters:
- $ref: "#/components/parameters/Uid"
- name: id
in: path
required: true
schema: { type: integer }
responses:
"200":
description: User resource.
content:
application/json:
schema: { $ref: "#/components/schemas/ScimUser" }
put:
tags: [SCIM]
summary: Update SCIM User
operationId: scimUpdateUser
parameters:
- $ref: "#/components/parameters/Uid"
- name: id
in: path
required: true
schema: { type: integer }
requestBody:
required: true
content:
application/json:
schema: { $ref: "#/components/schemas/ScimUser" }
responses:
"200": { description: User updated. }
delete:
tags: [SCIM]
summary: Deactivate SCIM User
operationId: scimDeleteUser
parameters:
- $ref: "#/components/parameters/Uid"
- name: id
in: path
required: true
schema: { type: integer }
responses:
"204": { description: User deactivated. }
components:
parameters:
Uid:
name: uid
in: path
required: true
description: SSO organization UID issued during SSO setup.
schema: { type: string }
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: SCIM bearer token issued during SSO setup.
schemas:
ScimUser:
type: object
properties:
id: { type: integer }
externalId: { type: string }
userName: { type: string, format: email }
nickName: { type: string }
name:
type: object
properties:
givenName: { type: string }
familyName: { type: string }
emails:
type: array
items:
type: object
properties:
value: { type: string, format: email }
meta:
type: object
properties:
location: { type: string, format: uri }
created: { type: string, format: date-time }
lastModified: { type: string, format: date-time }