| `expires_at` | string | no | A date string in the format YEAR-MONTH-DAY |
| `expires_at` | string | no | A date string in the format YEAR-MONTH-DAY |
| `invite_source` | string | no | The source of the invitation that starts the member creation process. See [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/327120). |
| `invite_source` | string | no | The source of the invitation that starts the member creation process. See [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/327120). |
| `areas_of_focus` | string | no | Areas the inviter wants the member to focus upon. |
```shell
```shell
curl --request POST --header"PRIVATE-TOKEN: <your_access_token>"\
curl --request POST --header"PRIVATE-TOKEN: <your_access_token>"\
| `expires_at` | string | no | A date string in the format `YEAR-MONTH-DAY` |
| `expires_at` | string | no | A date string in the format `YEAR-MONTH-DAY` |
| `invite_source` | string | no | The source of the invitation that starts the member creation process. See [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/327120). |
| `invite_source` | string | no | The source of the invitation that starts the member creation process. See [this issue](https://gitlab.com/gitlab-org/gitlab/-/issues/327120). |
| `areas_of_focus` | string | no | Areas the inviter wants the member to focus upon. |
```shell
```shell
curl --request POST --header"PRIVATE-TOKEN: <your_access_token>"\
curl --request POST --header"PRIVATE-TOKEN: <your_access_token>"\
optional:expires_at,type: DateTime,desc: 'Date string in the format YEAR-MONTH-DAY'
optional:expires_at,type: DateTime,desc: 'Date string in the format YEAR-MONTH-DAY'
optional:invite_source,type: String,desc: 'Source that triggered the member creation process',default: 'invitations-api'
optional:invite_source,type: String,desc: 'Source that triggered the member creation process',default: 'invitations-api'
optional:areas_of_focus,type: Array[String],coerce_with: Validations::Types::CommaSeparatedToArray.coerce,desc: 'Areas the inviter wants the member to focus upon'
requires:user_id,types: [Integer,String],desc: 'The user ID of the new member or multiple IDs separated by commas.'
requires:user_id,types: [Integer,String],desc: 'The user ID of the new member or multiple IDs separated by commas.'
optional:expires_at,type: DateTime,desc: 'Date string in the format YEAR-MONTH-DAY'
optional:expires_at,type: DateTime,desc: 'Date string in the format YEAR-MONTH-DAY'
optional:invite_source,type: String,desc: 'Source that triggered the member creation process',default: 'members-api'
optional:invite_source,type: String,desc: 'Source that triggered the member creation process',default: 'members-api'
optional:areas_of_focus,type: Array[String],coerce_with: Validations::Types::CommaSeparatedToArray.coerce,desc: 'Areas the inviter wants the member to focus upon'
end
end
# rubocop: disable CodeReuse/ActiveRecord
# rubocop: disable CodeReuse/ActiveRecord
post":id/members"do
post":id/members"do
...
@@ -119,7 +120,12 @@ module API
...
@@ -119,7 +120,12 @@ module API
not_allowed!# This currently can only be reached in EE
not_allowed!# This currently can only be reached in EE