Is there a way to update the schema via API

Is there a way to update the schema via at present we are unable to update the attribute is group to true as the current value is false

{
                "name": "roles",
                "type": "STRING",
                "schema": null,
                "description": "Roles for the user's",
                "isMulti": true,
                "isEntitlement": true,
                "isGroup": false
            }

Yes, you should be able to update a source account schema. To perform a full update of the entire schema, use the PUT endpoint. If you want to do a partial update, use the PATCH endpoint.

I have tried but it gives me bad request can help me with an example.
i just want to make an attribute is group as true:

@colin_mckibben i was able to successfully update the schema but the result remains same
please let me know if any suggestions

.

My expected output is something like this which is configured in another source:

In order to switch an account attribute to a group, you need to have the following in place:

  1. isEntitlement: true
  2. Must define a schema for the group and add it to the source before updating the isGroup flag. For example, here is the group account attribute referencing a schema that defines the group:
{
    "name": "groups",
    "type": "STRING",
    "schema": {
        "type": "CONNECTOR_SCHEMA",
        "id": "2c9180887671ff8c01767b4671fc7d60",
        "name": "group"
    },
    "description": "The groups, roles etc. that reference account group objects",
    "isMulti": true,
    "isEntitlement": true,
    "isGroup": true
}

And here is the schema object for the group. Define your own schema and add it to the source using this endpoint.

{
        "nativeObjectType": "Group",
        "identityAttribute": "id",
        "displayAttribute": "displayName",
        "hierarchyAttribute": null,
        "includePermissions": false,
        "features": [],
        "configuration": {},
        "attributes": [
            {
                "name": "id",
                "type": "STRING",
                "schema": null,
                "description": "Unique ID for Group",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "name",
                "type": "STRING",
                "schema": null,
                "description": "The name of the account - typically groupname etc.",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "displayName",
                "type": "STRING",
                "schema": null,
                "description": "The preferred display name for the account",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "created",
                "type": "STRING",
                "schema": null,
                "description": "Date/Time when the group was created (utime)",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "description",
                "type": "STRING",
                "schema": null,
                "description": "Multi-purpose field used to capture a description or comments",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "modified",
                "type": "STRING",
                "schema": null,
                "description": "Date/Time when the group was modified (utime)",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "entitlements",
                "type": "STRING",
                "schema": null,
                "description": "The access rights, entitlements etc. that the account has access to.",
                "isMulti": true,
                "isEntitlement": true,
                "isGroup": false
            },
            {
                "name": "groups",
                "type": "STRING",
                "schema": null,
                "description": "The groups, roles etc. that reference to account group objects",
                "isMulti": true,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "permissions",
                "type": "STRING",
                "schema": null,
                "description": "The permissions associated with the account",
                "isMulti": true,
                "isEntitlement": false,
                "isGroup": false
            }
        ],
        "id": "2c9180887671ff8c01767b4671fc7d60",
        "name": "group",
        "created": "2020-12-19T13:53:02.972Z",
        "modified": null
    }

@colin_mckibben am aware of the same and was able to update it also however on running aggregation for groups its throws and error as below:

image

Below is the schema which i am using:

