Using UPDATE API's in SKY Developer

Hi friends. Was looking for some help. I have used the SKY API endpoints extensively to access data from our systems (Education Management, Raisers Edge). However, now I'm venturing forward and learning to use the UPDATE endpoints. Specifically USER Patch (Update), and Address Patch (Update). I have two main questions: 1) How to REMOVE/CLEAR fields for a user? For example - how to delete the Middle Name for a user. I've tried assigning nulls and empty set (""). But nothing seems to work in the body of the payload 2) Has anyone been able to UPDATE the Preferred Name using the USER PATCH API. No matter what I do, I can't get the Preferred Name field to update. Thanks for your help! By the way - I'm using the Blackbaud SKY API Console for my testing

Comments

  • Stephen Boyle
    Stephen Boyle Blackbaud Employee
    Tenth Anniversary Kudos 5 First Reply Name Dropper

    @Shawn Sekela
    So, bad new/good news.

    The User Update endpoint is not deleting fields correctly. That is currently being worked on however, and a fix will be coming soon.

    Once corrected the proper way to handle deletes is seen with the state_id field, which is deleting correctly. A request body for User Update like this will delete the field's data.
    {
    "id": 7901666,
    "state_id": ""

    }

    You would omit the field altogether to leave it untouched.

  • Stephen Boyle
    Stephen Boyle Blackbaud Employee
    Tenth Anniversary Kudos 5 First Reply Name Dropper

    @Shawn Sekela
    A follow-up on this issue:
    The User update endpoint has a validation step, specifically for deleting data, that was only accessible in the UI, and thus it did not delete field data as it should. We've updated it to accommodate (as best we could) the issue causing that. It's a non-traditional but effective solution ?.

    It's in our Changelog, but I wanted to make sure you saw it.

    PATCH User update to now accept an array of fields_to_delete, enabling the request to remove data for each included comma-separated field names (e.g., middle_name, living_status) from the user. If the field is part of an object, represent the field using dot notation (e.g., passport.number, locker.number) in the array.

    Have a good day,
    Stephen

Categories