Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
pagination_next: null
pagination_prev: null
hide_table_of_contents: true
id: add-service-account-to-group
title: addServiceAccountToGroup
---




export const Bullet = () => <><span style={{ fontWeight: 'normal', fontSize: '.5em', color: 'var(--ifm-color-secondary-darkest)' }}>&nbsp;●&nbsp;</span></>

export const SpecifiedBy = (props) => <>Specification<a className="link" style={{ fontSize:'1.5em', paddingLeft:'4px' }} target="_blank" href={props.url} title={'Specified by ' + props.url}>⎘</a></>

export const Badge = (props) => <><span className={props.class}>{props.text}</span></>

import { useState } from 'react';

export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
<details {...(open ? { open: true } : {})} className="details" style={{ border:'none', boxShadow:'none', background:'var(--ifm-background-color)' }}>
<summary
onClick={(e) => {
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle:'none' }}
>
{open ? dataOpen : dataClose}
</summary>
{open && children}
</details>
);
};








Add a service account to a group, granting it the group's access level.


```graphql
addServiceAccountToGroup(
organizationId: ID!
serviceAccountId: ID!
groupId: ID!
): ServiceAccountGroupPayload
```




### Arguments

#### [<code style={{ fontWeight: 'normal' }}>addServiceAccountToGroup.<b>organizationId</b></code>](#organization-id)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>ID!</b></code>](/api/graphql/v1/types/scalars/id.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#organization-id\}
Your organization ID


#### [<code style={{ fontWeight: 'normal' }}>addServiceAccountToGroup.<b>serviceAccountId</b></code>](#service-account-id)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>ID!</b></code>](/api/graphql/v1/types/scalars/id.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#service-account-id\}
The service account ID


#### [<code style={{ fontWeight: 'normal' }}>addServiceAccountToGroup.<b>groupId</b></code>](#group-id)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>ID!</b></code>](/api/graphql/v1/types/scalars/id.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#group-id\}
The group ID to add the service account to


### Type

#### [<code style={{ fontWeight: 'normal' }}><b>ServiceAccountGroupPayload</b></code>](/api/graphql/v1/types/objects/service-account-group-payload.mdx) <Badge class="badge badge--secondary " text="object"/>
86 changes: 86 additions & 0 deletions docs/api/graphql/v1/operations/mutations/create-access-token.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
pagination_next: null
pagination_prev: null
hide_table_of_contents: true
id: create-access-token
title: createAccessToken
---




export const Bullet = () => <><span style={{ fontWeight: 'normal', fontSize: '.5em', color: 'var(--ifm-color-secondary-darkest)' }}>&nbsp;●&nbsp;</span></>

export const SpecifiedBy = (props) => <>Specification<a className="link" style={{ fontSize:'1.5em', paddingLeft:'4px' }} target="_blank" href={props.url} title={'Specified by ' + props.url}>⎘</a></>

export const Badge = (props) => <><span className={props.class}>{props.text}</span></>

import { useState } from 'react';

export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
<details {...(open ? { open: true } : {})} className="details" style={{ border:'none', boxShadow:'none', background:'var(--ifm-background-color)' }}>
<summary
onClick={(e) => {
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle:'none' }}
>
{open ? dataOpen : dataClose}
</summary>
{open && children}
</details>
);
};




<Badge class="badge badge--secondary badge--primary" text="form schema"/>



Create a scoped, time-limited access token. The token value is only returned in this response.




```graphql
createAccessToken(
organizationId: ID!
input: CreateAccessTokenInput!
): AccessTokenWithValuePayload
```





### Form Schema

This mutation supports dynamic form generation using JSON Schema.

- [JSON Schema](https://api.massdriver.cloud/graphql/v1/inputs/createAccessToken.json)
- [UI Schema](https://api.massdriver.cloud/graphql/v1/inputs/createAccessToken.ui.json)

<SchemaForm
schemaUrl="https://api.massdriver.cloud/graphql/v1/inputs/createAccessToken.json"
uiSchemaUrl="https://api.massdriver.cloud/graphql/v1/inputs/createAccessToken.ui.json"
name="createAccessToken"
/>

### Arguments

#### [<code style={{ fontWeight: 'normal' }}>createAccessToken.<b>organizationId</b></code>](#organization-id)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>ID!</b></code>](/api/graphql/v1/types/scalars/id.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#organization-id\}
Your organization ID


#### [<code style={{ fontWeight: 'normal' }}>createAccessToken.<b>input</b></code>](#input)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>CreateAccessTokenInput!</b></code>](/api/graphql/v1/types/inputs/create-access-token-input.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="input"/> \{#input\}
Create a scoped, time-limited access token for API authentication.


### Type

#### [<code style={{ fontWeight: 'normal' }}><b>AccessTokenWithValuePayload</b></code>](/api/graphql/v1/types/objects/access-token-with-value-payload.mdx) <Badge class="badge badge--secondary " text="object"/>
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
---
pagination_next: null
pagination_prev: null
hide_table_of_contents: true
id: create-group-invitation
title: createGroupInvitation
---




export const Bullet = () => <><span style={{ fontWeight: 'normal', fontSize: '.5em', color: 'var(--ifm-color-secondary-darkest)' }}>&nbsp;●&nbsp;</span></>

export const SpecifiedBy = (props) => <>Specification<a className="link" style={{ fontSize:'1.5em', paddingLeft:'4px' }} target="_blank" href={props.url} title={'Specified by ' + props.url}>⎘</a></>

export const Badge = (props) => <><span className={props.class}>{props.text}</span></>

import { useState } from 'react';

export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
<details {...(open ? { open: true } : {})} className="details" style={{ border:'none', boxShadow:'none', background:'var(--ifm-background-color)' }}>
<summary
onClick={(e) => {
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle:'none' }}
>
{open ? dataOpen : dataClose}
</summary>
{open && children}
</details>
);
};








