picked 0.0.101 → 0.0.102-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/reference/dashboard/workflow-test-runs.md +40 -17
- package/docs/reference/management-api/schema/action.md +67 -79
- package/docs/reference/management-api/schema/analytics-session.md +77 -94
- package/docs/reference/management-api/schema/analytics.md +16 -14
- package/docs/reference/management-api/schema/api-key.md +43 -51
- package/docs/reference/management-api/schema/auth.md +271 -404
- package/docs/reference/management-api/schema/cms-fields.md +348 -245
- package/docs/reference/management-api/schema/cms-models.md +369 -378
- package/docs/reference/management-api/schema/common.md +69 -130
- package/docs/reference/management-api/schema/condition.md +63 -74
- package/docs/reference/management-api/schema/design-system.md +59 -51
- package/docs/reference/management-api/schema/experience.md +388 -364
- package/docs/reference/management-api/schema/external-api.md +153 -171
- package/docs/reference/management-api/schema/feature.md +85 -103
- package/docs/reference/management-api/schema/feedback.md +27 -31
- package/docs/reference/management-api/schema/field.md +117 -135
- package/docs/reference/management-api/schema/index.md +184 -184
- package/docs/reference/management-api/schema/integration.md +72 -78
- package/docs/reference/management-api/schema/label.md +81 -137
- package/docs/reference/management-api/schema/lead.md +80 -119
- package/docs/reference/management-api/schema/mcp-server.md +73 -71
- package/docs/reference/management-api/schema/metric.md +6 -9
- package/docs/reference/management-api/schema/operation.md +17 -26
- package/docs/reference/management-api/schema/organization.md +198 -220
- package/docs/reference/management-api/schema/project.md +177 -186
- package/docs/reference/management-api/schema/report.md +69 -65
- package/docs/reference/management-api/schema/saved-view.md +71 -71
- package/docs/reference/management-api/schema/shopify.md +331 -204
- package/docs/reference/management-api/schema/step.md +72 -80
- package/docs/reference/management-api/schema/tenant-branding.md +48 -70
- package/docs/reference/management-api/schema/workbench.md +54 -66
- package/docs/reference/management-api/schema/workflow-run.md +66 -79
- package/docs/reference/management-api/schema/workflow.md +310 -353
- package/docs/reference/management-api/schema/workspace-version.md +212 -261
- package/docs/reference/management-api/schema/workspace.md +275 -328
- package/package.json +4 -4
|
@@ -6,13 +6,14 @@ generated: true
|
|
|
6
6
|
|
|
7
7
|
# Organization schema
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
See [Management API schema](/reference/management-api/schema) for every domain, the endpoint and authentication.
|
|
10
10
|
|
|
11
11
|
## Queries
|
|
12
12
|
|
|
13
13
|
### `organization`
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Reads an organisation by ID or slug. Null when no organisation matches.
|
|
16
|
+
Scope: `ORGANIZATION_READ`.
|
|
16
17
|
|
|
17
18
|
```graphql
|
|
18
19
|
organization(input: OrganizationInput!): Organization @auth
|
|
@@ -20,7 +21,8 @@ organization(input: OrganizationInput!): Organization @auth
|
|
|
20
21
|
|
|
21
22
|
### `organizations`
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
Lists the organisations the user belongs to. `search` matches a case-insensitive substring of
|
|
25
|
+
the name. Empty for an API key.
|
|
24
26
|
|
|
25
27
|
```graphql
|
|
26
28
|
organizations(first: Int, after: String, search: String, sortKey: OrganizationSortKeys = NAME, reverse: Boolean = false): OrganizationConnection! @auth
|
|
@@ -30,7 +32,8 @@ organizations(first: Int, after: String, search: String, sortKey: OrganizationSo
|
|
|
30
32
|
|
|
31
33
|
### `organizationCreate`
|
|
32
34
|
|
|
33
|
-
|
|
35
|
+
Creates an organisation owned by the calling user.
|
|
36
|
+
Scope: `ORGANIZATION_CREATE`.
|
|
34
37
|
|
|
35
38
|
```graphql
|
|
36
39
|
organizationCreate(input: OrganizationCreateInput!): OrganizationCreatePayload! @auth
|
|
@@ -38,7 +41,8 @@ organizationCreate(input: OrganizationCreateInput!): OrganizationCreatePayload!
|
|
|
38
41
|
|
|
39
42
|
### `organizationUpdate`
|
|
40
43
|
|
|
41
|
-
|
|
44
|
+
Updates an organisation.
|
|
45
|
+
Scope: `ORGANIZATION_UPDATE`.
|
|
42
46
|
|
|
43
47
|
```graphql
|
|
44
48
|
organizationUpdate(input: OrganizationUpdateInput!): OrganizationUpdatePayload! @auth
|
|
@@ -46,7 +50,8 @@ organizationUpdate(input: OrganizationUpdateInput!): OrganizationUpdatePayload!
|
|
|
46
50
|
|
|
47
51
|
### `organizationDelete`
|
|
48
52
|
|
|
49
|
-
|
|
53
|
+
Deletes an organisation.
|
|
54
|
+
Scope: `ORGANIZATION_DELETE`.
|
|
50
55
|
|
|
51
56
|
```graphql
|
|
52
57
|
organizationDelete(input: OrganizationDeleteInput!): OrganizationDeletePayload! @auth
|
|
@@ -54,7 +59,9 @@ organizationDelete(input: OrganizationDeleteInput!): OrganizationDeletePayload!
|
|
|
54
59
|
|
|
55
60
|
### `organizationMemberInvite`
|
|
56
61
|
|
|
57
|
-
|
|
62
|
+
Invites an email address to an organisation and emails the invitee. `delivery` says which
|
|
63
|
+
email went out.
|
|
64
|
+
Scope: `ORGANIZATION_INVITATIONS_CREATE`.
|
|
58
65
|
|
|
59
66
|
```graphql
|
|
60
67
|
organizationMemberInvite(input: OrganizationMemberInviteInput!): OrganizationMemberInvitePayload! @auth
|
|
@@ -62,7 +69,8 @@ organizationMemberInvite(input: OrganizationMemberInviteInput!): OrganizationMem
|
|
|
62
69
|
|
|
63
70
|
### `organizationInvitationAccept`
|
|
64
71
|
|
|
65
|
-
|
|
72
|
+
Accepts an invitation, making the calling user a member with the scopes it carries. The
|
|
73
|
+
invitation is used up. An unknown or expired token, or an existing membership, fails.
|
|
66
74
|
|
|
67
75
|
```graphql
|
|
68
76
|
organizationInvitationAccept(input: OrganizationInvitationAcceptInput!): OrganizationInvitationAcceptPayload! @auth
|
|
@@ -70,7 +78,7 @@ organizationInvitationAccept(input: OrganizationInvitationAcceptInput!): Organiz
|
|
|
70
78
|
|
|
71
79
|
### `organizationInvitationDecline`
|
|
72
80
|
|
|
73
|
-
|
|
81
|
+
Declines an invitation addressed to the calling user's email address and deletes it.
|
|
74
82
|
|
|
75
83
|
```graphql
|
|
76
84
|
organizationInvitationDecline(input: OrganizationInvitationDeclineInput!): OrganizationInvitationDeclinePayload! @auth
|
|
@@ -78,7 +86,8 @@ organizationInvitationDecline(input: OrganizationInvitationDeclineInput!): Organ
|
|
|
78
86
|
|
|
79
87
|
### `organizationInvitationRevoke`
|
|
80
88
|
|
|
81
|
-
|
|
89
|
+
Revokes a pending invitation, so its token stops working.
|
|
90
|
+
Scope: `ORGANIZATION_INVITATIONS_DELETE`.
|
|
82
91
|
|
|
83
92
|
```graphql
|
|
84
93
|
organizationInvitationRevoke(input: OrganizationInvitationRevokeInput!): OrganizationInvitationRevokePayload! @auth
|
|
@@ -86,7 +95,9 @@ organizationInvitationRevoke(input: OrganizationInvitationRevokeInput!): Organiz
|
|
|
86
95
|
|
|
87
96
|
### `organizationMemberRemove`
|
|
88
97
|
|
|
89
|
-
|
|
98
|
+
Removes a member from an organisation, with every scope they held there. The primary owner
|
|
99
|
+
cannot be removed.
|
|
100
|
+
Scope: `ORGANIZATION_MEMBERS_DELETE`.
|
|
90
101
|
|
|
91
102
|
```graphql
|
|
92
103
|
organizationMemberRemove(input: OrganizationMemberRemoveInput!): OrganizationMemberRemovePayload! @auth
|
|
@@ -94,10 +105,10 @@ organizationMemberRemove(input: OrganizationMemberRemoveInput!): OrganizationMem
|
|
|
94
105
|
|
|
95
106
|
### `organizationMemberScopesUpdate`
|
|
96
107
|
|
|
97
|
-
|
|
98
|
-
`ORGANIZATION_MEMBERS_MANAGE_SCOPES`
|
|
99
|
-
|
|
100
|
-
|
|
108
|
+
Sets the scopes a member holds in an organisation. The caller cannot edit their own scopes,
|
|
109
|
+
grant a scope they do not hold, or take `ORGANIZATION_MEMBERS_MANAGE_SCOPES` from the primary
|
|
110
|
+
owner.
|
|
111
|
+
Scope: `ORGANIZATION_MEMBERS_MANAGE_SCOPES`.
|
|
101
112
|
|
|
102
113
|
```graphql
|
|
103
114
|
organizationMemberScopesUpdate(input: OrganizationMemberScopesUpdateInput!): OrganizationMemberScopesUpdatePayload! @auth
|
|
@@ -105,11 +116,9 @@ organizationMemberScopesUpdate(input: OrganizationMemberScopesUpdateInput!): Org
|
|
|
105
116
|
|
|
106
117
|
### `organizationClientManagerScopesUpdate`
|
|
107
118
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
remove only scopes their own client-manager grant in that organisation
|
|
112
|
-
carries; a super admin may set any.
|
|
119
|
+
Sets the scopes a client manager holds in one organisation. The caller cannot edit their own
|
|
120
|
+
scopes, and a client manager can add or remove only scopes they hold there themselves.
|
|
121
|
+
Scope: `STAFF_INVITE_CLIENT_MANAGER`.
|
|
113
122
|
|
|
114
123
|
```graphql
|
|
115
124
|
organizationClientManagerScopesUpdate(input: OrganizationClientManagerScopesUpdateInput!): OrganizationClientManagerScopesUpdatePayload! @auth
|
|
@@ -121,19 +130,14 @@ organizationClientManagerScopesUpdate(input: OrganizationClientManagerScopesUpda
|
|
|
121
130
|
|
|
122
131
|
```graphql
|
|
123
132
|
"""
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
Pair with `reverse: true` to flip the order (e.g. `NAME` + `reverse: false`
|
|
127
|
-
sorts A→Z; `CREATED_AT` + `reverse: true` sorts newest-first).
|
|
133
|
+
The orders an organisation list can take. `reverse: true` flips the order.
|
|
128
134
|
"""
|
|
129
135
|
enum OrganizationSortKeys {
|
|
130
|
-
"""
|
|
136
|
+
"""By name, A to Z."""
|
|
131
137
|
NAME
|
|
132
|
-
"""
|
|
138
|
+
"""By creation time, oldest first."""
|
|
133
139
|
CREATED_AT
|
|
134
|
-
"""
|
|
135
|
-
Sort by `updatedAt`. Pair with `reverse: true` for most-recently-changed first.
|
|
136
|
-
"""
|
|
140
|
+
"""By last change, oldest first."""
|
|
137
141
|
UPDATED_AT
|
|
138
142
|
}
|
|
139
143
|
```
|
|
@@ -142,19 +146,13 @@ enum OrganizationSortKeys {
|
|
|
142
146
|
|
|
143
147
|
```graphql
|
|
144
148
|
"""
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
now single-use with a 30-day expiry.
|
|
148
|
-
|
|
149
|
-
WARNING: This enum is retained for backwards compatibility with the
|
|
150
|
-
deprecated `invitationType` argument on `organizationMemberInvite` and
|
|
151
|
-
the deprecated `OrganizationInvitation.invitationType` field. Do not
|
|
152
|
-
branch on it in new code.
|
|
149
|
+
The kind of an invitation. Every invitation is single-use and expires 30 days after it is
|
|
150
|
+
created.
|
|
153
151
|
"""
|
|
154
152
|
enum InvitationType {
|
|
155
|
-
"""Single-use
|
|
153
|
+
"""Single-use, expiring after 30 days."""
|
|
156
154
|
ONE_TIME @deprecated(reason: "All invitations are now single-use with 30-day expiration")
|
|
157
|
-
"""
|
|
155
|
+
"""Multi-use, expiring after 24 hours. Not issued."""
|
|
158
156
|
TWENTY_FOUR_HOUR @deprecated(reason: "All invitations are now single-use with 30-day expiration")
|
|
159
157
|
}
|
|
160
158
|
```
|
|
@@ -163,52 +161,51 @@ enum InvitationType {
|
|
|
163
161
|
|
|
164
162
|
```graphql
|
|
165
163
|
"""
|
|
166
|
-
|
|
167
|
-
integrations, and members.
|
|
168
|
-
|
|
169
|
-
Every project, API key, and integration belongs to exactly one
|
|
170
|
-
organisation. The set of scopes the current viewer holds in this
|
|
171
|
-
organisation is available on `viewerScopes`; use it to drive
|
|
172
|
-
client-side UX (which buttons to show, which actions to gate).
|
|
164
|
+
The top level of Picked. It holds your projects, members, API keys and integrations.
|
|
173
165
|
"""
|
|
174
166
|
type Organization {
|
|
175
|
-
"""
|
|
167
|
+
"""The ID of the organisation."""
|
|
176
168
|
id: ID!
|
|
177
|
-
"""
|
|
169
|
+
"""The name of the organisation."""
|
|
178
170
|
name: String!
|
|
179
171
|
"""
|
|
180
|
-
|
|
172
|
+
The unique handle of the organisation in dashboard URLs. Null when it has none.
|
|
181
173
|
"""
|
|
182
174
|
slug: String
|
|
183
|
-
"""When
|
|
175
|
+
"""When the organisation was created."""
|
|
184
176
|
createdAt: DateTime!
|
|
185
|
-
"""When
|
|
177
|
+
"""When the organisation last changed."""
|
|
186
178
|
updatedAt: DateTime!
|
|
187
179
|
"""
|
|
188
|
-
Whether every member must hold an `AAL2` session. A member of an organisation
|
|
189
|
-
|
|
190
|
-
organisation the request names.
|
|
180
|
+
Whether every member must hold an `AAL2` session. A member of such an organisation is held to
|
|
181
|
+
it on every request, whichever organisation the request names.
|
|
191
182
|
"""
|
|
192
183
|
requireMfa: Boolean!
|
|
193
|
-
"""
|
|
184
|
+
"""
|
|
185
|
+
The members of the organisation. Picked staff are not listed.
|
|
186
|
+
Scope: `ORGANIZATION_MEMBERS_READ`.
|
|
187
|
+
"""
|
|
194
188
|
members(first: Int, after: String): OrganizationMemberConnection!
|
|
195
|
-
"""
|
|
189
|
+
"""
|
|
190
|
+
The unexpired invitations of the organisation, newest first.
|
|
191
|
+
Scope: `ORGANIZATION_INVITATIONS_READ`.
|
|
192
|
+
"""
|
|
196
193
|
invitations(first: Int, after: String): OrganizationInvitationConnection!
|
|
197
194
|
"""
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
`reverse`.
|
|
195
|
+
The projects in the organisation. `search` matches a case-insensitive substring of the name.
|
|
196
|
+
Scope: `ORGANIZATION_PROJECTS_READ`.
|
|
201
197
|
"""
|
|
202
198
|
projects(first: Int, after: String, search: String, sortKey: ProjectSortKeys = NAME, reverse: Boolean = false): ProjectConnection!
|
|
203
|
-
"""API keys for this organisation."""
|
|
204
|
-
apiKeys(first: Int, after: String): ApiKeyConnection!
|
|
205
199
|
"""
|
|
206
|
-
|
|
200
|
+
The API keys of the organisation.
|
|
201
|
+
Scope: `ORGANIZATION_API_KEYS_READ`.
|
|
207
202
|
"""
|
|
203
|
+
apiKeys(first: Int, after: String): ApiKeyConnection!
|
|
204
|
+
"""The scopes the viewer holds in the organisation."""
|
|
208
205
|
viewerScopes: [Scope!]!
|
|
209
206
|
"""
|
|
210
|
-
Every client manager, with the scopes
|
|
211
|
-
|
|
207
|
+
Every client manager, with the scopes they hold in the organisation. Empty unless the viewer
|
|
208
|
+
holds `STAFF_READ`.
|
|
212
209
|
"""
|
|
213
210
|
clientManagerAccess: [OrganizationClientManagerAccess!]!
|
|
214
211
|
}
|
|
@@ -217,34 +214,23 @@ type Organization {
|
|
|
217
214
|
### `OrganizationMember`
|
|
218
215
|
|
|
219
216
|
```graphql
|
|
220
|
-
"""
|
|
221
|
-
A user's membership in an organisation. Carries the user's identifying
|
|
222
|
-
fields denormalised from `auth.users`, plus the role and `joinedAt`
|
|
223
|
-
timestamp.
|
|
224
|
-
|
|
225
|
-
Member-level operations (`organizationMemberScopesUpdate`,
|
|
226
|
-
`organizationMemberRemove`) require the corresponding scope on the
|
|
227
|
-
parent organisation.
|
|
228
|
-
"""
|
|
217
|
+
"""A person in an organisation."""
|
|
229
218
|
type OrganizationMember {
|
|
230
|
-
"""
|
|
219
|
+
"""The ID of the member's user."""
|
|
231
220
|
id: ID!
|
|
232
|
-
"""
|
|
221
|
+
"""The email address of the member. Null when unknown."""
|
|
233
222
|
userEmail: String
|
|
234
|
-
"""
|
|
223
|
+
"""The first name of the member. Null when unknown."""
|
|
235
224
|
userFirstName: String
|
|
236
|
-
"""
|
|
225
|
+
"""The last name of the member. Null when unknown."""
|
|
237
226
|
userLastName: String
|
|
238
|
-
"""
|
|
227
|
+
"""The time of the request. The join time is not recorded."""
|
|
239
228
|
joinedAt: DateTime!
|
|
240
|
-
"""
|
|
241
|
-
Whether this member holds a verified MFA factor. Resolved for the whole page in one batched lookup.
|
|
242
|
-
"""
|
|
229
|
+
"""Whether the member has a verified MFA factor."""
|
|
243
230
|
mfaState: MfaState!
|
|
244
231
|
"""
|
|
245
|
-
The
|
|
246
|
-
|
|
247
|
-
reaching this organisation.
|
|
232
|
+
The scopes the member holds in the organisation, one entry per location. Empty unless the
|
|
233
|
+
viewer holds `ORGANIZATION_MEMBERS_MANAGE_SCOPES` in the organisation.
|
|
248
234
|
"""
|
|
249
235
|
scopeGrants: [MemberScopeGrant!]!
|
|
250
236
|
}
|
|
@@ -253,11 +239,13 @@ type OrganizationMember {
|
|
|
253
239
|
### `MemberScopeGrant`
|
|
254
240
|
|
|
255
241
|
```graphql
|
|
256
|
-
"""
|
|
242
|
+
"""The scopes a member holds at one location in an organisation."""
|
|
257
243
|
type MemberScopeGrant {
|
|
258
|
-
"""
|
|
244
|
+
"""
|
|
245
|
+
The ID of the project the scopes apply to. Null for the organisation itself.
|
|
246
|
+
"""
|
|
259
247
|
projectId: ID
|
|
260
|
-
"""The scopes held at
|
|
248
|
+
"""The scopes held at the location."""
|
|
261
249
|
scopes: [Scope!]!
|
|
262
250
|
}
|
|
263
251
|
```
|
|
@@ -266,15 +254,14 @@ type MemberScopeGrant {
|
|
|
266
254
|
|
|
267
255
|
```graphql
|
|
268
256
|
"""
|
|
269
|
-
A client manager and the scopes they hold in one organisation, on top of the
|
|
270
|
-
|
|
257
|
+
A client manager and the scopes they hold in one organisation, on top of the root grant that
|
|
258
|
+
reaches every organisation.
|
|
271
259
|
"""
|
|
272
260
|
type OrganizationClientManagerAccess {
|
|
273
261
|
"""The client manager."""
|
|
274
262
|
user: AdminUser!
|
|
275
263
|
"""
|
|
276
|
-
The scopes
|
|
277
|
-
when they hold none here.
|
|
264
|
+
The scopes the client manager holds in the organisation. Empty when they hold none.
|
|
278
265
|
"""
|
|
279
266
|
scopes: [Scope!]!
|
|
280
267
|
}
|
|
@@ -283,11 +270,11 @@ type OrganizationClientManagerAccess {
|
|
|
283
270
|
### `OrganizationMemberEdge`
|
|
284
271
|
|
|
285
272
|
```graphql
|
|
286
|
-
"""
|
|
273
|
+
"""A member in a page of results."""
|
|
287
274
|
type OrganizationMemberEdge {
|
|
288
|
-
"""
|
|
275
|
+
"""The cursor of this edge."""
|
|
289
276
|
cursor: String!
|
|
290
|
-
"""The
|
|
277
|
+
"""The member."""
|
|
291
278
|
node: OrganizationMember!
|
|
292
279
|
}
|
|
293
280
|
```
|
|
@@ -295,13 +282,13 @@ type OrganizationMemberEdge {
|
|
|
295
282
|
### `OrganizationMemberConnection`
|
|
296
283
|
|
|
297
284
|
```graphql
|
|
298
|
-
"""
|
|
285
|
+
"""A page of organisation members."""
|
|
299
286
|
type OrganizationMemberConnection {
|
|
300
|
-
"""
|
|
287
|
+
"""The edges in this page."""
|
|
301
288
|
edges: [OrganizationMemberEdge!]!
|
|
302
|
-
"""
|
|
289
|
+
"""Where this page sits in the list."""
|
|
303
290
|
pageInfo: PageInfo!
|
|
304
|
-
"""
|
|
291
|
+
"""The total number of members."""
|
|
305
292
|
totalCount: Int!
|
|
306
293
|
}
|
|
307
294
|
```
|
|
@@ -310,27 +297,19 @@ type OrganizationMemberConnection {
|
|
|
310
297
|
|
|
311
298
|
```graphql
|
|
312
299
|
"""
|
|
313
|
-
An
|
|
314
|
-
|
|
315
|
-
declined via `organizationInvitationDecline`, and revoked by the inviter
|
|
316
|
-
via `organizationInvitationRevoke`.
|
|
317
|
-
|
|
318
|
-
Invitations expire 30 days after creation (server-enforced; see
|
|
319
|
-
`expiresAt`). Once accepted, the row remains for audit but cannot be
|
|
320
|
-
re-accepted.
|
|
300
|
+
An offer to join an organisation, sent to an email address. It is single-use, expires 30 days
|
|
301
|
+
after it is created, and is removed once accepted, declined or revoked.
|
|
321
302
|
"""
|
|
322
303
|
type OrganizationInvitation {
|
|
323
|
-
"""
|
|
304
|
+
"""The ID of the invitation."""
|
|
324
305
|
id: ID!
|
|
325
|
-
"""
|
|
326
|
-
Invitation type — retained for backwards compatibility. All invitations are now single-use.
|
|
327
|
-
"""
|
|
306
|
+
"""Always `ONE_TIME`."""
|
|
328
307
|
invitationType: InvitationType! @deprecated(reason: "All invitations are now single-use. This field will be removed.")
|
|
329
|
-
"""When
|
|
308
|
+
"""When the invitation was created."""
|
|
330
309
|
createdAt: DateTime!
|
|
331
|
-
"""When
|
|
310
|
+
"""When the invitation expires."""
|
|
332
311
|
expiresAt: DateTime!
|
|
333
|
-
"""
|
|
312
|
+
"""The email address the invitation was sent to."""
|
|
334
313
|
userEmail: String
|
|
335
314
|
}
|
|
336
315
|
```
|
|
@@ -338,11 +317,11 @@ type OrganizationInvitation {
|
|
|
338
317
|
### `OrganizationInvitationEdge`
|
|
339
318
|
|
|
340
319
|
```graphql
|
|
341
|
-
"""
|
|
320
|
+
"""An invitation in a page of results."""
|
|
342
321
|
type OrganizationInvitationEdge {
|
|
343
|
-
"""
|
|
322
|
+
"""The cursor of this edge."""
|
|
344
323
|
cursor: String!
|
|
345
|
-
"""The
|
|
324
|
+
"""The invitation."""
|
|
346
325
|
node: OrganizationInvitation!
|
|
347
326
|
}
|
|
348
327
|
```
|
|
@@ -350,13 +329,13 @@ type OrganizationInvitationEdge {
|
|
|
350
329
|
### `OrganizationInvitationConnection`
|
|
351
330
|
|
|
352
331
|
```graphql
|
|
353
|
-
"""
|
|
332
|
+
"""A page of organisation invitations."""
|
|
354
333
|
type OrganizationInvitationConnection {
|
|
355
|
-
"""
|
|
334
|
+
"""The edges in this page."""
|
|
356
335
|
edges: [OrganizationInvitationEdge!]!
|
|
357
|
-
"""
|
|
336
|
+
"""Where this page sits in the list."""
|
|
358
337
|
pageInfo: PageInfo!
|
|
359
|
-
"""
|
|
338
|
+
"""The total number of unexpired invitations."""
|
|
360
339
|
totalCount: Int!
|
|
361
340
|
}
|
|
362
341
|
```
|
|
@@ -365,25 +344,19 @@ type OrganizationInvitationConnection {
|
|
|
365
344
|
|
|
366
345
|
```graphql
|
|
367
346
|
"""
|
|
368
|
-
An invitation addressed to the
|
|
369
|
-
|
|
370
|
-
render a "Join <Org>" CTA without an extra fetch) plus the `token` the
|
|
371
|
-
client passes to `organizationInvitationAccept` /
|
|
372
|
-
`organizationInvitationDecline`.
|
|
373
|
-
|
|
374
|
-
WARNING: `token` is sensitive — it grants the bearer the right to join
|
|
375
|
-
the organisation. Treat it like a one-time secret.
|
|
347
|
+
An invitation addressed to the viewer's email address. Its `token` lets the bearer join the
|
|
348
|
+
organisation, so treat it as a secret.
|
|
376
349
|
"""
|
|
377
350
|
type ViewerInvitation {
|
|
378
|
-
"""
|
|
351
|
+
"""The ID of the invitation."""
|
|
379
352
|
id: ID!
|
|
380
|
-
"""
|
|
353
|
+
"""The token that accepts or declines the invitation."""
|
|
381
354
|
token: String!
|
|
382
|
-
"""
|
|
355
|
+
"""The name of the inviting organisation."""
|
|
383
356
|
organizationName: String!
|
|
384
|
-
"""When
|
|
357
|
+
"""When the invitation was created."""
|
|
385
358
|
createdAt: DateTime!
|
|
386
|
-
"""When
|
|
359
|
+
"""When the invitation expires."""
|
|
387
360
|
expiresAt: DateTime!
|
|
388
361
|
}
|
|
389
362
|
```
|
|
@@ -391,11 +364,11 @@ type ViewerInvitation {
|
|
|
391
364
|
### `ViewerInvitationEdge`
|
|
392
365
|
|
|
393
366
|
```graphql
|
|
394
|
-
"""
|
|
367
|
+
"""An invitation in a page of results."""
|
|
395
368
|
type ViewerInvitationEdge {
|
|
396
|
-
"""
|
|
369
|
+
"""The cursor of this edge."""
|
|
397
370
|
cursor: String!
|
|
398
|
-
"""The
|
|
371
|
+
"""The invitation."""
|
|
399
372
|
node: ViewerInvitation!
|
|
400
373
|
}
|
|
401
374
|
```
|
|
@@ -403,13 +376,13 @@ type ViewerInvitationEdge {
|
|
|
403
376
|
### `ViewerInvitationConnection`
|
|
404
377
|
|
|
405
378
|
```graphql
|
|
406
|
-
"""
|
|
379
|
+
"""A page of the viewer's invitations."""
|
|
407
380
|
type ViewerInvitationConnection {
|
|
408
|
-
"""
|
|
381
|
+
"""The edges in this page."""
|
|
409
382
|
edges: [ViewerInvitationEdge!]!
|
|
410
|
-
"""
|
|
383
|
+
"""Where this page sits in the list."""
|
|
411
384
|
pageInfo: PageInfo!
|
|
412
|
-
"""
|
|
385
|
+
"""The total number of invitations."""
|
|
413
386
|
totalCount: Int!
|
|
414
387
|
}
|
|
415
388
|
```
|
|
@@ -417,9 +390,9 @@ type ViewerInvitationConnection {
|
|
|
417
390
|
### `OrganizationEdge`
|
|
418
391
|
|
|
419
392
|
```graphql
|
|
420
|
-
"""
|
|
393
|
+
"""An organisation in a page of results."""
|
|
421
394
|
type OrganizationEdge {
|
|
422
|
-
"""
|
|
395
|
+
"""The cursor of this edge."""
|
|
423
396
|
cursor: String!
|
|
424
397
|
"""The organisation."""
|
|
425
398
|
node: Organization!
|
|
@@ -429,13 +402,13 @@ type OrganizationEdge {
|
|
|
429
402
|
### `OrganizationConnection`
|
|
430
403
|
|
|
431
404
|
```graphql
|
|
432
|
-
"""
|
|
405
|
+
"""A page of organisations."""
|
|
433
406
|
type OrganizationConnection {
|
|
434
|
-
"""
|
|
407
|
+
"""The edges in this page."""
|
|
435
408
|
edges: [OrganizationEdge!]!
|
|
436
|
-
"""
|
|
409
|
+
"""Where this page sits in the list."""
|
|
437
410
|
pageInfo: PageInfo!
|
|
438
|
-
"""
|
|
411
|
+
"""The total number of organisations."""
|
|
439
412
|
totalCount: Int!
|
|
440
413
|
}
|
|
441
414
|
```
|
|
@@ -444,12 +417,12 @@ type OrganizationConnection {
|
|
|
444
417
|
|
|
445
418
|
```graphql
|
|
446
419
|
"""
|
|
447
|
-
|
|
420
|
+
The input of `organization`. Give `id` or `slug`; `id` wins when both are given.
|
|
448
421
|
"""
|
|
449
422
|
input OrganizationInput {
|
|
450
|
-
"""
|
|
423
|
+
"""The ID of the organisation."""
|
|
451
424
|
id: ID
|
|
452
|
-
"""
|
|
425
|
+
"""The slug of the organisation."""
|
|
453
426
|
slug: String
|
|
454
427
|
}
|
|
455
428
|
```
|
|
@@ -457,12 +430,13 @@ input OrganizationInput {
|
|
|
457
430
|
### `OrganizationCreateInput`
|
|
458
431
|
|
|
459
432
|
```graphql
|
|
460
|
-
"""
|
|
433
|
+
"""The input of `organizationCreate`."""
|
|
461
434
|
input OrganizationCreateInput {
|
|
462
|
-
"""
|
|
435
|
+
"""The name of the organisation."""
|
|
463
436
|
name: String!
|
|
464
437
|
"""
|
|
465
|
-
|
|
438
|
+
The slug of the organisation: lowercase letters, numbers and hyphens, unique across Picked. A
|
|
439
|
+
few words that name dashboard pages, such as `account` and `login`, are reserved.
|
|
466
440
|
"""
|
|
467
441
|
slug: String!
|
|
468
442
|
}
|
|
@@ -471,9 +445,9 @@ input OrganizationCreateInput {
|
|
|
471
445
|
### `OrganizationCreatePayload`
|
|
472
446
|
|
|
473
447
|
```graphql
|
|
474
|
-
"""
|
|
448
|
+
"""The result of `organizationCreate`."""
|
|
475
449
|
type OrganizationCreatePayload {
|
|
476
|
-
"""The
|
|
450
|
+
"""The created organisation."""
|
|
477
451
|
organization: Organization
|
|
478
452
|
}
|
|
479
453
|
```
|
|
@@ -481,18 +455,17 @@ type OrganizationCreatePayload {
|
|
|
481
455
|
### `OrganizationUpdateInput`
|
|
482
456
|
|
|
483
457
|
```graphql
|
|
484
|
-
"""
|
|
458
|
+
"""The input of `organizationUpdate`. Omit a field to keep its value."""
|
|
485
459
|
input OrganizationUpdateInput {
|
|
486
|
-
"""ID of the organisation
|
|
460
|
+
"""The ID of the organisation."""
|
|
487
461
|
id: ID!
|
|
488
|
-
"""
|
|
462
|
+
"""The name of the organisation."""
|
|
489
463
|
name: String
|
|
490
|
-
"""
|
|
464
|
+
"""The slug of the organisation, under the same rules as on create."""
|
|
491
465
|
slug: String
|
|
492
466
|
"""
|
|
493
|
-
Whether every member must hold an `AAL2` session.
|
|
494
|
-
|
|
495
|
-
refused with `MFA_REQUIRED`) and revokes every member's OAuth-client sessions.
|
|
467
|
+
Whether every member must hold an `AAL2` session. Turning it on needs the caller's own session
|
|
468
|
+
at `AAL2`, else fails with `MFA_REQUIRED`, and signs every member out of their OAuth clients.
|
|
496
469
|
"""
|
|
497
470
|
requireMfa: Boolean
|
|
498
471
|
}
|
|
@@ -501,7 +474,7 @@ input OrganizationUpdateInput {
|
|
|
501
474
|
### `OrganizationUpdatePayload`
|
|
502
475
|
|
|
503
476
|
```graphql
|
|
504
|
-
"""
|
|
477
|
+
"""The result of `organizationUpdate`."""
|
|
505
478
|
type OrganizationUpdatePayload {
|
|
506
479
|
"""The updated organisation."""
|
|
507
480
|
organization: Organization
|
|
@@ -511,9 +484,9 @@ type OrganizationUpdatePayload {
|
|
|
511
484
|
### `OrganizationDeleteInput`
|
|
512
485
|
|
|
513
486
|
```graphql
|
|
514
|
-
"""
|
|
487
|
+
"""The input of `organizationDelete`."""
|
|
515
488
|
input OrganizationDeleteInput {
|
|
516
|
-
"""ID of the organisation
|
|
489
|
+
"""The ID of the organisation."""
|
|
517
490
|
id: ID!
|
|
518
491
|
}
|
|
519
492
|
```
|
|
@@ -521,9 +494,9 @@ input OrganizationDeleteInput {
|
|
|
521
494
|
### `OrganizationDeletePayload`
|
|
522
495
|
|
|
523
496
|
```graphql
|
|
524
|
-
"""
|
|
497
|
+
"""The result of `organizationDelete`."""
|
|
525
498
|
type OrganizationDeletePayload {
|
|
526
|
-
"""ID of the deleted organisation."""
|
|
499
|
+
"""The ID of the deleted organisation."""
|
|
527
500
|
deletedOrganizationId: ID
|
|
528
501
|
}
|
|
529
502
|
```
|
|
@@ -531,23 +504,20 @@ type OrganizationDeletePayload {
|
|
|
531
504
|
### `OrganizationMemberInviteInput`
|
|
532
505
|
|
|
533
506
|
```graphql
|
|
534
|
-
"""
|
|
535
|
-
Input for `organizationMemberInvite` — create a pending invitation for the given email.
|
|
536
|
-
"""
|
|
507
|
+
"""The input of `organizationMemberInvite`."""
|
|
537
508
|
input OrganizationMemberInviteInput {
|
|
538
|
-
"""ID of the organisation
|
|
509
|
+
"""The ID of the organisation."""
|
|
539
510
|
organizationId: ID!
|
|
540
|
-
"""
|
|
511
|
+
"""The email address to invite."""
|
|
541
512
|
email: String!
|
|
542
513
|
"""
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
not themselves hold.
|
|
514
|
+
The scopes the invitation grants on acceptance, one entry per location. Omit to grant
|
|
515
|
+
`ORGANIZATION_READ` alone. The inviter cannot grant a scope they do not hold.
|
|
546
516
|
"""
|
|
547
517
|
grants: [MemberScopeGrantInput!]
|
|
548
|
-
"""
|
|
518
|
+
"""Ignored."""
|
|
549
519
|
invitationType: InvitationType @deprecated(reason: "All invitations are now single-use. This field is ignored.")
|
|
550
|
-
"""URL
|
|
520
|
+
"""The URL the email's link returns the invitee to."""
|
|
551
521
|
redirectUrl: String
|
|
552
522
|
}
|
|
553
523
|
```
|
|
@@ -560,12 +530,12 @@ enum InvitationDelivery {
|
|
|
560
530
|
"""An invitation email, for an address with no account."""
|
|
561
531
|
INVITE_EMAIL
|
|
562
532
|
"""
|
|
563
|
-
A sign-in email, for an address that already has an account. The invitation
|
|
564
|
-
|
|
533
|
+
A sign-in email, for an address that already has an account. The invitation waits on the
|
|
534
|
+
user's Account page.
|
|
565
535
|
"""
|
|
566
536
|
SIGN_IN_EMAIL
|
|
567
537
|
"""
|
|
568
|
-
No email
|
|
538
|
+
No email. The invitation still waits on the Account page of a user with the address.
|
|
569
539
|
"""
|
|
570
540
|
NOT_SENT
|
|
571
541
|
}
|
|
@@ -574,7 +544,7 @@ enum InvitationDelivery {
|
|
|
574
544
|
### `OrganizationMemberInvitePayload`
|
|
575
545
|
|
|
576
546
|
```graphql
|
|
577
|
-
"""
|
|
547
|
+
"""The result of `organizationMemberInvite`."""
|
|
578
548
|
type OrganizationMemberInvitePayload {
|
|
579
549
|
"""The created invitation."""
|
|
580
550
|
invitation: OrganizationInvitation
|
|
@@ -586,9 +556,11 @@ type OrganizationMemberInvitePayload {
|
|
|
586
556
|
### `OrganizationInvitationAcceptInput`
|
|
587
557
|
|
|
588
558
|
```graphql
|
|
589
|
-
"""
|
|
559
|
+
"""The input of `organizationInvitationAccept`."""
|
|
590
560
|
input OrganizationInvitationAcceptInput {
|
|
591
|
-
"""
|
|
561
|
+
"""
|
|
562
|
+
The token of the invitation, from `ViewerInvitation.token` or the invitation email.
|
|
563
|
+
"""
|
|
592
564
|
token: String!
|
|
593
565
|
}
|
|
594
566
|
```
|
|
@@ -596,11 +568,11 @@ input OrganizationInvitationAcceptInput {
|
|
|
596
568
|
### `AcceptedMembership`
|
|
597
569
|
|
|
598
570
|
```graphql
|
|
599
|
-
"""
|
|
571
|
+
"""The organisation a user joined by accepting an invitation."""
|
|
600
572
|
type AcceptedMembership {
|
|
601
|
-
"""ID of the organisation
|
|
573
|
+
"""The ID of the organisation."""
|
|
602
574
|
organizationId: ID!
|
|
603
|
-
"""
|
|
575
|
+
"""The name of the organisation."""
|
|
604
576
|
organizationName: String!
|
|
605
577
|
}
|
|
606
578
|
```
|
|
@@ -608,9 +580,9 @@ type AcceptedMembership {
|
|
|
608
580
|
### `OrganizationInvitationAcceptPayload`
|
|
609
581
|
|
|
610
582
|
```graphql
|
|
611
|
-
"""
|
|
583
|
+
"""The result of `organizationInvitationAccept`."""
|
|
612
584
|
type OrganizationInvitationAcceptPayload {
|
|
613
|
-
"""The
|
|
585
|
+
"""The organisation joined."""
|
|
614
586
|
membership: AcceptedMembership
|
|
615
587
|
}
|
|
616
588
|
```
|
|
@@ -618,9 +590,9 @@ type OrganizationInvitationAcceptPayload {
|
|
|
618
590
|
### `OrganizationInvitationDeclineInput`
|
|
619
591
|
|
|
620
592
|
```graphql
|
|
621
|
-
"""
|
|
593
|
+
"""The input of `organizationInvitationDecline`."""
|
|
622
594
|
input OrganizationInvitationDeclineInput {
|
|
623
|
-
"""
|
|
595
|
+
"""The token of the invitation."""
|
|
624
596
|
token: String!
|
|
625
597
|
}
|
|
626
598
|
```
|
|
@@ -628,9 +600,9 @@ input OrganizationInvitationDeclineInput {
|
|
|
628
600
|
### `OrganizationInvitationDeclinePayload`
|
|
629
601
|
|
|
630
602
|
```graphql
|
|
631
|
-
"""
|
|
603
|
+
"""The result of `organizationInvitationDecline`."""
|
|
632
604
|
type OrganizationInvitationDeclinePayload {
|
|
633
|
-
"""
|
|
605
|
+
"""The token of the declined invitation."""
|
|
634
606
|
declinedToken: String
|
|
635
607
|
}
|
|
636
608
|
```
|
|
@@ -638,13 +610,11 @@ type OrganizationInvitationDeclinePayload {
|
|
|
638
610
|
### `OrganizationInvitationRevokeInput`
|
|
639
611
|
|
|
640
612
|
```graphql
|
|
641
|
-
"""
|
|
642
|
-
Input for `organizationInvitationRevoke` — withdraw a pending invitation.
|
|
643
|
-
"""
|
|
613
|
+
"""The input of `organizationInvitationRevoke`."""
|
|
644
614
|
input OrganizationInvitationRevokeInput {
|
|
645
|
-
"""ID of the invitation
|
|
615
|
+
"""The ID of the invitation."""
|
|
646
616
|
invitationId: ID!
|
|
647
|
-
"""
|
|
617
|
+
"""Ignored. The invitation's own organisation applies."""
|
|
648
618
|
organizationId: ID!
|
|
649
619
|
}
|
|
650
620
|
```
|
|
@@ -652,9 +622,9 @@ input OrganizationInvitationRevokeInput {
|
|
|
652
622
|
### `OrganizationInvitationRevokePayload`
|
|
653
623
|
|
|
654
624
|
```graphql
|
|
655
|
-
"""
|
|
625
|
+
"""The result of `organizationInvitationRevoke`."""
|
|
656
626
|
type OrganizationInvitationRevokePayload {
|
|
657
|
-
"""ID of the revoked invitation."""
|
|
627
|
+
"""The ID of the revoked invitation."""
|
|
658
628
|
revokedInvitationId: ID
|
|
659
629
|
}
|
|
660
630
|
```
|
|
@@ -662,11 +632,11 @@ type OrganizationInvitationRevokePayload {
|
|
|
662
632
|
### `OrganizationMemberRemoveInput`
|
|
663
633
|
|
|
664
634
|
```graphql
|
|
665
|
-
"""
|
|
635
|
+
"""The input of `organizationMemberRemove`."""
|
|
666
636
|
input OrganizationMemberRemoveInput {
|
|
667
|
-
"""ID of the organisation
|
|
637
|
+
"""The ID of the organisation."""
|
|
668
638
|
organizationId: ID!
|
|
669
|
-
"""ID of the user
|
|
639
|
+
"""The ID of the member's user."""
|
|
670
640
|
userId: ID!
|
|
671
641
|
}
|
|
672
642
|
```
|
|
@@ -674,9 +644,9 @@ input OrganizationMemberRemoveInput {
|
|
|
674
644
|
### `OrganizationMemberRemovePayload`
|
|
675
645
|
|
|
676
646
|
```graphql
|
|
677
|
-
"""
|
|
647
|
+
"""The result of `organizationMemberRemove`."""
|
|
678
648
|
type OrganizationMemberRemovePayload {
|
|
679
|
-
"""ID of the removed user."""
|
|
649
|
+
"""The ID of the removed member's user."""
|
|
680
650
|
removedUserId: ID
|
|
681
651
|
}
|
|
682
652
|
```
|
|
@@ -684,11 +654,16 @@ type OrganizationMemberRemovePayload {
|
|
|
684
654
|
### `MemberScopeGrantInput`
|
|
685
655
|
|
|
686
656
|
```graphql
|
|
687
|
-
"""
|
|
657
|
+
"""
|
|
658
|
+
The scopes to grant at one location in an organisation. A grant on the organisation itself
|
|
659
|
+
always includes `ORGANIZATION_READ`.
|
|
660
|
+
"""
|
|
688
661
|
input MemberScopeGrantInput {
|
|
689
|
-
"""
|
|
662
|
+
"""
|
|
663
|
+
The ID of the project the scopes apply to. Null for the organisation itself.
|
|
664
|
+
"""
|
|
690
665
|
projectId: ID
|
|
691
|
-
"""The scopes to hold at
|
|
666
|
+
"""The scopes to hold at the location."""
|
|
692
667
|
scopes: [Scope!]!
|
|
693
668
|
}
|
|
694
669
|
```
|
|
@@ -696,15 +671,17 @@ input MemberScopeGrantInput {
|
|
|
696
671
|
### `OrganizationMemberScopesUpdateInput`
|
|
697
672
|
|
|
698
673
|
```graphql
|
|
699
|
-
"""
|
|
674
|
+
"""
|
|
675
|
+
The input of `organizationMemberScopesUpdate`. Every field is required.
|
|
676
|
+
"""
|
|
700
677
|
input OrganizationMemberScopesUpdateInput {
|
|
701
|
-
"""ID of the organisation."""
|
|
678
|
+
"""The ID of the organisation."""
|
|
702
679
|
organizationId: ID!
|
|
703
|
-
"""ID of the member
|
|
680
|
+
"""The ID of the member's user."""
|
|
704
681
|
userId: ID!
|
|
705
682
|
"""
|
|
706
|
-
|
|
707
|
-
|
|
683
|
+
Every grant the member keeps in the organisation, at most one per location. A location left
|
|
684
|
+
out loses its grant. `ORGANIZATION_MEMBERS_MANAGE_SCOPES` applies to the organisation only.
|
|
708
685
|
"""
|
|
709
686
|
grants: [MemberScopeGrantInput!]!
|
|
710
687
|
}
|
|
@@ -713,7 +690,7 @@ input OrganizationMemberScopesUpdateInput {
|
|
|
713
690
|
### `OrganizationMemberScopesUpdatePayload`
|
|
714
691
|
|
|
715
692
|
```graphql
|
|
716
|
-
"""
|
|
693
|
+
"""The result of `organizationMemberScopesUpdate`."""
|
|
717
694
|
type OrganizationMemberScopesUpdatePayload {
|
|
718
695
|
"""The member whose scopes were set."""
|
|
719
696
|
member: OrganizationMember
|
|
@@ -723,16 +700,17 @@ type OrganizationMemberScopesUpdatePayload {
|
|
|
723
700
|
### `OrganizationClientManagerScopesUpdateInput`
|
|
724
701
|
|
|
725
702
|
```graphql
|
|
726
|
-
"""
|
|
703
|
+
"""
|
|
704
|
+
The input of `organizationClientManagerScopesUpdate`. Every field is required.
|
|
705
|
+
"""
|
|
727
706
|
input OrganizationClientManagerScopesUpdateInput {
|
|
728
|
-
"""ID of the organisation."""
|
|
707
|
+
"""The ID of the organisation."""
|
|
729
708
|
organizationId: ID!
|
|
730
|
-
"""ID of the client manager
|
|
709
|
+
"""The ID of the client manager's user."""
|
|
731
710
|
userId: ID!
|
|
732
711
|
"""
|
|
733
|
-
The scopes to hold
|
|
734
|
-
|
|
735
|
-
Root-located scopes are rejected: they bind to no organisation.
|
|
712
|
+
The scopes to hold in the organisation, replacing the current ones. An empty list clears them,
|
|
713
|
+
leaving the root grant. A scope that applies to every organisation fails validation.
|
|
736
714
|
"""
|
|
737
715
|
scopes: [Scope!]!
|
|
738
716
|
}
|
|
@@ -741,9 +719,9 @@ input OrganizationClientManagerScopesUpdateInput {
|
|
|
741
719
|
### `OrganizationClientManagerScopesUpdatePayload`
|
|
742
720
|
|
|
743
721
|
```graphql
|
|
744
|
-
"""
|
|
722
|
+
"""The result of `organizationClientManagerScopesUpdate`."""
|
|
745
723
|
type OrganizationClientManagerScopesUpdatePayload {
|
|
746
|
-
"""The client manager
|
|
724
|
+
"""The client manager and the scopes they now hold."""
|
|
747
725
|
access: OrganizationClientManagerAccess
|
|
748
726
|
}
|
|
749
727
|
```
|