Fenergo Nebula Identity Scim API v1

Fenergo Nebula Identity Scim API — OpenAPI 3.0.1 contract published by Fenergo for the identity-scim service of the Fen-X SaaS platform, carrying 12 path(s) and 20 operation(s). Harvested verbatim from Fenergo's own published specification endpoint.

Operations 20

POST /Bulk Performs multiple operations at once and returns the status of each operation. #
GET /Groups Gets all groups. Accepts filters and sorting. #
POST /Groups Creates a group. #
POST /Groups/.search Returns groups according to the filter, sort and pagination parameters. #
GET /Groups/{id} Gets a group by ID. #
DELETE /Groups/{id} Deletes a group by ID. #
PUT /Groups/{id} Updates all group details and returns the updated group details. #
PATCH /Groups/{id} Updates some group details and returns the updated group details. #
GET /ResourceTypes Gets all the resource types. #
GET /ResourceTypes/{id} Gets a resource type by ID. #
GET /Schemas Gets all the schemas. #
GET /Schemas/{id} Gets a schema by ID. #
GET /ServiceProviderConfig Gets the service provider config. #
GET /Users Gets all users. Accepts filters and sorting. #
POST /Users Creates a user and returns the user details along with the user's unique ID. #
POST /Users/.search Returns users according to the filter, sort and pagination parameters. #
GET /Users/{id} Gets a user by ID. #
DELETE /Users/{id} Deletes a user by ID. #
PUT /Users/{id} Updates all user details and returns the updated user details. #
PATCH /Users/{id} Updates some user details and returns the updated user details. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/identity-scim-v1"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