Invite a user to a group by email address.


```graphql
createGroupInvitation(
organizationId: ID!
groupId: ID!
email: String!
): GroupInvitationPayload
```




### Arguments

#### [<code style={{ fontWeight: 'normal' }}>createGroupInvitation.<b>organizationId</b></code>](#organization-id)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>ID!</b></code>](/api/graphql/v1/types/scalars/id.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#organization-id\}
Your organization ID


#### [<code style={{ fontWeight: 'normal' }}>createGroupInvitation.<b>groupId</b></code>](#group-id)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>ID!</b></code>](/api/graphql/v1/types/scalars/id.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#group-id\}
The group ID to invite the user to


#### [<code style={{ fontWeight: 'normal' }}>createGroupInvitation.<b>email</b></code>](#email)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>String!</b></code>](/api/graphql/v1/types/scalars/string.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#email\}
Email address of the user to invite


### Type

#### [<code style={{ fontWeight: 'normal' }}><b>GroupInvitationPayload</b></code>](/api/graphql/v1/types/objects/group-invitation-payload.mdx) <Badge class="badge badge--secondary " text="object"/>
86 changes: 86 additions & 0 deletions docs/api/graphql/v1/operations/mutations/create-group.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,86 @@
---
pagination_next: null
pagination_prev: null
hide_table_of_contents: true
id: create-group
title: createGroup
---




export const Bullet = () => <><span style={{ fontWeight: 'normal', fontSize: '.5em', color: 'var(--ifm-color-secondary-darkest)' }}>&nbsp;●&nbsp;</span></>

export const SpecifiedBy = (props) => <>Specification<a className="link" style={{ fontSize:'1.5em', paddingLeft:'4px' }} target="_blank" href={props.url} title={'Specified by ' + props.url}>⎘</a></>

export const Badge = (props) => <><span className={props.class}>{props.text}</span></>

import { useState } from 'react';

export const Details = ({ dataOpen, dataClose, children, startOpen = false }) => {
const [open, setOpen] = useState(startOpen);
return (
<details {...(open ? { open: true } : {})} className="details" style={{ border:'none', boxShadow:'none', background:'var(--ifm-background-color)' }}>
<summary
onClick={(e) => {
e.preventDefault();
setOpen((open) => !open);
}}
style={{ listStyle:'none' }}
>
{open ? dataOpen : dataClose}
</summary>
{open && children}
</details>
);
};




<Badge class="badge badge--secondary badge--primary" text="form schema"/>



Create a new group in your organization.




```graphql
createGroup(
organizationId: ID!
input: CreateGroupInput!
): GroupPayload
```





### Form Schema

This mutation supports dynamic form generation using JSON Schema.

- [JSON Schema](https://api.massdriver.cloud/graphql/v1/inputs/createGroup.json)
- [UI Schema](https://api.massdriver.cloud/graphql/v1/inputs/createGroup.ui.json)

<SchemaForm
schemaUrl="https://api.massdriver.cloud/graphql/v1/inputs/createGroup.json"
uiSchemaUrl="https://api.massdriver.cloud/graphql/v1/inputs/createGroup.ui.json"
name="createGroup"
/>

### Arguments

#### [<code style={{ fontWeight: 'normal' }}>createGroup.<b>organizationId</b></code>](#organization-id)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>ID!</b></code>](/api/graphql/v1/types/scalars/id.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="scalar"/> \{#organization-id\}
Your organization ID


#### [<code style={{ fontWeight: 'normal' }}>createGroup.<b>input</b></code>](#input)<Bullet />[<code style={{ fontWeight: 'normal' }}><b>CreateGroupInput!</b></code>](/api/graphql/v1/types/inputs/create-group-input.mdx) <Badge class="badge badge--secondary badge--non_null" text="non-null"/> <Badge class="badge badge--secondary " text="input"/> \{#input\}
Create a new group. Groups control which projects members can access.


### Type

#### [<code style={{ fontWeight: 'normal' }}><b>GroupPayload</b></code>](/api/graphql/v1/types/objects/group-payload.mdx) <Badge class="badge badge--secondary " text="object"/>
Loading