Receiving a 404 when updating a skillProficiency using the beta API

Martijn van Schie 40 Reputation points
2023-01-21T21:41:53.7933333+00:00

Hello.

I'm trying to update a user's skillProficiency using the Beta API.

First i get the skillProficiency from a user by calling the beta API.

GET https://graph.microsoft.com/beta/users/{userid}/profile/skills/180eb4aa-e988-4a44-9745-065db3460cf6/?$select=id,displayName,categories,proficiency,source

Response:

{
    "@odata.context": "https://graph.microsoft.com/beta/$metadata#users('{userid}')/profile/skills(id,displayName,categories,proficiency)/$entity",
    "id": "180eb4aa-e988-4a44-9745-065db3460cf6",
    "displayName": "azure devops",
    "categories": [],
    "proficiency": null,
    "source": {
        "type": [
            "User"
        ]
    }
}

Then i try to PATCH the skillProficiency using the beta API:

PATCH https://graph.microsoft.com/beta/users/{userid}/profile/skills/180eb4aa-e988-4a44-9745-065db3460cf6

Body:

{
    "displayName": "Azure DevOps",
    "categories": [ 
        "CI/CD"
    ],
    "proficiency": "elementary"
}

Response is a 404

{
    "error": {
        "code": "UnknownError",
        "message": "",
        "innerError": {
            "date": "2022-12-22T10:41:51",
            "request-id": "77fa3206-3ba5-4807-b79e-ceb423a61fc8",
            "client-request-id": "77fa3206-3ba5-4807-b79e-ceb423a61fc8"
        }
    }
}

I did some more testing. The uses case mentioned in the issue is based on skills added via de Delve portal. This can be seen as the source type is UPA.

I also tested to create and update a new skill both created and updated using the API. This does work (although the PATCH call returned a 204 No Content which should actually return a 200 OK response code and an updated skillProficiency object in the response body.

Also, deleting skills previously created using Delve does not work. So, there is a connection between the two.

Hope this helps with the analysis.

Microsoft Graph
Microsoft Graph
A Microsoft programmability model that exposes REST APIs and client libraries to access data on Microsoft 365 services.
10,015 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Gopinath Chennamadhavuni 2,426 Reputation points
    2023-04-10T10:38:48.41+00:00

    Hi @Martijn van Schie,

    Thanks for reaching out.

    I am also experiencing the same issue in my test tenant. APIs under the /beta version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported.

    Currently, v1.0 version does not support to update the property of a user "skillProficiency". To check the availability of this property in v1.0, I would suggest you track changeLog for any updates/changes being made to Graph APIs in near future.

    Hope this helps.

    If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".