Visão geral
O Sistema para gerenciamento de identidade entre domínios (SCIM) é uma API padrão para automatizar o provisionamento/desprovisionamento de usuário e grupo, bem como atualizar os dados de usuário e grupo a partir do Provedor de identidade (IdP) do cliente na conta da Udemy Business.O SCIM é compatível com diversos provedores de identidade, como Okta, Azure AD e OneLogin. Você também pode usar a API SCIM da Udemy Business para outros IdPs ou ferramentas internas.
Se a sua organização usa um dos seguintes IdPs, consulte nossos guias abaixo sobre a configuração do SCIM:
- Configurar o provisionamento SCIM com Okta
- Configurar o provisionamento SCIM com Azure Active Directory (AD)
- Configurar o provisionamento SCIM com OneLogin
O SCIM usa uma API REST padrão com dados formatados em JSON. A Udemy Business é compatível com a versão 2.0 do SCIM padrão. A API está disponível para todos os clientes do plano Enterprise.
A API SCIM da Udemy Business é compatível com os seguintes recursos:
- Provisionar usuários
- Desprovisionar usuários (desativação)
- Alterar endereços de e-mail
- Alterar detalhes do usuário
- Provisionar grupos
- Adicionar/remover usuários de grupos
Descrição do protocolo SCIM
O protocolo SCIM é um protocolo REST no nível da aplicação para provisionar e gerenciar dados de identidade na web. O protocolo é cliente-servidor, onde o cliente é o provedor de identidade (IdP) e o servidor é a Udemy Business.
O fluxo básico é o seguinte:
- Quando o acesso à Udemy Business é concedido ao usuário no IdP pelo cliente, o IdP nos envia uma solicitação para verificar se o usuário específico existe no nosso banco de dados. Ele emite uma solicitação de busca de usuário por um atributo como userName ou email.
- Se o usuário não existe, o IdP envia uma solicitação para criar um usuário.
- Se o usuário existe, o IdP envia uma solicitação de atualização para o usuário.
- Quando o acesso à Udemy Business é revogado, o IdP envia uma solicitação para desativar o usuário do nosso banco de dados.
- O IdP também pode enviar solicitações de alteração dos detalhes do usuário.
Como acessar a API?
Para obter as credenciais de autorização para conectar à API SCIM, você deverá configurar a integração do SCIM na página Gerenciar -> Configurações -> Provisionamento (SCIM) da sua conta da Udemy Business. Observação: apenas administradores têm acesso a essa página.
Clique em Iniciar configuração.
Na próxima etapa, selecione Escolher provedor, depois Personalizado.
Clique em Gerar token.
Nessa tela, clique em Copiar para copiar o token do portador para a área de transferência.
Você deverá incluir o cabeçalho HTTP Authorization com o token do portador nas suas solicitações, por exemplo:
GET /scim/v2/Users HTTP/1.1
Host: myorganization.udemy.com
Accept: application/scim+json
Authorization: Bearer <enter you Bearer token here>
Content-Type: application/scim+json
A API SCIM da Udemy Business usa o protocolo HTTP e está disponível apenas via uma conexão HTTPS segura.
O URL básico da API é: https://<yoursubdomain>.udemy.com/scim/v2/.
Se você estiver desenvolvendo uma aplicação para interagir com a API SCIM da Udemy Business, é recomendável consultar os SCIM RFCs incluídos ao fim deste documento. A implementação da API SCIM da Udemy Business está em conformidade com o padrão.
Limite de taxas
A Udemy Business aplica limite de taxas à API SCIM de acordo com o protocolo padrão de limite de taxa HTTP. Se a sua solicitação sofrer limite de taxa, você receberá uma resposta HTTP 429 e precisará esperar e tentar novamente conforme o especificado no cabeçalho Retry-After.
Endpoints da API SCIM
Endpoints informacionais
Esses endpoints são informativos e servem para configurar os clientes. Eles não exigem autenticação, então não é preciso incluir o cabeçalho Authorization ao acessá-los.
GET /ServiceProviderConfig
Retorna detalhes sobre a implementação do SCIM da Udemy Business, incluindo quais métodos são compatíveis.
GET /Schemas
Retorna informações sobre os esquemas compatíveis com nossa implementação de SCIM. Os esquemas compatíveis são Users e Groups.
GET /Schemas/Users
Retorna todos os atributos compatíveis para os recursos User.
GET /Schemas/Groups
Retorna todos os atributos compatíveis para os recursos Group.
Endpoints de usuário
Usando esses endpoints, é possível listar usuários, filtrar por atributos, adicionar novos usuários, atualizar informações de usuários ou desativar/anonimizar usuários.
Se a API SCIM não retornar todos os usuários, entre em contato com o suporte da Udemy Business.
Atributos compatíveis
Atributo SCIM | Obrigatório? | Descrição |
emails[type=”work”]]['value’] |
Sim | E-mail do usuário. Deve ser exclusivo. |
userName |
Sim | O userName do IdP. Deve ser exclusivo. |
ativo |
Sim | Sinaliza a desativação/reativação de usuários |
externalId |
Sim | O externalId do usuário do IdP. Deve ser exclusivo. |
urn:ietf:params:scim:schemas:extension: |
Sim | Retorna o campo employeeNumber de EnterpriseSchema e o armazena como external_id field. |
name.givenName |
Não | Nome próprio de um usuário. Embora não seja obrigatório, recomendamos sempre especificar esses atributos para facilitar a identificação de usuários. |
name.familyName |
Não | Sobrenome de um usuário. Embora não seja obrigatório, recomendamos sempre especificar esses atributos para facilitar a identificação de usuários. |
name, { givenName, familyName } |
Não | Nome e sobrenome do usuário. Embora não seja obrigatório, recomendamos sempre especificar esses atributos para facilitar a identificação de usuários. |
title |
Não | Cargo do usuário, por exemplo, "Engenheiro sênior" |
groups |
Não | Grupo(s) SCIM a que o usuário pertence |
Observação: se você especificar qualquer outro atributo que não esteja nessa lista, ele será ignorado.
GET /Users
Retorna uma lista paginada de usuários, 12 usuários por página como padrão. Você pode passar os parâmetros
count
e
startIndex
para paginar o conjunto de resultados. Por exemplo:
GET /scim/v2/Users?startIndex=1&count=100 HTTP/1.1
Host: myorganization.udemy.com
Accept: application/scim+json
Authorization: Bearer <enter you Bearer token here>
startIndex
- é o índice baseado em 1 do primeiro resultado no conjunto atual de resultados (compensação)
-
count
é o número de recursos retornados em uma página de resposta de lista (limite). Até 1.000 usuários podem ser recuperados em uma única solicitação. Se esse item for omitido, o padrão será 12.
Exemplo de solicitação
GET https://demo.udemy.com/scim/v2/Users
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 18,
"startIndex": 1,
"Resources": [
{
"id": "KwLzN3",
"externalId": "00u3mlhj4x1E482sK5d7",
"userName": "firstName.lastName@domain.com",
"name": {
"givenName": "firstName",
"familyName": "lastName",
"formatted": "firstName lastName"
},
"emails": [
{
"value": "firstName.lastName@domain.com",
"type": "work",
"primary": true
}
],
"title": "",
"active": true,
"groups": [
{
"value": "NZOaw",
"display": "Group Test",
"$ref": "https://demo.udemy.com/scim/v2/Groups/NZOaw"
},
{
"value": "dn1K8",
"display": "NewGroup2",
"$ref": "https://demo.udemy.com/scim/v2/Groups/dn1K8"
}
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"meta": {
"resourceType": "User",
"location": "https://demo.udemy.com/scim/v2/Users/KwLzN3",
"created": "2022-01-19T01:11:59Z",
"lastModified": "2024-11-22T21:58:48Z"
},
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "64e63"
}
},
[...]
],
"itemsPerPage": 12
}
GET /Users?filter=
Esse endpoint é usado para filtrar usuários por atributos específicos. Por exemplo, é possível pesquisar pelo atributo userName:
GET /Users?filter=userName eq "example..name”
Observação: no exemplo acima, você precisará fazer a codificação URL dos parâmetros, para que o URL seja:
GET /Users?filter=userName%20eq%20%22example.name%22
Isso retornará uma lista de recursos do usuário. Se não houver resultados, uma lista vazia será exibida.
GET Users?filter=groups.value eq "{SCIM_Group_ID}"
Isso retornará todos os usuários que pertencem a esse grupo SCIM
Os filtros compatíveis são:
userName
externalID
emails[type eq=”work”]
groups
Os operadores compatíveis são:
and
eq
Resposta:
- Código 200 do status HTTP com a lista de entidades em sucesso
- Código 501 do status HTTP se um filtro incompatível for fornecido
POST /Users
Esse endpoint é usado para criar (provisionar) novos usuários na Udemy Business.
A resposta conterá um atributo
id
que deve ser usado ao referir esse usuário em todas as solicitações subsequentes.
Observação:
- Novos usuários criados dessa maneira não consumirão uma licença até que ele faça login pela primeira vez.
- Se havia um convite pendente para usuário, ele será usado nesse momento.
O usuário será adicionado a grupos e atribuído à função/às tarefas de curso adequadas de acordo com o que estiver especificado no convite. - Uma tentativa de criar um usuário que já existe na Udemy Business fará com que o usuário se torne gerenciado pelo SCIM (ele será exibido com um pequeno ícone de link na página Gerenciar usuários). O status e o uso de licença do usuário não serão alterados. Se o usuário estava ativo, ele permanecerá assim, e se o usuário estava desativado, ele continuará desativado.
Exemplo de solicitação
POST https://demo.udemy.com/scim/v2/Users
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"active": true,
"emails": [
{
"primary": true,
"type": "work",
"value": "demo.user@test.com"
}
],
"externalId" : "externalIdValue",
"meta": {
"resourceType": "User"
},
"userName": "DemoTest",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "externalIdValue"
},
"name": {
"familyName": "Test",
"formatted": "formatted",
"givenName": "Demo"
}
}
Exemplo de resposta
{
"id": "MPD698",
"name": {
"givenName": "Demo",
"familyName": "Test",
"formatted": "Demo Test"
},
"emails": [
{
"value": "demo.user@test.com",
"type": "work",
"primary": true
}
],
"title": "",
"active": true,
"groups": [],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"meta": {
"resourceType": "User",
"location": "https://demo.udemy.com/scim/v2/Users/MPD698",
"created": "2024-12-27T22:00:25Z",
"lastModified": "2024-12-27T22:00:26Z"
},
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "externalIdValue"
},
"userName": "DemoTest",
"externalId": "externalIdValue"
}
Resposta:
- Código 201 do status HTTP e o recurso do usuário em sucesso
- Código 409 do status HTTP se o membro com o mesmo userName já existe na Organização
- Código 400 do status HTTP com os detalhes do erro no corpo da resposta se a solicitação não foi aprovada na validação
GET /Users/<id>
Esse endpoint é usado para recuperar detalhes de um usuário especificado. O parâmetro
id
na solicitação acima é um identificador exclusivo que retornou quando o usuário foi criado usando o SCIM ou ao listar todos os usuários existentes.
Resposta:
- Código 200 do status HTTP com o recurso do usuário em sucesso
- Código 404 do status HTTP se o usuário não foi encontrado
PUT /Users/<id>
Esse endpoint é usado para substituir (sobrescrever) os detalhes do usuário na Udemy Business. Se especificado, o atributo active pode ser usado para desativar ou reativar o usuário.
Exemplo de solicitação:
PUT https://demo.udemy.com/scim/v2/Users/MPD698
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"id": "MPD698",
"userName": "demo.user@test.com",
"externalId": "NewExternalID",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "NewExternalID"
},
"name": {
"givenName": "demo",
"familyName": "user"
},
"emails": [
{
"value": "demo.user@test.com",
"type": "work",
"primary": true
}
],
"active": true
}
Exemplo de resposta
{
"id": "MPD698",
"name": {
"givenName": "demo",
"familyName": "user",
"formatted": "demo user"
},
"emails": [
{
"value": "demo.user@test.com",
"type": "work",
"primary": true
}
],
"title": "",
"active": true,
"groups": [],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"meta": {
"resourceType": "User",
"location": "https://demo.udemy.com/scim/v2/Users/MPD698",
"created": "2024-12-27T22:00:25Z",
"lastModified": "2024-12-27T22:17:52Z"
},
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "NewExternalID"
},
"userName": "demo.user@test.com",
"externalId": "NewExternalID"
}
Resposta:
- Código 200 do status HTTP e recurso do usuário atualizado
- Código 404 do status HTTP se o usuário não existe.
- Código 400 do status HTTP em caso de tentativa de desativação de um proprietário da organização.
PATCH /Users/<id>
Esse endpoint é usado para fazer atualizações parciais nos detalhes do usuário em nosso sistema, ou seja, você pode usar para alterar apenas alguns atributos do usuário. Ele é oposto ao PUT, que substitui todo o usuário.
Pode conter o atributo active, que fará com que o usuário seja desativado ou reativado.
- O corpo de cada solicitação DEVE conter o atributo "schemas" com o valor URI de "urn:ietf:params:scim:api:messages:2.0:PatchOp".
- O corpo de uma solicitação HTTP PATCH DEVE conter o atributo "Operations", cujo valor é uma matriz de uma ou mais operações PATCH.Cada objeto de operação PATCH DEVE conter exatamente um membro "op", cujo valor indica a operação a ser realizada e PODE ser "add", "remove" ou "replace".
- O atributo "path" pode estar vazio. Nesse caso, "value" deve ser um dicionário no formato {"path": "value"}.
Exemplo de solicitação
PATCH https://demo.udemy.com/scim/v2/Users/MPD698
{
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:PatchOp"
],
"Operations": [
{
"op": "replace",
"path": "userName",
"value": "DemoUserName"
}
]
}
Exemplo de resposta
{
"id": "MPD698",
"name": {
"givenName": "demo",
"familyName": "user",
"formatted": "demo user"
},
"emails": [
{
"value": "demo.user@test.com",
"type": "work",
"primary": true
}
],
"title": "",
"active": true,
"groups": [
{
"value": "5ypNz",
"display": "NewGroup",
"$ref": "https://demo.udemy.com/scim/v2/Groups/5ypNz"
}
],
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"meta": {
"resourceType": "User",
"location": "https://demo.udemy.com/scim/v2/Users/MPD698",
"created": "2024-12-27T22:00:25Z",
"lastModified": "2024-12-27T22:17:52Z"
},
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"employeeNumber": "NewExternalID"
},
"userName": "DemoUserName",
"externalId": "NewExternalID"
}
Resposta:
- Código 200 do status HTTP com o recurso do usuário atualizado em sucesso
- Código 404 do status HTTP se o usuário não foi encontrado
- Código 400 do status HTTP se há a tentativa de desativar um proprietário da organização ou em caso de uma operação inválida.
Endpoints do grupo
Atributos compatíveis
Atributo SCIM |
Obrigatório? |
Descrição |
displayName |
Sim |
Título do grupo. Deve ser exclusivo dentre todos os grupos da Udemy Business. |
externalId |
Não |
O externalId do grupo do provedor de identidade |
Observação: se você especificar qualquer outro atributo que não esteja nessa lista, ele será ignorado.
GET /Groups
Esse endpoint é usado para obter uma lista paginada de todos os grupos provisionados. Inclua os parâmetros da cadeia de consulta startIndex e count para paginar os resultados.
Lembre-se de que apenas grupos criados usando o SCIM serão retornados. Os grupos criados na Udemy Business não aparecerão.
Exemplo de solicitação
GET https://demo.udemy.com/scim/v2/scim/v2/Groups
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 6,
"startIndex": 1,
"Resources": [
{
"id": "NZOaw",
"displayName": "Group Test",
"members": [
{
"value": "KwLzN3",
"display": "firstName lastName",
"type": "User",
"$ref": "https://demo.udemy.com/scim/v2/Users/KwLzN3"
},
{
"value": "eBmzpr",
"display": "user four",
"type": "User",
"$ref": "https://demo.udemy.com/scim/v2/Users/eBmzpr"
}
],
"externalId": null,
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"meta": {
"resourceType": "Group",
"location": "https://demo.udemy.com/scim/v2/Groups/NZOaw",
"created": "2024-08-23T22:26:48Z",
"lastModified": "2024-08-23T22:26:48Z"
}
},
[...]
],
"itemsPerPage": 12
}
GET /Groups?filter=
Esse endpoint é usado para filtrar grupos por atributos específicos. Por exemplo, é possível pesquisar pelo atributo displayName:
GET /Groups?filter=displayName eq "Marketing”
Isso retornará uma lista de recursos do grupo. Se não houver resultados, uma lista vazia será exibida.
Você precisará fazer a codificação URL dos parâmetros, para que a solicitação seja:
GET /Groups?filter=displayName%20eq%20%22Marketing%22
Os filtros compatíveis são:
displayName
externalId
Id
member.value
Os operadores compatíveis são:
and
eq
Resposta:
- Código 200 do status HTTP com a lista de entidades em sucesso
- Código 501 do status HTTP se um filtro incompatível for usado
POST /Groups
Esse endpoint é usado para criar (provisionar) novos grupos na Udemy Business.
Resposta:
- Código 409 do status HTTP se o grupo provisionado com o mesmo nome já existe na organização, o 409 (Conflito) será exibido com um código de erro scimType de uniqueness.
- Quando o grupo for criado com sucesso, retornaremos a representação completa do grupo com o código 201 do status HTTP (Criado) juntamente com o cabeçalho Location que contém o URL do recurso de criação do grupo.
GET /Groups/<id>
Esse endpoint é usado para obter os detalhes do grupo da Udemy Business.
Resposta:
- Código 200 do status HTTP e um recurso de grupo
- Código 404 do status HTTP se o grupo não foi encontrado
POST /Groups
Esse endpoint é usado para criar (provisionar) novos grupos na Udemy Business.
Aviso: ao usar o endpoint POST ou PUT /scim/v2/Groups para criar grupos, não inclua o atributo members na solicitação. Quaisquer membros especificados serão ignorados. Para adicionar usuários a um grupo, primeiro crie o grupo, depois faça chamadas separadas para PATCH /scim/v2/Groups/
Exemplo de solicitação
https://demo.udemy.com/scim/v2/Groups
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"displayName": "Group1",
"externalId": "234523"
}
Exemplo de resposta
{
"id": "vREOw",
"displayName": "Group1",
"members": [],
"externalId": "234523",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"meta": {
"resourceType": "Group",
"location": "https://demo.udemy.com/scim/v2/Groups/vREOw",
"created": "2025-01-15T22:24:54Z",
"lastModified": "2025-01-15T22:24:54Z"
}
}
PUT /Groups/<id>
Esse endpoint é usado para substituir os detalhes do grupo da Udemy Business.
Aviso: ao usar o endpoint POST ou PUT /scim/v2/Groups para criar grupos, não inclua o atributo members na solicitação. Quaisquer membros especificados serão ignorados. Para adicionar usuários a um grupo, primeiro crie o grupo, depois faça chamadas separadas para PATCH /scim/v2/Groups/
Exemplo de solicitação
PUT https://demo.udemy.com/scim/v2/Groups/vREOw
{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"displayName": "Group1",
"externalId": "MPD699"
}
Exemplo de resposta
{
"id": "vREOw",
"displayName": "Group1",
"members": [],
"externalId": "MPD699",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"meta": {
"resourceType": "Group",
"location": "https://demo.udemy.com/scim/v2/Groups/vREOw",
"created": "2025-01-08T21:12:53Z",
"lastModified": "2025-01-15T22:35:55Z"
}
}
Resposta:
- Código 200 do status HTTP e recurso do grupo atualizado
- Código 404 do status HTTP se o grupo não existe.
PATCH /Groups/<id>
Esse endpoint é usado para fazer atualizações parciais nos detalhes do grupo da Udemy Business.
O endpoint PATCH é mais complicado que outros, pois é compatível com diferentes tipos de operação (e é possível fazer combinações):
Exemplo de solicitação
PATCH https://demo.udemy.com/scim/v2/Groups/5ypNz
{ "schemas":
["urn:ietf:params:scim:api:messages:2.0:PatchOp"],
"Operations":[
{
"op":"add",
"path": "members",
"value":[{
"display": "demo user",
"$ref":"https://demo.udemy.com/scim/v2/Users/MPD698",
"value": "MPD698"
}
]
}
]
}
Exemplo de resposta
204 No Content
- replace operação que altera o valor especificado. No nosso caso, é o nome ou membros do grupo.
- remove operação que remove um membro do grupo.
- add operação que adiciona membros ao grupo.
As regras são as seguintes:
- Nunca removemos membros não provisionados do grupo (no caso da operação de membros "replace", por exemplo).
- A solicitação PATCH, independentemente do número de operações, DEVERÁ ser considerada atômica.
As validações de entrada são as seguintes:
- O corpo de cada solicitação DEVE conter o atributo "schemas" com o valor URI de "urn:ietf:params:scim:api:messages:2.0:PatchOp".
- O corpo de uma solicitação HTTP PATCH DEVE conter o atributo "Operations", cujo valor é uma matriz de uma ou mais operações PATCH.Cada objeto de operação PATCH DEVE conter exatamente um membro "op", cujo valor indica a operação a ser realizada e PODE ser "add", "remove" ou "replace".
- O atributo "path" pode estar vazio. Nesse caso, "value" deve ser um dicionário no formato {"path": "value"}.
- Para a operação "Remove", o caminho "members" é obrigatório.
- Para a operação "Add", os caminhos "members" ou "externalId" devem estar presentes.
- Para a operação "Replace", o caminho "members" pode estar presente. Se não estiver, significa que vamos substituir os detalhes do grupo (como o nome do grupo), mas não os membros.
Observação:
- A atribuição/o cancelamento de atribuição de usuários a um grupo ocorre de maneira assíncrona, então as mudanças não serão refletidas imediatamente na Udemy Business.
- Não oferecemos compatibilidade com grupos aninhados, então eles serão ignorados durante essa solicitação.
Resposta:
- Código 204 do status HTTP se a operação foi bem sucedida.
- Código 404 do status HTTP se o grupo não existe.
- Código 404 do status HTTP com os detalhes do erro se houve uma tentativa de atribuir um usuário que não é membro da organização a um grupo.
- Código 400 do status HTTP com os detalhes do erro no corpo da resposta se a solicitação não foi aprovada na validação
DELETE /Groups/<id>
Esse endpoint é usado para remover ou desprovisionar um grupo na Udemy Business.
As regras são as seguintes:
- Se o grupo contém membros não provisionados, remova os usuários provisionados do grupo, exclua o registro "OrganizationSCIMGroup".
Resposta:
- Código 204 do status HTTP se a operação foi bem sucedida.
- Código 404 do status HTTP se o grupo não existe.
Leia mais
- Visão geral do SCIM: http://www.simplecloud.info
- RFC 7642, SCIM – Definições, visão geral, conceitos e requisitos: https://tools.ietf.org/pdf/rfc7642.pdf
- RFC 7643, SCIM – Esquema principal: https://tools.ietf.org/pdf/rfc7643.pdf
- RFC 7644, SCIM – Protocolo: https://tools.ietf.org/pdf/rfc7644.pdf