[
    {
        "nativeObjectType": "user",
        "identityAttribute": "email",
        "displayAttribute": "userID",
        "hierarchyAttribute": null,
        "includePermissions": false,
        "features": [],
        "configuration": {},
        "attributes": [
            {
                "name": "fullName",
                "type": "STRING",
                "schema": null,
                "description": "Full Name of the user",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "password",
                "type": "STRING",
                "schema": null,
                "description": "Password for the SFMC account",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "businessUnit",
                "type": "STRING",
                "schema": {
                    "type": "CONNECTOR_SCHEMA",
                    "id": "2c918083825f90f601826c7c02c2301b",
                    "name": "group"
                },
                "description": "Business Unit of the user's",
                "isMulti": true,
                "isEntitlement": true,
                "isGroup": true
            },
            {
                "name": "userStatus",
                "type": "STRING",
                "schema": null,
                "description": "Status of the user",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "email",
                "type": "STRING",
                "schema": null,
                "description": "Email ID of the user",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "userID",
                "type": "STRING",
                "schema": null,
                "description": "Account User ID of user's",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            }
        ],
        "id": "2c918083825f90f601826c7c02c2301a",
        "name": "account",
        "created": "2022-08-05T05:30:42.754Z",
        "modified": "2022-08-09T06:01:49.034Z"
    },
    {
        "nativeObjectType": "group",
        "identityAttribute": "id",
        "displayAttribute": "name",
        "hierarchyAttribute": null,
        "includePermissions": false,
        "features": [],
        "configuration": {},
        "attributes": [
            {
                "name": "id",
                "type": "STRING",
                "schema": null,
                "description": "BusinessUnit ID",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "name",
                "type": "STRING",
                "schema": null,
                "description": "BusinessUnit Name",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "accountType",
                "type": "STRING",
                "schema": null,
                "description": "BusinessUnit Account Type",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "businessName",
                "type": "STRING",
                "schema": null,
                "description": "BusinessUnit Business Name",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            }
        ],
        "id": "2c918083825f90f601826c7c02c2301b",
        "name": "group",
        "created": "2022-08-05T05:30:42.754Z",
        "modified": "2022-08-09T05:57:50.899Z"
    }
]

Also to point i have a separate source with same configuration where it seems to run and fetch the groups but only difference is the schema

where the attribute roles marked as is group as true:

[
    {
        "nativeObjectType": "user",
        "identityAttribute": "email",
        "displayAttribute": "userID",
        "hierarchyAttribute": null,
        "includePermissions": false,
        "features": [],
        "configuration": {},
        "attributes": [
            {
                "name": "fullName",
                "type": "STRING",
                "schema": null,
                "description": "Full Name of the user",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "password",
                "type": "STRING",
                "schema": null,
                "description": "Password for the SFMC account",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "businessUnit",
                "type": "STRING",
                "schema": {
                    "type": "CONNECTOR_SCHEMA",
                    "id": "2c9180847c93bcaa017ca3bfac8723d1",
                    "name": "group"
                },
                "description": "Business Unit of the user's",
                "isMulti": true,
                "isEntitlement": true,
                "isGroup": true
            },
            {
                "name": "userStatus",
                "type": "STRING",
                "schema": null,
                "description": "Status of the user",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "email",
                "type": "STRING",
                "schema": null,
                "description": "Email ID of the user",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "userID",
                "type": "STRING",
                "schema": null,
                "description": "Account User ID of user's",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "roles",
                "type": "STRING",
                "schema": null,
                "description": "Roles for the user's",
                "isMulti": true,
                "isEntitlement": true,
                "isGroup": true
            }
        ],
        "id": "2c9180847c93bcaa017ca3bfac8723d0",
        "name": "account",
        "created": "2021-10-21T16:47:00.231Z",
        "modified": "2021-11-08T14:19:27.838Z"
    },
    {
        "nativeObjectType": "group",
        "identityAttribute": "id",
        "displayAttribute": "name",
        "hierarchyAttribute": null,
        "includePermissions": false,
        "features": [],
        "configuration": {},
        "attributes": [
            {
                "name": "id",
                "type": "STRING",
                "schema": null,
                "description": "BusinessUnit ID",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "name",
                "type": "STRING",
                "schema": null,
                "description": "BusinessUnit Name",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "accountType",
                "type": "STRING",
                "schema": null,
                "description": "BusinessUnit Account Type",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            },
            {
                "name": "businessName",
                "type": "STRING",
                "schema": null,
                "description": "BusinessUnit Business Name",
                "isMulti": false,
                "isEntitlement": false,
                "isGroup": false
            }
        ],
        "id": "2c9180847c93bcaa017ca3bfac8723d1",
        "name": "group",
        "created": "2021-10-21T16:47:00.231Z",
        "modified": "2021-11-01T12:16:13.721Z"
    }
]

Am i missing something or this is an application end issue
thanks for your help

this helped to resolve it