Sending a proof request (aries)

Using the aries agent, it isnt totally clear on how to construct a proof request. I havent been able to find any documentation around this to help be able to send a valid proof request.

I am having issues with the requested_predicates object and constructing something valid there when the credential claim is actually date of birth.(I want to be able to simply confirm over 18 using that date of birth value).

Separately we have credentials and proofs that dont need this type of predicates object, and yet i seem to have to supply one…

Any help and guidance in this area would be greatly appreciated…

FYI here is the json that is getting passed into the openAPI of aries agent atm - which creates a proof request, but the process stalls from there on (i think because its not valid)

{
“connection_id”: “198d03e3-197b-4bfe-8eca-ebcd878abaf0”,
“trace”: false,
“comment”: “first proof”,
“proof_request”: {
“name”: “Just 3 attributes”,
“version”: “0.1”,
“requested_attributes”: {
“0_forenames_uuid”: {
“name”: “forenames”,
“restrictions”: [{
“cred_def_id”: “KyF3W6mfUogqNUD9RTDe9A:3:CL:1596:default”
}]
},
“0_surname_uuid”: {
“name”: “surname”,
“restrictions”: [{
“cred_def_id”: “KyF3W6mfUogqNUD9RTDe9A:3:CL:1596:default”
}]
}
},
“requested_predicates”: {
“0_age_GE_uuid”: {
“name”: “date_of_birth”,
“p_type”: “>=”,
“p_value”: 18,
“restrictions”: [{
“cred_def_id”: “KyF3W6mfUogqNUD9RTDe9A:3:CL:1596:default”
}]
}
}
}
}