Process JSON/XML data based on entity views and user consent.

POST https://api.consentgrid.io/v1/pgdf/subjects/{subjectType}/{subjectId}/consent/{entity}/{view}?labelsOnly=false&context
Authorization: Bearer apiKey
Content-Type: application/json | text/xml | multipart/mixed

This API processes the input XML or JSON document using the schema and overlays defined by the entity/view, and filters out fields based on active user consent. The result is the processed document excluding the sections not allowed by the data subject according to the current consent status. If labelsOnly=true, the result is a JSON document containing the field privacy label assignemts instead of the processed document.

User consent is evaluated based on the current context. The context is a JSON document containing the additional information required to evaluate user consent. It can be specified as a JSON document in the first part of a multipart request, or it can be specified using query parameters.

Context as Query Parameters

The context is specified using the syntax field=value where field is one of:

  • context.name: This results in a string field
    {
      "name": "value"
    }
  • type.context.name: Use this syntax to specify boolean and number types. The query string.context.field1=value&number.context.field2=5 produces:
    {
      "field1": "value",
      "field2": 5
    }

Context as first part of multipart request

You can send a context document using the first part of a multipart request. The Content-Type for the first part must be application/json, and must contain a valid JSON document. The next part of the request is either a application/json or text/xml document.

Response

200 Ok

The response depends on the value of labelsOnly flag. If it is omitted or false, the output is the input document processed by the view and filtered based on active consent. It may contain additional fields added by the overlays, or fields removed/modified by them.

If labelsOnly=true, then the output document contains only the annotations added to the fields of the document:

[
  {
    "field": "address.city",
    "annotations": {
      "labels": [
        "location"
      ]
    }
  },
  ...
]
404 Not Found

Entity or view not found.

50x Server Error

Validation or processing error.