Constituent Endpoints Are Not All Authorized

When calling GET Search Constituents via SKY API we are getting back results, but if we try to pull GET Constituents Email (via that API) or GET Individuals (via that API) we get an error message:

The current user does not have rights to use this form.

These are all part of the CRM Constituent SKY API so we are unclear why we can access some endpoints and not others as the access is just shown to be to the full Constituent API. Has any one else run into this and know a solution? We are trying to build an endpoint to create contacts from Blackbaud in our Marketing tool and Search Constituents does not return the email/contact information required.

Answers

  • I don't use Blackbaud CRM and am not familiar with how the permissions are set up, but API calls are made from a specific user account and are subject to the same permission restrictions. So I would start by confirming which user account you're using to make the calls, and verifying that their permissions are set up correctly.

    Do you get the same error message if you use the "Try it" feature in the SKY API Reference pages?

  • I'm getting it both via "Try It" (after authorizing per the popup) and via Postman. This is a new partnership so the users were created on the Blackbaud end for our account.

  • When using the "Try It" feature and Postman, are you using the same account that you're using when you get the failed API calls in your application? And are you sure that you are connecting to the same Blackbaud environment in all three places?

  • I am using the same API access key in both places

  • Ok, that's interesting. What about the access token? When you obtain your access token, it will ask you to log in to a Blackbaud account. Are you logging in with the same account?

  • Using the same value for both keys (Subscription key and Bb-Api-Subscription-Key)

  • Ok, thanks. So far it's still sounding like a permissions issue to me. Is it giving you a 403 response? 400?

  • {
        "type": "urn:blackbaud:general-translation-error",
        "title": "One or more validation errors occurred.",
        "status": 400,
        "detail": "Error processing Infinity response: <Envelope>\n  <Body>\n    <LoadDataReply>\n      <StatusOK>false</StatusOK>\n      <StatusCode>500</StatusCode>\n      <StatusMessage>The current user does not have rights to use this form.</StatusMessage>\n      <ErrorDetail>\n        <ServiceErrorCode>AccessDenied</ServiceErrorCode>\n        <ServiceErrorCodeNumber>1</ServiceErrorCodeNumber>\n        <ErrorName>DataFormNoPermission</ErrorName>\n        <ErrorText>The current user does not have rights to use this form.</ErrorText>\n        <ErrorDetails>The current user does not have rights to use this form.</ErrorDetails>\n        <DataFormErrorCode>GeneralError</DataFormErrorCode>\n        <DataFormErrorCodeNumber>0</DataFormErrorCodeNumber>\n        <DataFormErrorInvalidFieldReason nil=\"true\" />\n      </ErrorDetail>\n      <TSLong>0</TSLong>\n    </LoadDataReply>\n  </Body>\n</Envelope>",
        "trace_id": "*************************************",
        "span_id": "**********************"
    }

  • Yeah, since I haven't used BB CRM, all I can say is I'd check in with the people who set up your account, let them know you're getting this message and see if they can adjust your access. If it seems like permissions are set up properly, they may need to work with Support to trouble-shoot. Sorry I don't have a more useful answer.

  • Thanks; I agree that it seems to be a config issue (since these are all in the same API you would expect them to either all work or none of them work, not some work and others don't.) We are trying to get a call setup with them to review. If I get a useful answer I will try to post back here so its on the internet forever for others to find.

Categories