API Referenceapipatient-graphPOST /v1/patients/me/age-verification

POST /v1/patients/me/age-verification

Service: patient-graph · operationId: (none)

Records the authenticated user’s date of birth and verifies they are at least 18 years old.

Required scopes

(no scope declared — review service config)

Request body

{
  "type": "object",
  "properties": {
    "date_of_birth": {
      "type": "string",
      "format": "date"
    }
  },
  "required": [
    "date_of_birth"
  ]
}

Responses

200 Age verification stored

{
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "brand_id": {
      "type": "string"
    },
    "first_name": {
      "type": "string"
    },
    "last_name": {
      "type": "string"
    },
    "date_of_birth": {
      "type": [
        "string",
        "null"
      ]
    },
    "gender": {
      "type": [
        "string",
        "null"
      ]
    },
    "email": {
      "type": [
        "string",
        "null"
      ]
    },
    "phone": {
      "type": [
        "string",
        "null"
      ]
    },
    "external_ids": {
      "type": "object",
      "additionalProperties": {
        "type": "string"
      }
    },
    "status": {
      "type": "string"
    },
    "metadata": {
      "type": "object",
      "additionalProperties": {}
    },
    "age_verified_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "ruo_pathway_acknowledged_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "researcher_acknowledgement_id": {
      "type": [
        "string",
        "null"
      ]
    },
    "prescription_status": {
      "type": [
        "string",
        "null"
      ]
    },
    "prescription_consult_completed_at": {
      "type": [
        "string",
        "null"
      ]
    },
    "created_at": {
      "type": "string"
    },
    "updated_at": {
      "type": "string"
    }
  },
  "required": [
    "id",
    "brand_id",
    "first_name",
    "last_name",
    "date_of_birth",
    "gender",
    "email",
    "phone",
    "external_ids",
    "status",
    "metadata",
    "created_at",
    "updated_at"
  ]
}

400 DOB indicates the user is under 18

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "error",
    "message"
  ]
}

404 Patient not found for the authenticated user

{
  "type": "object",
  "properties": {
    "error": {
      "type": "string"
    },
    "message": {
      "type": "string"
    }
  },
  "required": [
    "error",
    "message"
  ]
}

Example

curl -X POST https://patient-graph.platform.loop.health/v1/patients/me/age-verification \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ ... }'