{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "Consent",
  "description": "Represents a user's consent.",
  "properties": {
    "consentArtifact": {
      "description": "Required. The resource name of the Consent artifact that contains proof of the end user's consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consentArtifacts/{consent_artifact_id}`.",
      "type": "string"
    },
    "expireTime": {
      "description": "Timestamp in UTC of when this Consent is considered expired.",
      "format": "google-datetime",
      "type": "string"
    },
    "metadata": {
      "additionalProperties": {
        "type": "string"
      },
      "description": "Optional. User-supplied key-value pairs used to organize Consent resources. Metadata keys must: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - begin with a letter - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes Metadata values must be: - be between 1 and 63 characters long - have a UTF-8 encoding of maximum 128 bytes - consist of up to 63 characters including lowercase letters, numeric characters, underscores, and dashes No more than 64 metadata entries can be associated with a given consent.",
      "type": "object"
    },
    "name": {
      "description": "Identifier. Resource name of the Consent, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/consentStores/{consent_store_id}/consents/{consent_id}`. Cannot be changed after creation.",
      "type": "string"
    },
    "policies": {
      "description": "Optional. Represents a user's consent in terms of the resources that can be accessed and under what conditions.",
      "items": {
        "$ref": "#/components/schemas/GoogleCloudHealthcareV1ConsentPolicy"
      },
      "type": "array"
    },
    "revisionCreateTime": {
      "description": "Output only. The timestamp that the revision was created.",
      "format": "google-datetime",
      "readOnly": true,
      "type": "string"
    },
    "revisionId": {
      "description": "Output only. The revision ID of the Consent. The format is an 8-character hexadecimal string. Refer to a specific revision of a Consent by appending `@{revision_id}` to the Consent's resource name.",
      "readOnly": true,
      "type": "string"
    },
    "state": {
      "description": "Required. Indicates the current state of this Consent.",
      "enum": [
        "STATE_UNSPECIFIED",
        "ACTIVE",
        "ARCHIVED",
        "REVOKED",
        "DRAFT",
        "REJECTED"
      ],
      "type": "string"
    },
    "ttl": {
      "description": "Input only. The time to live for this Consent from when it is created.",
      "format": "google-duration",
      "type": "string"
    },
    "userId": {
      "description": "Required. User's UUID provided by the client.",
      "type": "string"
    }
  },
  "type": "object"
}