500 Error

I am getting the below error. Any idea?

500 Internal Server Error cache_control: no-store, must-revalidate, no-cache transfer_encoding: chunked
content_type: application/problem+json *_content_type_options: nosniff
strict_transport_security: max-age=31536000;
includeSubDomains
date: Fri, 09 Jun 2023 14:51:10 GMT
{
"type": "urn:blackbaud:unexpected",
"title": "An error has occurred.",
"status": 500,

Comments

  • Chris Rodgers
    Chris Rodgers Blackbaud Employee
    Ninth Anniversary Kudos 2 Name Dropper Participant

    Hi @James Nguyen,

    We have found some 500 (Internal Server Error) responses to one of your organization's applications from the PATCH Vendor endpoint. This is a result of your application sending “On Hold” for the `vendor_status` rather than “OnHold”. Making this change should fix your issue. This should result in a 400 (Bad Request) HTTP response status code and a better error message from us. Thank you for bringing it to our attention so we can address this.

    In the future, if you find your application is consistently receiving 500-level responses under certain conditions, please review our Support Options and contact Blackbaud Support to receive a quicker response and tracking of your issue.

  • @Chris Rodgers Thanks for your response. We're still experiencing an issue after trying your suggestions. Here's a response from our developers.

    We tried sending both “On Hold” and “OnHold” and the error was still a 500 for both.We did not receive a more descriptive 400 error message.

    Any thoughts?

    Thanks.

    James

  • dab7d4f8711d6533fa4c446a8ee80e83-huge-im

    @Chris Rodgers Here's what we're trying.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 bbcon 2025 Attendee Badge

    @James Nguyen
    Hi, where are you making this call from, what language/application?

    one issue i'm seeing is your request body's use of double quotes.

    ""{
    "vendor_name": "VP Legacies, LLC",
    …………
    }

    you began with 2 double quotes, which is odd to me. Also issue_1099s is boolean, you do not need to enclose false in double quote

    might be helpful to ensure the json you passing in as request body is actually conforming to json schema standards.

  • @Alex Wong
    Thanks for your reply. Below is the response from our developers. Any other ideas are appreciated!

    That is just the workato wrapping what I sent in double quotes. It didn’t actually attempt the patch statement with two sets of quotes. As for the 1099 Boolean value, I tried taking the quotes off of that as well just to be sure, but the 500 error persists.

    Good catches by the community to be sure, but they’re not the source of the issue.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 bbcon 2025 Attendee Badge

    @James Nguyen
    I just tried the PATCH on a vendor of mine and have no problem. Please tell your developer to try the PATCH with something “small” first to make sure he got the call done properly.

    So here's what my request looks like:

    4909b09e2130c501b448307521d96cea-huge-im

    As you can see, I tried with something very simple first: changing only the vendor_name, vendor_status, and issue_1099s field. My original vendor info:
    vendor_name: “Alex Wong” (change to “Alex H Wong”)
    vendor_status: “Active” (change to “OnHold”)
    issue_1099s: “true” (change to false)

    Response looks like this:

    e0ba424d7208a684978c652899b1429b-huge-im

    If you are only changing 1 field of information, you do not need to include ALL the fields in the documentation JSON request body, just the one you want to change.

  • Chris Rodgers
    Chris Rodgers Blackbaud Employee
    Ninth Anniversary Kudos 2 Name Dropper Participant

    @James Nguyen I can see from our analytics that your 500 on 7/19 was the result of malformed JSON. I have also seen a few today that were a result of the `payment_method` value being empty (rather than a valid Enum value). Our API should return a 400s for these. I have informed the internal team who manages that API. To track this issue (or any persistent 500 you encounter), you can reach out to Blackbaud support to file a ticket.

    @Alex Wong Thanks for being a rockstar.

  • @Chris Rodgers @Alex Wong Thanks to you both. You both are rockstars! Our developer was able to identify that the issue lies with the passing of the null values to FE.

  • Alex Wong
    Alex Wong Community All-Star
    Ninth Anniversary Kudos 5 Facilitator 3 bbcon 2025 Attendee Badge

    @James Nguyen
    Just want to make sure, since your developer has identified the issue, is he ok now? or he has identified the issue (passing of the null values to FE) but have yet been able to successfully make the API call.

    By “passing null values” to FE, what exactly are you trying to do, which field are you trying to “null”. You will want to make sure the field you want to null is actually “nullable” (not a required field).

  • @Alex Wong The developer is okay now. Yes, our developer is aware that required fields need to have values passed to them. Thanks so much for your help and checking!