This page has basic steps to help you fix common issues encountered when using the Privacy API. Many issues can be fixed by following the steps below.

General troubleshooting steps

Begin by performing the following steps:

1. Determine the API request being made

You may need to review your application code, refer to your application logs, or monitor the network traffic being generated by your application to see the exact request being made.

2. Reproduce the issue

Now that you have the API request you can reproduce the problem. Use an API troubleshooting tool, like PostMan or Curl, that will allow you to see the request and response.

3. Look for an error message in the response

Many errors will return a descriptive error message in the response body. You can see some examples in the section below, and the Reference Documentation lists specific errors for each content type.

4. Process of elimination

Experiment with your request by removing a section and then making the request again. For example, if you remove a parameter and the request works, you know the error is related to that parameter.
#Error-specific troubleshooting tips

Error-specific troubleshooting tips

This section shows common errors and solutions.

Privacy API passkey not valid

Description

The Privacy API passkey is passed in the querystring. passkey=xxxxxxxxxxxxxxxxxx. If there is an issue with the passkey value, your request will receive an HTTP 403 code, but the response body will contain the message: Developer Inactive.

Solution

Start by looking up your API key in the Bazaarvoice Portal. Then review the possible issues below:

  • You are using a staging key for production, or vice versa.
  • There is a typo in your key. Confirm you are using the correct value.
  • Your key has not been approved yet. Refer to API key management to learn more.
  • Your key was initially not approved, but may be now and you are getting a cached response. Try changing your request to see if you get a valid response.
  • If you know your key was recently requested or approved, please wait up to 5 minutes to ensure the most of up-to-date key status has propagated throughout our network

Access token provided is invalid

Description

Your request receives an HTTP 403 code, with the following response body:

{
 "httpCode": 403,
 "requestURI": "/privacy/v1/accessRequests",
 "errors": [{
             "code": "OAUTH2_INVALID_ACCESS_TOKEN",
             "field": "Authorization",
             "message": "Invalid access token"
           }]
}

Solution

There was an error in the "Authorization" header key/value pair. Make sure the header value is in the form depicted below, where ACCESS_TOKEN is the Access token value aquired from the Oauth2 API:

Authorization: Bearer ACCESS_TOKEN

Unsupported media type

Description

Your request receives an HTTP 415 code, with the following response body:

{  
  "httpCode" : 415,  
  "requestURI" : "/privacy/v1/accessRequests",  
  "errors" : [{  
               "code" : "INTERNAL_SERVER_ERROR",  
               "field" : "",  
               "message" : "HTTP 415 Unsupported Media Type"  
              }]  
 }

Solution

Make sure the 'Content-Type: application/json' is included in the header.

Pending requests have identical identifiers

Description

Your request receives an HTTP 409 code, with the following response body:

{  
 "httpCode" : 409,  
 "requestURI" : "/privacy/v1/accessRequests",  
 "errors" : [{  
              "code" : "INVALID_UPDATE",  
              "field" : {idendifier},  
              "message" : "A request with this identifier is already pending"  
             }]  
}

Solution

Wait until the original request is completed before submitting a second one with the same identifier. This is true when of submitting a Access to Request followed by a Request to be Forgotten. The following sequence should be used in the above scenario:

  • Create an Access to Request.
  • Wait for the request to complete.
  • Submit a Request to be Forgotten.
  • Upon completion of the Request to be Forgotten, the link containing the results of the Access to Request will also be deleted.

No permissions to access a client

Description

Your request receives an HTTP 400 code, with the following response body:

{  
 "httpCode" : 400,  
 "requestURI" : "/privacy/v1/accessRequests",  
 "errors" : [{  
              "code" : "INVALID_PROPERTY_VALUE",  
              "field" : "clientNames",  
              "message" : "'apitestcustomersss' does not exist for AccessRequest.clientNames"  
             }]  
}

Solution

Check the values in the clientNames array and make sure those are valid clientnames and you have access to them. Leaving clientNames empty will search all clients you are scoped to.

Still having trouble? Contact us for assistance.