fenergo-identity-scim-v1-openapi.json Raw ↑
{
  "openapi": "3.0.1",
  "info": {
    "title": "Fenergo Nebula Identity Scim API",
    "description": "\n## What is SCIM?\nSCIM (System for Cross-Domain Identity Management) is an industry standard specification \ndesigned to bring consistency to the management of user identities in cloud-based applications and services.\n\n### What does the Fen-X SCIM feature give us?\nA publicly exposed new RESTful API (compliant with the SCIM 2.0 specification) \nwhich will allow clients to manage the users in their Fen-X tenants. Clients can do this in two main ways:\n<ul>\n    <li> Calling the SCIM RESTfull API directly.</li>\n    <li> Provision a SCIM 2.0 connector/application in their Identity Provider.</li>\n</ul>\n\n### SCIM RFC specifications\nFor more information about SCIM and examples on how to use it, check out the following RFC specifications:\n<ul>\n    <li><a href='https://www.rfc-editor.org/rfc/rfc7642.html' target='_blank'>RFC 7642 - System for Cross-domain Identity Management: Definitions, Overview, Concepts, and Requirements</a></li>\n    <li><a href='https://www.rfc-editor.org/rfc/rfc7643.html' target='_blank'>RFC 7643 - System for Cross-domain Identity Management: Core Schema</a></li>\n    <li><a href='https://www.rfc-editor.org/rfc/rfc7644.html' target='_blank'>RFC 7644 - System for Cross-domain Identity Management: Protocol</a></li>\n<ul>\n",
    "version": "v1"
  },
  "servers": [
    {
      "url": "/scim"
    }
  ],
  "paths": {
    "/Bulk": {
      "post": {
        "tags": [
          "Bulk"
        ],
        "summary": "Performs multiple operations at once and returns the status of each operation.",
        "operationId": "Bulk",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkRequestDto"
              },
              "examples": {
                "bulk-create-users": {
                  "summary": "Bulk - Create multiple users",
                  "description": "Create multiple users at once. The 'bulkId' attribute is REQUIRED because operations are POST",
                  "value": {
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:BulkRequest" ],
"operations": [
{
"method": "POST",
"path": "/Users",
"bulkId": "bulkid1",
"data": {
"externalId": "1234",
"schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ],
"userName": "johndoe@company.com",
"emails": [
{
"type": "work",
"value": "johndoe@company.com",
"primary": true
}
],
"name": {
"familyName": "Doe",
"givenName": "John"
}
}
},
{
"method": "POST",
"path": "/Users",
"bulkId": "bulkid2",
"data": {
"externalId": "5678",
"schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ],
"userName": "johnsmith@company.com",
"emails": [
{
"type": "work",
"value": "johnsmith@company.com",
"primary": true
}
],
"name": {
"familyName": "Smith",
"givenName": "John"
}
}
}
]
}
                },
                "bulk-update-users": {
                  "summary": "Bulk - Update multiple users",
                  "description": "Update multiple users at once. The 'userName' is mandatory and it can't be changed because operations are PUT",
                  "value": {
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:BulkRequest" ],
"operations": [
{
"method": "PUT",
"path": "/Users/efca51d8-938d-4855-b461-3166d1e6fe8e",
"bulkId": "1234",
"data": {
"schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ],
"userName": "johndoe@company.com",
"name": {
"familyName": "New family name",
"givenName": "New given name"
},
"emails": [
{
"primary": true,
"type": "work",
"value": "johndoe@company.com"
},
{
"type": "home",
"value": "johndoe@gmail.com"
}
]
}
},
{
"method": "PUT",
"path": "/Users/7cd066bc-b706-468f-938a-f955930b693f",
"bulkId": "5678",
"data": {
"schemas": [ "urn:ietf:params:scim:schemas:core:2.0:User" ],
"userName": "johnsmith@company.com",
"nickName": "New nickname"
}
}
]
}
                },
                "bulk-patch-users": {
                  "summary": "Bulk - Patch multiple users",
                  "description": "Patch multiple users at once",
                  "value": {
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:BulkRequest" ],
"operations": [
{
"method": "PATCH",
"path": "/Users/efca51d8-938d-4855-b461-3166d1e6fe8e",
"data": {
"operations": [
{
"op": "replace",
"path": "name",
"value": {
"givenName": "New Given Name",
"familyName": "New Family Name"
}
},
{
"op": "add",
"path": "title",
"value": "New title"
},
{
"op": "remove",
"path": "nickName"
}
],
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ]
}
},
{
"method": "PATCH",
"path": "/Users/7cd066bc-b706-468f-938a-f955930b693f",
"data": {
"operations": [
{
"op": "add",
"path": "nickName",
"value": "My nickname"
}
],
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ]
}
}
]
}
                },
                "bulk-delete-users": {
                  "summary": "Bulk - Delete multiple users",
                  "description": "Delete multiple users at once",
                  "value": {
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:BulkRequest" ],
"operations": [
{
"method": "DELETE",
"path": "/Users/efca51d8-938d-4855-b461-3166d1e6fe8e"
},
{
"method": "DELETE",
"path": "/Users/7cd066bc-b706-468f-938a-f955930b693f"
}
]
}
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkResponseDto"
                },
                "example": {
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:BulkResponse"
],
"Operations": [
{
"method": "{HTTP_METHOD}",
"bulkId": "bulkId1",
"status": {
"code": 200
},
"version": "1",
"location": "https://company.com/scim/Users/{userId}"
},
{
"method": "{HTTP_METHOD}",
"bulkId": "bulkId2",
"status": {
"code": 404,
"response": {}
}
},
{
"method": "{HTTP_METHOD}",
"bulkId": "bulkId3",
"status": {
"code": 400,
"response": {}
}
}
]
}
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "413": {
            "description": "Client Error"
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/Groups": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Gets all groups. Accepts filters and sorting.",
        "description": "<p>Check out the following sections of the SCIM RFC for more information about how to use the search parameters:</p><ul><li>Definition of the search attributes: <a href='https://www.rfc-editor.org/rfc/rfc7644.html#section-3.4.3' target='_blank'>RFC 7644 Section 3.4.3</a></li><li>The format of the 'attributes' and the 'excludedAttributes' properties: <a href='https://www.rfc-editor.org/rfc/rfc7644.html#section-3.10' target='_blank'>RFC 7644 Section 3.10</a></li><li>Supported operators for filtering: <a href='https://www.rfc-editor.org/rfc/rfc7644.html#section-3.4.2.2' target='_blank'>RFC 7644 Section 3.4.2.2</a></li></ul><p>Groups with many members could make endpoint timeout, make sure <b>members</b> attribute is added to the list of <b>excludedAttributes</b>. For groups with many members, prefer <b>/Groups/{id}</b> endpoint.</p>",
        "operationId": "GetAllGroups",
        "parameters": [
          {
            "name": "attributes",
            "in": "query",
            "description": "A multi-valued list of strings indicating the names of resource attributes to return in the response",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "excludedAttributes",
            "in": "query",
            "description": "A multi-valued list of strings indicating the names of resource attributes to be removed from the default set of attributes to return",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "default": [
                "members"
              ]
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "A string indicating the attribute whose value shall be used to order the returned responses",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sortOrder",
            "in": "query",
            "description": "An integer indicating the order in which the \"sortBy\" parameter is applied. Sort order: 0 'Ascending' or 1 'Descending'.",
            "schema": {
              "$ref": "#/components/schemas/SearchSCIMRepresentationOrders"
            }
          },
          {
            "name": "startIndex",
            "in": "query",
            "description": "An integer indicating the 1-based index of the first query result.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "count",
            "in": "query",
            "description": "An integer indicating the desired maximum number of query results per page",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "filter",
            "in": "query",
            "description": "Filter expression from the SCIM 2.0 specification <a href=\"https://www.rfc-editor.org/rfc/rfc7644#section-3.4.2.2\">(RFC 7644)</a> (case in-sensitive).",
            "schema": {
              "type": "string"
            },
            "examples": {
              "No filter": {
                "value": ""
              },
              "DisplayName starts with 'Group'": {
                "value": "displayName sw \"Group\""
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListGroupsResponseDto"
                },
                "example": {
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 2,
"itemsPerPage": 100,
"startIndex": 1,
"Resources": [
{
"id": "24f0c403-370b-4b13-b675-2f6ce0d2b2bf",
"members": [
{
"value": "04c23012-4dba-4005-bd08-f063061dce12"
}
],
"displayName": "Test Group with fenxgroup extension",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group": {
"fenxAccessLayerIds": [
"c40ac099-1cdc-440b-80c6-edff7529bd57"
],
"fenxTeamIds": [
"02fc78fd-98d5-4f09-bd5d-a72259377a48",
"adab0d3b-a00d-4fd1-9ab3-39dbeab235dc"
]
},
"meta": {
"resourceType": "Group",
"created": "2024-03-13T16:21:12.519645",
"lastModified": "2024-03-13T21:57:12.661613",
"version": 3,
"location": "https://identity.fenergonebula.com/scim/Groups/24f0c403-370b-4b13-b675-2f6ce0d2b2bf"
},
"externalId": "1234",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group"
]
},
{
"id": "916e5e9e-06b7-49b5-90bc-c7f206e8c858",
"displayName": "Test Group",
"members": [],
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group": {},
"meta": {
"resourceType": "Group",
"created": "2024-03-13T21:57:53.254864",
"lastModified": "2024-03-13T21:57:53.254864",
"version": 0,
"location": "https://identity.fenergonebula.com/scim/Groups/916e5e9e-06b7-49b5-90bc-c7f206e8c858"
},
"externalId": "12345",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group"
]
}
]
}
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "400": {
            "description": "BadRequest",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "Creates a group.",
        "description": "<p>The mandatory fields to create a new group are: </p><ul><li>A schema array (schemas)</li><li>A display name (displayName)</li></ul><p>Returns 201 if successfully created, 409 Conflict if 'displayName' already exists.</p><p>The 'id' returned by this endpoint when a group is created is the ID of the group in the SCIM API, and can be used to manage the group resource within the SCIM API.</p>",
        "operationId": "CreateGroup",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupsCreateUpdateRequestDto"
              },
              "examples": {
                "groups-create-group": {
                  "summary": "Groups - Create a group",
                  "description": "Create a new group",
                  "value": {
"externalId": "1234",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"displayName": "Test Group"
}
                },
                "groups-create-group-with-members": {
                  "summary": "Groups - Create a group with members",
                  "description": "Create a new group with members",
                  "value": {
"externalId": "1234",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group"
],
"displayName": "Test Group",
"members": [
{
"value": "df00c9f4-d8f0-4d8c-b5fe-139944bc70a2"
}
]
}
                },
                "groups-create-group-with-extension-schema": {
                  "summary": "Groups - Create a group with extension schema",
                  "description": "Create a new group with extension schema",
                  "value": {
"externalId": "1234",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group"
],
"displayName": "Test Group with fenxgroup extension",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group": {
"fenxTeamIds": [
"adab0d3b-a00d-4fd1-9ab3-39dbeab235dc",
"02fc78fd-98d5-4f09-bd5d-a72259377a48"
],
"fenxAccessLayerIds": [
"c40ac099-1cdc-440b-80c6-edff7529bd57"
]
}
}
                }
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupsResponseDto"
                },
                "example": {
"id": "24f0c403-370b-4b13-b675-2f6ce0d2b2bf",
"members": [
{
"value": "04c23012-4dba-4005-bd08-f063061dce12"
}
],
"displayName": "Test Group with fenxgroup extension",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group": {
"fenxAccessLayerIds": [
"c40ac099-1cdc-440b-80c6-edff7529bd57"
],
"fenxTeamIds": [
"02fc78fd-98d5-4f09-bd5d-a72259377a48",
"adab0d3b-a00d-4fd1-9ab3-39dbeab235dc"
]
},
"meta": {
"resourceType": "Group",
"created": "2024-03-13T16:21:12.519645",
"lastModified": "2024-03-13T21:57:12.661613",
"version": 3,
"location": "https://identity.fenergonebula.com/scim/Groups/24f0c403-370b-4b13-b675-2f6ce0d2b2bf"
},
"externalId": "1234",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group"
]
}
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                },
                "example": {
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "409",
"scimType": "uniqueness",
"detail": "attribute displayName must be unique"
}
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      }
    },
    "/Groups/.search": {
      "post": {
        "tags": [
          "Groups"
        ],
        "summary": "Returns groups according to the filter, sort and pagination parameters.",
        "description": "<p>Check out the following sections of the SCIM RFC for more information about how to use the search parameters:</p><ul><li>Definition of the search attributes: <a href='https://www.rfc-editor.org/rfc/rfc7644.html#section-3.4.3' target='_blank'>RFC 7644 Section 3.4.3</a></li><li>The format of the 'attributes' and the 'excludedAttributes' properties: <a href='https://www.rfc-editor.org/rfc/rfc7644.html#section-3.10' target='_blank'>RFC 7644 Section 3.10</a></li><li>Supported operators for filtering: <a href='https://www.rfc-editor.org/rfc/rfc7644.html#section-3.4.2.2' target='_blank'>RFC 7644 Section 3.4.2.2</a></li></ul><p>Groups with many members could make endpoint timeout, make sure <b>members</b> attribute is added to the list of <b>excludedAttributes</b>. For groups with many members, prefer <b>/Groups/{id}</b> endpoint.</p><p>The supported values for the 'sortOrder' attribute are:</p><ul><li>0: Ascending order</li><li>1: Descending order</li></ul><p>Returns 200 even if there are no results for the specified filters.</p>",
        "operationId": "SearchGroups",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupsSearchRequestDto"
              },
              "examples": {
                "groups-search-groups": {
                  "summary": "Groups - Search groups",
                  "description": "Get the 'displayName', 'fenxTeamIds' attributes of the first group that have the 'displayName' attribute present, sorted by 'fenxTeamIds' in descending order",
                  "value": {
"attributes": [
"urn:ietf:params:scim:schemas:core:2.0:Group:displayName",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group:fenxTeamIds"
],
"sortBy": "urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group:fenxTeamIds",
"sortOrder": 1,
"startIndex": 1,
"count": 1,
"filter": "displayName pr"
}
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListGroupsResponseDto"
                },
                "example": {
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:ListResponse"
],
"totalResults": 1,
"itemsPerPage": 1,
"startIndex": 1,
"Resources": [
{
"id": "24f0c403-370b-4b13-b675-2f6ce0d2b2bf",
"displayName": "Test Group with fenxgroup extension",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group": {
"fenxTeamIds": [
"2bf709ab-8cca-4da7-81c7-492c76bd4b7d"
]
}
}
]
}
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        }
      }
    },
    "/Groups/{id}": {
      "get": {
        "tags": [
          "Groups"
        ],
        "summary": "Gets a group by ID.",
        "operationId": "GetGroupById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "UUID: Universally Unique Identifier with 32 alpha-numeric characters formated as 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'.",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "attributes",
            "in": "query",
            "description": "A multi-valued list of strings indicating the names of resource attributes to return in the response",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "excludedAttributes",
            "in": "query",
            "description": "A multi-valued list of strings indicating the names of resource attributes to be removed from the default set of attributes to return",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupsResponseDto"
                },
                "example": {
"id": "24f0c403-370b-4b13-b675-2f6ce0d2b2bf",
"members": [
{
"value": "04c23012-4dba-4005-bd08-f063061dce12"
}
],
"displayName": "Test Group with fenxgroup extension",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group": {
"fenxAccessLayerIds": [
"c40ac099-1cdc-440b-80c6-edff7529bd57"
],
"fenxTeamIds": [
"02fc78fd-98d5-4f09-bd5d-a72259377a48",
"adab0d3b-a00d-4fd1-9ab3-39dbeab235dc"
]
},
"meta": {
"resourceType": "Group",
"created": "2024-03-13T16:21:12.519645",
"lastModified": "2024-03-13T21:57:12.661613",
"version": 3,
"location": "https://identity.fenergonebula.com/scim/Groups/24f0c403-370b-4b13-b675-2f6ce0d2b2bf"
},
"externalId": "1234",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group"
]
}
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                },
                "example": {
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "404",
"scimType": "unknown",
"detail": "resource 41cd4c12-6765-45ca-8dc3-6ce0dcbaf52f not found"
}
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Groups"
        ],
        "summary": "Deletes a group by ID.",
        "description": "Returns 204 if successfully deleted, 404 if not found.",
        "operationId": "DeleteGroup",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "UUID: Universally Unique Identifier with 32 alpha-numeric characters formated as 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                },
                "example": {
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "404",
"scimType": "unknown",
"detail": "resource 41cd4c12-6765-45ca-8dc3-6ce0dcbaf52f not found"
}
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Groups"
        ],
        "summary": "Updates all group details and returns the updated group details.",
        "operationId": "UpdateGroup",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "UUID: Universally Unique Identifier with 32 alpha-numeric characters formated as 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupsCreateUpdateRequestDto"
              },
              "examples": {
                "groups-update-group": {
                  "summary": "Groups - Update a group",
                  "description": "Update an existing group.",
                  "value": {
"schemas": [ "urn:ietf:params:scim:schemas:core:2.0:Group" ],
"displayName": "Updated Group Display Name"
}
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupsResponseDto"
                },
                "example": {
"id": "24f0c403-370b-4b13-b675-2f6ce0d2b2bf",
"members": [
{
"value": "04c23012-4dba-4005-bd08-f063061dce12"
}
],
"displayName": "Test Group with fenxgroup extension",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group": {
"fenxAccessLayerIds": [
"c40ac099-1cdc-440b-80c6-edff7529bd57"
],
"fenxTeamIds": [
"02fc78fd-98d5-4f09-bd5d-a72259377a48",
"adab0d3b-a00d-4fd1-9ab3-39dbeab235dc"
]
},
"meta": {
"resourceType": "Group",
"created": "2024-03-13T16:21:12.519645",
"lastModified": "2024-03-13T21:57:12.661613",
"version": 3,
"location": "https://identity.fenergonebula.com/scim/Groups/24f0c403-370b-4b13-b675-2f6ce0d2b2bf"
},
"externalId": "1234",
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:Group",
"urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group"
]
}
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                },
                "example": {
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "404",
"scimType": "unknown",
"detail": "resource 41cd4c12-6765-45ca-8dc3-6ce0dcbaf52f not found"
}
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                },
                "example": {
"schemas": [
"urn:ietf:params:scim:api:messages:2.0:Error"
],
"status": "409",
"scimType": "uniqueness",
"detail": "attribute displayName must be unique"
}
              }
            }
          },
          "500": {
            "description": "Server Error",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponseDto"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Groups"
        ],
        "summary": "Updates some group details and returns the updated group details.",
        "description": "<p>The supported values for the 'operations.op' attribute are:</p><ul><li>add</li><li>remove</li><li>replace</li></ul><p>The endpoint may return the following successful responses if the request is accepted:</p><ul><li>A 200 response with the updated group details if a change has been made to the group</li><li>A 204 response if nothing has been updated in the group</li></ul>",
        "operationId": "PatchGroup",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "UUID: Universally Unique Identifier with 32 alpha-numeric characters formated as 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GroupsPatchRequestDto"
              },
              "examples": {
                "groups-patch-group-details": {
                  "summary": "Groups - Patch group details",
                  "description": "Patch an existing group details.",
                  "value": {
"operations": [
{
"op": "replace",
"path": "displayName",
"value": "New display name"
},
{
"op": "replace",
"path": "externalId",
"value": "New externalId"
}
],
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ]
}
                },
                "groups-patch-group-members": {
                  "summary": "Groups - Patch members of a group",
                  "description": "Patch members of an existing group.",
                  "value": {
"operations": [
{
"op": "add",
"path": "members",
"value": [
{
"value": "746133cf-850e-4d67-8a34-9bf084625194"
}
]
},
{
"op": "remove",
"path": "members",
"value": [
{
"value": "04c23012-4dba-4005-bd08-f063061dce12"
}
]
},
{
"op": "replace",
"path": "members",
"value": [
{
"value": "ca1fe5af-7a43-4362-9390-ca7eb83bd9c8"
},
{
"value": "0d2f969d-0125-4f09-9150-524f4dccc5ab"
}
]
}
],
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ]
}
                },
                "groups-patch-group-teams-accesslayers": {
                  "summary": "Groups - Patch teams and access layers of a group",
                  "description": "Patch the teams and access layers of an existing group.",
                  "value": {
"operations": [
{
"op": "replace",
"path": "urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group:fenxTeamIds",
"value": [ "adab0d3b-a00d-4fd1-9ab3-39dbeab235dc" ]
},
{
"op": "add",
"path": "urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group:fenxTeamIds",
"value": "adab0d3b-a00d-4fd1-9ab3-39dbeab235dc"
},
{
"op": "remove",
"path": "urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group:fenxTeamIds",
"value": "adab0d3b-a00d-4fd1-9ab3-39dbeab235dc"
},
{
"op": "replace",
"path": "urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group:fenxAccessLayerIds",
"value": [ "adab0d3b-a00d-4fd1-9ab3-39dbeab235dc" ]
},
{
"op": "add",
"path": "urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group:fenxAccessLayerIds",
"value": "adab0d3b-a00d-4fd1-9ab3-39dbeab235dc"
},
{
"op": "remove",
"path": "urn:ietf:params:scim:schemas:extension:fenxgroup:2.0:Group:fenxAccessLayerIds",
"value": "adab0d3b-a00d-4fd1-9ab3-39dbeab235dc"
}
],
"schemas": [ "urn:ietf:params:scim:api:messages:2.0:PatchOp" ]
}
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupsResponseDto"
                },
                "example": {
"id": "24f0c403-370b-4b13-b675-2f6ce0d2b2bf",
"members": [
{
"val

# --- truncated at 32 KB (131 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fenergo/refs/heads/main/openapi/fenergo-identity-scim-v1-openapi.json