Skip to content
GitmoapAPIBeta
Identity & platformscim
POST/scim/v2/organizations/{group_id}/Users

Provision a person.

create_scim_user
  • Public
    This operation declares no security requirement: it takes no token.
  • Audited · mutation

    x-gitmoap-audit: {"kind":"audited","arg":"mutation"}

  • Quota · members per scope

    x-gitmoap-quota: {"kind":"enforced","arg":"members_per_scope"}

They are invited with the organization's default role, and take it up at their first sign-in.

Parameters

Path
  • group_idGroupId (string · uuid)The organization's top-level group

Request body

application/json
  • userNamestringThe person's sign-in name — for gitmoap, their email address.
  • activebooleanoptionalfalse takes away the person's access to the organization; true gives it back.
  • displayNamestring or nulloptional
  • emailsarray of ScimEmailoptional
  • externalIdstring or nulloptional
  • groupsarray of ScimMemberRefoptionalThe groups the person is in. Read-only: groups are changed through the group.
  • idstring or nulloptional
  • metaScimMeta or nulloptional
    • The ScimMeta schema
    • createdstring · date-time
    • lastModifiedstring · date-time
    • locationstring
    • resourceTypestring
  • nameScimName or nulloptional
    • The ScimName schema
    • familyNamestring or nulloptional
    • formattedstring or nulloptional
    • givenNamestring or nulloptional
  • schemasarray of stringoptional
Request body exampleSynthesized example
{
"userName": "userName-9b88"
}

Responses

201The userapplication/json
  • userNamestringThe person's sign-in name — for gitmoap, their email address.
  • activebooleanoptionalfalse takes away the person's access to the organization; true gives it back.
  • displayNamestring or nulloptional
  • emailsarray of ScimEmailoptional
  • externalIdstring or nulloptional
  • groupsarray of ScimMemberRefoptionalThe groups the person is in. Read-only: groups are changed through the group.
  • idstring or nulloptional
  • metaScimMeta or nulloptional
    • The ScimMeta schema
    • createdstring · date-time
    • lastModifiedstring · date-time
    • locationstring
    • resourceTypestring
  • nameScimName or nulloptional
    • The ScimName schema
    • familyNamestring or nulloptional
    • formattedstring or nulloptional
    • givenNamestring or nulloptional
  • schemasarray of stringoptional
201 exampleSynthesized example
{
"userName": "userName-35ef",
"active": true,
"displayName": "displayName-8293",
"emails": [
{
"value": "value-c151"
}
],
"externalId": "externalId-0da7",
"groups": [
{
"value": "value-a2e9"
}
],
"id": "id-909d",
"meta": {
"created": "2026-10-10T18:05:53Z",
"lastModified": "2026-10-12T13:29:42Z",
"location": "location-353c",
"resourceType": "resourceType-b0b8"
},
"name": {
"familyName": "familyName-a302",
"formatted": "formatted-44bf",
"givenName": "givenName-8eca"
},
"schemas": [
"schemas-4566"
]
}
400An invalid user, or an email outside the organization's verified domainsapplication/json
Error codes
  • BAD_REQUESTThe request is malformed: a parameter or a body field is not a well-formed value of its type
  • detailstring
  • schemasarray of string
  • statusstringThe HTTP status code, written as text, as the SCIM protocol requires.
  • scimTypestring or nulloptional
400 exampleSynthesized example
{
"detail": "detail-2ddb",
"schemas": [
"schemas-c892"
],
"status": "status-08c3"
}
401No valid SCIM token of this organizationapplication/json
Error codes
  • UNAUTHORIZEDNo credential was sent, or the one sent is invalid, expired or revoked
  • detailstring
  • schemasarray of string
  • statusstringThe HTTP status code, written as text, as the SCIM protocol requires.
  • scimTypestring or nulloptional
401 exampleSynthesized example
{
"detail": "detail-b003",
"schemas": [
"schemas-096d"
],
"status": "status-0304"
}
409A user with that userName already existsapplication/json
Error codes
  • CONFLICTThe request conflicts with the resource's current state; reason says how
  • detailstring
  • schemasarray of string
  • statusstringThe HTTP status code, written as text, as the SCIM protocol requires.
  • scimTypestring or nulloptional
409 exampleSynthesized example
{
"detail": "detail-13ca",
"schemas": [
"schemas-469f",
"schemas-cb29"
],
"status": "status-55c3"
}
429The organization holds as many people as it mayapplication/json
Error codes
  • TOO_MANY_REQUESTSRetryableA quota, a rate limit or a transfer budget is spent. When the response carries Retry-After, retry after that many seconds
  • detailstring
  • schemasarray of string
  • statusstringThe HTTP status code, written as text, as the SCIM protocol requires.
  • scimTypestring or nulloptional
429 exampleSynthesized example
{
"detail": "detail-e481",
"schemas": [
"schemas-901f",
"schemas-0906"
],
"status": "status-30ec"
}

CLI

gitmoap scim create-scim-user

  • --group-ididThe organization's top-level group (id or group path)
  • --activeflagoptional`false` takes away the person's access to the organization; `true` gives it back.
  • --displayNamestringoptional
  • --emailsjsonoptional
  • --externalIdstringoptional
  • --groupsjsonoptionalThe groups the person is in. Read-only: groups are changed through the group.
  • --idstringoptional
  • --metajsonoptional
  • --namejsonoptional
  • --schemasjsonoptional
  • --userNamestringThe person's sign-in name — for gitmoap, their email address.

Used in these guides