🤖 For AI agents: The complete documentation index is available at /docs/llms.txt. A markdown version of this page is available at /docs/apis/consents/create-a-consent.md.

This API is used to create a new Consent.

Request#

Global API Key Authentication
Create a new Consent with a randomly generated Id
POST/api/consent
OpenAPI Spec
Global API Key Authentication
Create a new Consent with the provided unique Id
POST/api/consent/{consentId}
OpenAPI Spec

Request Parameters#

consentId UUID optional Defaults to secure random UUID Immutable

The Id to use for the new Consent. If not specified a secure random UUID will be generated.

Request Body#

consent.consentEmailTemplateId UUID optional

The Id of the Email Template that is used to send confirmation to the end user. If this value is omitted an email will not be sent to the user.

consent.countryMinimumAgeForSelfConsent Map<Locale, Integer> optional

This property optionally overrides the value provided in defaultMinimumAgeForSelfConsent if a more specific value is defined. This can be useful when the age of self consent varies by country.

For example, consider the following definition:

{
"de": 17
}

If a user has defined their preferred locale to be Germany (de), the age of self consent defined for Germany will be used instead of the value defined by defaultMinimumAgeForSelfConsent.

consent.data Object optional

An object that can hold any information about the Consent that should be persisted.

consent.defaultMinimumAgeForSelfConsent Integer required

The default age of self consent used when granting this consent to a user unless a more specific one is provided by the countryMinimumAgeForSelfConsent.

A user that meets the minimum age of self consent may self-consent, this means the recipient may also be the giver.

consent.emailPlus.enabled Boolean optional Defaults to false

Set this value to true to enable the Email Plus workflow.

Email Plus provides and additional opportunity to notify the giver that consent was provided. For example, if consentEmailTemplateId is provided then when the consent is granted an email will be sent to notify the giver that consent was granted to the user. When using Email Plus a follow up email will be sent to the giver at a randomly selected time within the configured minimum and maximum range of hours.

consent.emailPlus.emailTemplateId UUID required

The Id of the Email Template that is used to send the reminder notice to the consent giver. This value is required when emailPlus.enabled is set to true.

consent.emailPlus.maximumTimeToSendEmailInHours Integer optional Defaults to 48

The maximum number of hours to wait until sending the reminder notice the consent giver.

consent.emailPlus.minimumTimeToSendEmailInHours Integer optional Defaults to 24

The minimum number of hours to wait until sending the reminder notice the consent giver.

consent.multipleValuesAllowed Boolean optional Defaults to false

Set this value to true if more than one value may be used when granting this consent to a User. When this value is false a maximum of one value may be assigned.

This value is not used when no values have been defined for this consent.

consent.name String required

The unique name of the consent.

consent.values Array<String> optional

One or more values that may be assigned for this consent.

Example Request JSON

{
  "consent": {
    "consentEmailTemplateId": "61cba163-2d53-4d2d-ad7f-801c27f0c277",
    "countryMinimumAgeForSelfConsent": {
      "de": 21
    },
    "defaultMinimumAgeForSelfConsent": 18,
    "emailPlus": {
      "enabled": true,
      "emailTemplateId": "9cd65fca-5aa0-4861-899b-8712d8ec963f",
      "maximumTimeToSendEmailInHours": 48,
      "minimumTimeToSendEmailInHours": 24
    },
    "multipleValuesAllowed": false,
    "name": "Patient Consent",
    "values": [
      "Written",
      "Verbal"
    ]
  }
}

Response#

The response for this API contains the Consent that was created.

Response Codes
CodeDescription
200The request was successful. The response will contain a JSON body.
400The request was invalid and/or malformed. The response will contain an Errors JSON Object with the specific errors. This status will also be returned if a paid FusionAuth license is required and is not present.
401You did not supply a valid Authorization header. The header was omitted or your API key was not valid. The response will be empty. See Authentication.
500There was an internal error. A stack trace is provided and logged in the FusionAuth log files. The response will be empty.
503The search index is not available or encountered an exception so the request cannot be completed. The response will contain a JSON body.

Response Body#

consent.consentEmailTemplateId UUID

The Id of the Email Template that is used to send confirmation to the end user.

consent.countryMinimumAgeForSelfConsent Map<Locale, Integer>

This property optionally overrides the value provided in defaultMinimumAgeForSelfConsent if a more specific value is defined. This can be useful when the age of self consent varies by country.

For example, consider the following definition:

{
"de": 17
}

If a user has defined their preferred locale to be Germany (de), the age of self consent defined for Germany will be used instead of the value defined by defaultMinimumAgeForSelfConsent.

consent.data Object

An object that can hold any information about the Consent that should be persisted.

consent.defaultMinimumAgeForSelfConsent Integer

The default age of self consent used when granting this consent to a user unless a more specific one is provided by the countryMinimumAgeForSelfConsent.

A user that meets the minimum age of self consent may self-consent, this means the recipient may also be the giver.

consent.emailPlus.enabled Boolean

When this value is true the Email Plus workflow is enabled.

Email Plus provides and additional opportunity to notify the giver that consent was provided. For example, if consentEmailTemplateId is provided then when the consent is granted an email will be sent to notify the giver that consent was granted to the user. When using Email Plus a follow up email will be sent to the giver at a randomly selected time within the configured minimum and maximum range of hours.

consent.emailPlus.emailTemplateId UUID

The Id of the Email Template that is used to send the reminder notice to the consent giver.

consent.emailPlus.maximumTimeToSendEmailInHours Integer

The maximum number of hours to wait until sending the reminder notice the consent giver.

consent.emailPlus.minimumTimeToSendEmailInHours Integer

The minimum number of hours to wait until sending the reminder notice the consent giver.

consent.id UUID

The unique Id of the consent.

consent.insertInstant Long

The instant that the Consent was added to the FusionAuth database.

consent.lastUpdateInstant Long

The instant that the Consent was updated in the FusionAuth database.

consent.multipleValuesAllowed Boolean

When this value is true more than one value may be used when granting this consent to a User.

This value is not used when no values have been defined for this consent.

consent.name String

The unique name of the consent.

consent.values Array<String>

One or more values that may be assigned for this consent.

Example Response JSON

{
  "consent": {
    "consentEmailTemplateId": "61cba163-2d53-4d2d-ad7f-801c27f0c277",
    "countryMinimumAgeForSelfConsent": {
      "de": 21
    },
    "defaultMinimumAgeForSelfConsent": 18,
    "emailPlus": {
      "enabled": true,
      "emailTemplateId": "9cd65fca-5aa0-4861-899b-8712d8ec963f",
      "maximumTimeToSendEmailInHours": 48,
      "minimumTimeToSendEmailInHours": 24
    },
    "id": "d512b9b8-876f-4b5e-81f0-3e180b6ea485",
    "insertInstant": 1595361142909,
    "lastUpdateInstant": 1595361143101,
    "multipleValuesAllowed": false,
    "name": "Patient Consent",
    "values": [
      "Written",
      "Verbal"
    ]
  }
}