[MINUTES] VC API 2025-07-22

W3C VC API Community Group Meeting Summary - 2025/07/22

*Topics Covered:*

   -

   *Pull Request Reviews (VC API):* The majority of the meeting focused on
   reviewing and merging several pull requests related to clarifying branching
   logic, updating schema details (proof set, proof chain), removing
   properties from workflow steps, and updating examples to reflect VCDM 2.0.
   Discussions included determining whether to create separate PRs for related
   but distinct changes and optimizing the GitHub workflow for approvals and
   merging. One PR was left open pending further schema checks.
   -

   *Issue Triaging (VC API):* Several issues were addressed, including
   clarifying the need for schema changes and the removal of transaction
   terminology. New issues were created to track follow-up tasks.
   -

   *Addressing Interaction URLs and Transaction IDs:* A lengthy discussion
   focused on clarifying the role and importance of interaction URLs,
   particularly concerning trust signals and how they relate to backend
   exchange services. The use of transaction IDs was also examined, with a
   consensus to remove them.
   -

   *Pull Request Reviews (VPR):* A pull request to add presentation schema
   support to workflows was reviewed. The need for clearer documentation of
   this feature was noted.
   -

   *Issue Triaging (VPR):* Several VPR issues were reviewed, including
   updating outdated examples and discussing the transformation of
   query-by-example into JSON pointers for selective disclosure.

*Key Points:*

   - Multiple pull requests related to the VC API were reviewed and merged,
   with discussions around best practices for GitHub workflows and managing
   related changes in separate PRs.
   - The importance of interaction URLs in maintaining trust signals was
   emphasized.
   - Transaction IDs will be removed from the specification.
   - The group decided against adding an additional manifest for URLs.
   - A pull request adding presentation schema support to workflows needs
   improved documentation.
   - Several issues were triaged and marked for action, with some
   designated as low-effort.
   - The group agreed to revisit some topics in future meetings.

Text: https://meet.w3c-ccg.org/archives/w3c-ccg-vc-api-2025-07-22.md

Video: https://meet.w3c-ccg.org/archives/w3c-ccg-vc-api-2025-07-22.mp4
*VC API - 2025/07/22 14:58 EDT - Transcript* *Attendees*

Benjamin Young, Dave Longley, Eric Schuh, Joe Andrieu, John's Notetaker,
Parth Bhatt, Patrick St-Louis, Ted Thibodeau Jr
*Transcript*

Parth Bhatt: Hey Ben,…

Parth Bhatt: good afternoon. Doing good. How about you?

Benjamin Young: Hey, how are you?

Benjamin Young: We'll give it a few minutes while people sign on.

Benjamin Young: Maybe word got around that Manu wasn't coming. I'll give it
a couple more minutes.

Benjamin Young: Dave, is there anybody of the usuals that you see missing?

Dave Longley: Let's see Patrick isn't here, so we might give him a minute
or two.

Benjamin Young: Yeah, that's fine.

Benjamin Young: and Dave, do you know if there are any robot formalities
needed or does everything just kind of run its course?

Dave Longley: I think everything runs as course. I don't remember what the
CCG policy is on people having note takers in here. we might need to remove
John's noteaker.
00:05:00

Benjamin Young: Yeah, it was here when I signed on, so I Okay.

Dave Longley: I think we usually remove that. I think there's a policy for
that. I'm not sure. in terms of the CCG tooling,…

Benjamin Young: All right. I'll do it.

Dave Longley: I think it just automatically works if Yep.

Benjamin Young: It's not like the whole thing isn't ited anyway.

Benjamin Young: So, Goodbye, John's noteaker. I'm not going to click block
or anything. I'm just going to remove it.

Dave Longley: Right. Yeah.

Benjamin Young: If it comes back, And turning on this call was getting a
Google ad for all the Gemini note takingaking and everything else. Barrage
of do this and do this and do this.

Dave Longley: I'd say we can probably get started. Anyone else joins that

Benjamin Young: Yeah, I was trying to see…

Benjamin Young: if Patrick was online. do we My plan was just for Manu's
statement to just work our way through the pull request. this is the VC I
if you're in the wrong room or the wrong flight, please, keep playing.
we'll be going through this list and longly is there any sort of order
y'all go through them in or just recent activity?

Dave Longley: Recent activity is fine. I think we'll probably get through
all of them today.

Dave Longley: Possible exception would be the one that we want Patrick's
comments on. and if we get through those, then we can also look at the VP
request spec PRs if there are any there. and then we can look at issues if
we haven't triaged and marked any as whether they're loweffort or whatever.

Benjamin Young: Okay.

Benjamin Young: Sounds good. then let's do that. I'm gonna screen share if
that works. There we go. And we'll work our way down from the top. Now, I
have not pre-flighted any of these, so this is really y'all's meeting. I'm
just here to MC. Arth, this one's from you. Do you want to say a few words
about

Benjamin Young: what it is and where it is. Dave, you've also plus one bit
it. So maybe the two of you can speak to this and we can formally merge it.

Parth Bhatt: So this specific PR basically clarifies the detail about
branching logic in the workflow and…

Parth Bhatt: exchange section and I have updated the text related to that.
one more thing which was also mentioned in the issue 439 about how those
step templates and workflow templates needs to be used. that part is
pending for this PR and I am working on that as well in parallel because I
have to read one of the high effort issue 457 for that. So that is what I'm
working on currently but rest everything compared with regards to the text
is updated. Go ahead.

Dave Longley: So, did you want to raise a separate PR for those additional
things? Because Benjamin, if you click on files changed, if I remember,
this is a pretty simple PR. We might just, get agreement on the call here
to merge this one. it just won't fully address the issue.

Parth Bhatt: Yes, I will create a separate issue for the other one.

Benjamin Young: Yeah.

Dave Longley: So, if people just want to take a look there, if we get
thumbs up on this call, I think we could probably merge this one.

Parth Bhatt: Yeah, and I can add the comment. I think I already did, but I
will double check and make sure that reflects in the issue itself because I
mentioned it this PR is partial request.
00:10:00

Parth Bhatt: The second part is pending which is already mentioned in the
next step.

Benjamin Young: And Autobots's going to close anything,…

Benjamin Young: so I think we're okay. any objections to this being merged?
If not, I think we'll do that. All righty. I'm going to go ahead and click
what do we do? Rebase and merge typically. Okay.

Dave Longley: Yes.

Benjamin Young: That one's done. Thank you.

Benjamin Young: right. Next up is a part that looks like you get the first
several

Parth Bhatt: So this PR addresses issue 422.

Parth Bhatt: Where the issue was we have to clarify the detail about proof
set and proof chain. So I have added the text updates with regards to that
and…

Parth Bhatt: it's only one file changed and I think you already reviewed it
and made some suggestions and I have accepted those.

Benjamin Young: Looks like maybe there's some pending changes.

Benjamin Young: Dave, you might have to just change your status on this
one. Okay.

Dave Longley: Yeah, I'm going to click approve right now. Just taking a
look. Yeah, in the future Parth once if you have applied someone's changes,
there's the little button, which I probably just messed up because I
approved it, but I see pet has one. there's a little refresh, request,
review.

Parth Bhatt: Okay, sure.

Dave Longley: You can hit that button once you've applied someone's changes
and then that should ping them if they've got notifications set up to take
a look again.

Benjamin Young: It also removes the block…

Dave Longley: And so we just clicked that for Ted.

Benjamin Young: which is super handy.

Parth Bhatt: I will do that and I will keep in mind for the future show.
Yes.

Dave Longley: Did Ted's changes get in too?

Benjamin Young: Don't know. looks like these are the ones you merged in,…

Dave Longley: Hi. …

Benjamin Young: All right. Sound okay?

Dave Longley: there was some comment in this PR about additional stuff that
could happen, but again, that seems like maybe we could do it in another
PR, but there was potential changes. This is about changing the schemas. …

Benjamin Young: Do we need these as issues then?

Benjamin Young: or no go.

Dave Longley: maybe we could create separate issues for them, but it might
just be more overhead. It could just be part of part of the Go ahead. I
think it's in the discussion or… it's at least in this new PR. so the PR
only partially addresses it if we want to make these other changes.

Dave Longley:

Parth Bhatt: So initially I mean in the issue…

Parth Bhatt: if you read it was mainly discussion about updating the text
but I also noticed if we are updating the text we should also update the
schema and things like that to match with the description. So that's why I
was asking if we have to make those potential change and in the schema as
well for the description and the endpoint. Okay.

Dave Longley: I would say if the existing schema does not already allow an
optional proof field, that's the minimal thing to allow. I don't know that
we have to get more complex than that. we could, but I think that might
actually be confusing. If we have a proof that has additional properties,…

Dave Longley: but we only talk about proof ID and previous proof, what
about all the other properties that might be in a proof? which are usually
more important than those. and this is sort of an edge case. So, I would
say minimally what we want is to make sure that the schema allows the proof
field to be present but does not require it. And that's really the only
thing I think we

Parth Bhatt: Okay,…

Parth Bhatt: I think proof is already there. specific to I will double
check if there is proof ID or previous proof properties are in there or
not. But I was intentionally trying to change the description for the proof
field.
00:15:00

Parth Bhatt: That's what the first potential change is for proof property
description update the proof property description.

Dave Longley: So, if you could just take an action to double check that
proof's already there as an allowed property. and then I think we're done
with the issue.

Parth Bhatt: Okay, understood. I will check that out and notify you.

Benjamin Young: Do we want to add that one change here or…

Benjamin Young: do we want to do a separate PR?

Parth Bhatt: Let's keep it open.

Parth Bhatt: I will do it after this call and…

Benjamin Young: Okay.

Parth Bhatt: then we can mod it probably next time or maybe out immediately
after that.

Benjamin Young: Sounds fine.

Dave Longley: Do we want to put a note?

Parth Bhatt: Yeah, sure.

Dave Longley: We can just leave a note in this one at the bottom, Benjamin,
if you just want to type in there that the group discussed this one in what
is this 722 and agreed to merge this next time. I don't know that parth has
merge permissions, but to merge this next time after par confirms that we
don't need any other schema changes or you can add it to it and we'll just
merge next time.

Benjamin Young: Something like that. All…

Dave Longley: Yeah, that's good.

Parth Bhatt: Yep. Okay.

Benjamin Young: Okay, we'll leave that one open.

Parth Bhatt: Third one is yes. So this addresses issue 413 basically
removing the additional step property in the workflow steps in create
workflow request object and the get workflow response object in the
exchange file.

Parth Bhatt: So I have removed that additional step property and I have
added the initial step name object in there. I think that's pretty much it
was requested and…

Parth Bhatt: nothing else on this one. Yeah.

Benjamin Young: Seeing plus ones.

Benjamin Young: Anyone have thoughts or objections? We've got two approvals.

Ted Thibodeau Jr: Just a opportunity for another shortcut to be learned.

Benjamin Young: Is there a reason? Yeah. Go ahead. Hand down.

Ted Thibodeau Jr: If you say in the text of a comment including the initial
one fixes number blah then when this gets merged it'll automatically close
that issue.

Benjamin Young: Yeah, the disadvantage that there was a previous issue
where we wanted to merge that and it was good that it wasn't in there
because the issue wasn't completely closed. But yeah,…

Ted Thibodeau Jr: Sure enough.

Benjamin Young: it's a nice trick. I use it a lot and you can do that in
commit messages too, not just the text. FedE, do you know why your stuff is
not green? Do we need to fix something about your permissions?

Ted Thibodeau Jr: Damned if I know it might be that I'm not a code.

Benjamin Young: Yeah, it's like your approvals aren't technically counting.

Dave Longley: I think for GitHub's interface you have to be a code owner or…

Ted Thibodeau Jr: I may not be a co owner. So my approvals don't count in
that way.

Benjamin Young: I see.

Dave Longley: something of the particular repo but in terms of the way the
group operates it matters but we can't make everyone in the group a code
owner

Benjamin Young: Yeah, I don't have enough power to do that.

Ted Thibodeau Jr: That's fine as it is.

Benjamin Young: Okay, All right, if there are no objections, I will merge
this one. Okay. Sure.

Dave Longley: And does that one fully address the issue it linked to? I
think so. So, we can probably go close that one with a comment saying so.
00:20:00

Parth Bhatt: Mhm. Yes.

Benjamin Young: Works for me. One more and then it's Patrick's turn.

Parth Bhatt: So I think for this pull request I don't think we need to
merge. they confirmed that already in the comments. this was regarding
changing the local workflow ID to adding some sort of path ID just changing
the variable names. however there is one thing in the issue that think so
one thing is clear we don't have to merge this PR and we can close this PR
right away but there was one additional thing that Dave pointed out in the
issue itself so…

Parth Bhatt: Benjamin if you click on 412 issue yeah not that one maybe let
me share the link Yeah,…

Benjamin Young: somewhere in 412.

Dave Longley: Yeah, it's about transactions.

Parth Bhatt: issue 412.

Benjamin Young: This guy here.

Parth Bhatt: So I think what I would do is I would create another issue and…

Benjamin Young: Okay.

Parth Bhatt: then we'll create another PR for this. I have seen there are
five places where transaction were used but I have to read the entire
context in…

Benjamin Young: So in this case go ahead.

Parth Bhatt: what way they have been used one was the interaction URL
section one was presenting VC section.

Dave Longley: Yeah, and I think something still references a transaction ID
if you read the live spec today.

Parth Bhatt: Yes. Yes.

Dave Longley: And so we just want to take that stuff out. so that would
address the remaining bit in this issue. I think we can just close as the
group had discussed and agreed to Some other updated those names. So we can
go ahead and close this PR. But the issue remains to remove the transaction
terminology.

Benjamin Young: something like that.

Benjamin Young: This is on the PR and…

Dave Longley: Yeah. No.

Benjamin Young: then the issue that we were looking at should remain open.
you mentioned a new issue. No, let's move.

Parth Bhatt: Yeah, I will create a new issue with the same command and…

Parth Bhatt: I will also link 412 this command specific so that there is a
proper link in there.

Benjamin Young: And are we going to leave 412 open…

Benjamin Young: until you do that? Okay.

Parth Bhatt: No.

Parth Bhatt: I can still link with if it's closed as well. It's okay.

Benjamin Young: Just going to go straight there.

Dave Longley: Yeah, that's good. In 425, that was in this link path
somewhere. That one has been closed. I don't know where that came in.

Parth Bhatt: Yeah, 425 was closed. That was the confirmation for we don't
have to do this merge or…

Parth Bhatt: we don't have to do this change.

Dave Longley: Yeah. Okay, looks good.

Parth Bhatt: Yeah, that came from the decision came from 425.

Benjamin Young: Closed and…

Dave Longley: Right. Yep.

Benjamin Young: closed correctly. This feels good. I'll close some more.
Your turn, Patrick.

Patrick St-Louis: Yeah, this one is just fairly straightforward. So after
the VCDM 2.0 was published, we just wanted to update the examples to put
this forward instead of what was already there with BC 1.1. So this goes
for both the verifiable credential and verifiable presentation object. So
it's basically just updating the schema. I've addressed the comment that
they've longly put in there. I took the examples from the cryptosweet
specification. I just had the wrong multibase on the proof value.

Benjamin Young: Sounds Okay. Anybody have questions or…

Benjamin Young: concerns about this one or need a minute?

Dave Longley: The only trouble here is I see a merge commit and…

Dave Longley: I don't know that GitHub's going to handle that properly. We
always make sure. So you might have to click squash and do some cleanup or
something. Yeah,…
00:25:00

Benjamin Young: The rebase should get it, but it may still be there. Is
that gonna nightmares?

Dave Longley: I think Monu would say it shouldn't be there…

Dave Longley: if it is in the main history and then some kind of history
edit will have to happen.

Benjamin Young: Yeah, Patrick.

Dave Longley: That would be my expectation, but we could probably hit the
squash button.

Benjamin Young: Yeah, we could do that. Just make it a single thing. Is
that okay? Any objections here?

Benjamin Young: And I was not knowing I was going to leave it alone.

Dave Longley: And I don't know…

Dave Longley: what we normally do with that little autogenerated
description. yeah,…

Benjamin Young: This feels a little long, but I don't know.

Dave Longley: I think we would normally just put a period at the end of
properties in the commit message, delete the 492, and clear the extended
description since a single author did all of this. That would be my guess.

Benjamin Young: It's that

Dave Longley: Yeah, that's probably right.

Benjamin Young: Okay, throw out the data.

Benjamin Young: Who needs it? All right, there we go.

Dave Longley: And does that close out any issue or…

Dave Longley: is it just standalone?

Benjamin Young: It addresses but doesn't say fixes. So, …

Dave Longley: So can we close that too, Patrick?

Benjamin Young: that's a good question.

Patrick St-Louis: Yes. …

Patrick St-Louis: yeah, I think everything's being addressed here.

Benjamin Young: All right,…

Benjamin Young: One more to go. this one was raised by Mona, who is notably
not here.

Benjamin Young: …

Benjamin Young: Dave, if you ever have viewed this one has some editorial
changes, doesn't and there's a conversation as well.

Dave Longley: Yeah. …

Dave Longley: my understanding of this one is we wanted to document that
you can delete credentials. that's what this PR adds. there was some
discussion about that. We agreed to it in a call and then a subsequent call
that I was not in, Patrick raised some comments about what happens with
respect to status if you go delete a credential. And then in the issue
because I wasn't in the call, I responded to that. My recommendation is to
keep the delete feature simple and not make the VC API spec say to do
something specific with status. I mean we would have to call out, which
specific statuses do you need to do something with or do you need to flag
in a special way?

Dave Longley: and I don't think we should do that in the spec, but I did
have a comment that we could say that a configuration could block deletion
with some kind of error in whatever way it wants to. but otherwise the
delete operation itself is simple. and if you want to have a more complex
or robust API that will put the different API calls to the VC API behind,
if you want to put those calls behind that API, you can do that. But I
don't think we should mix the different functions together. but a
configuration if it wanted to could say, "No, you're not allowed to delete
this for these reasons.

Benjamin Young: Anyone else have additional thoughts on that? It doesn't
look like we're going to get to close this one. So, at most we would add
bots to this. There's a good bit of pending editorial changes from the Paul
TED bot. I need more tall bots in my life.

Ted Thibodeau Jr: for a small additional fee.

Dave Longley: If you agree with…

Benjamin Young: Hey, paper cycle.

Dave Longley: if you agree with what I said, Patrick, I think all we need
to do is have Mono do another revision on that basis and we could just type
in here or you could just type in here, Patrick, that you agree with my
comments or…

Dave Longley: whatever it is you want to say. and then we could do that
next week.

Benjamin Young: or don't.

Patrick St-Louis: Yeah. No,…

Patrick St-Louis: I think that makes a lot of sense. I actually forgot I
raised that topic, but no, it's coming back to me. And I think there could
be many reason why you delete a credential from a system. It doesn't mean
that you're deleting it from existence if that makes sense. which Sorry,
I'm can add a comment.
00:30:00

Dave Longley: This is 491.

Benjamin Young: Do you need the link or you got it?

Patrick St-Louis: I got it. Yep.

Benjamin Young: Okay. Yeah.

Dave Longley:

Dave Longley: So I think that's the only action. And if we just get
Patrick's feedback, then we can take it on in next

Benjamin Young: We'll give you a minute, Patrick, before we start on the
next thing. And that'll give Mono time to process these commentaries as
well.

Patrick St-Louis: Yeah, I'm good to go.

Benjamin Young: Let me know when you're done, Parick. Dave, you want to say
a bit about the issue that this next VR is addressing?

Dave Longley: Yeah, this is just formally putting into standard
interoperability space this feature for adding a presentation schema to a
workflow so that when a workflow executes it can check whatever the client
sends to the exchange against a presentation schema in a particular step.
And so this just formally adds that to the spec as a feature people can do
interop on. I think Ted had a comment on The way that this was designed was
so the property that you specifi so there's a new property called
presentation schema and it takes as its value a JSON object that has at
least the type property and then the type property determines what other
properties might appear.

Dave Longley: And this was based on u mirroring what's in the VC spec today
for there's a JSON schema in the VC working group. And so this copied that
approach. and then Ted rightly says I don't see anything in the text that
communicates me any of the words I just said now or…

Dave Longley: that I typed in here. So we might want to say more about
that. so that's more clear.

Benjamin Young: Gotcha. So that's pending work from Manu or…

Dave Longley: Yep. No,…

Benjamin Young: whoever might take over this Anything to do today other
than be aware of that?

Dave Longley: I think it's on. Yep.

Benjamin Young: All good. Memorial. I'm imagining Dave, this is another one
of your issues. It is on the PR or…

Dave Longley: So, let me see how far we got. I think yeah,…

Benjamin Young: on the issue.

Dave Longley: on the PR I think that the PR almost completely addresses it.

Benjamin Young: Yeah, question.

Dave Longley: I think Mono just had a question if I remember right about
what to say somewhere and I made a suggestion and…

Patrick St-Louis: Is this still relevant with the interact URL? Okay.

Dave Longley: so I think this is also sort of in a Mono's got to get back
to it very relevant. In fact, we might want to one of my comments is about
adding more text about why it's relevant. So, the allows a client to
interact with an origin for which they probably understand to be a trust
signal. when you use that interact URL, it serves up protocols for how you
can interact with that origin. And it might do so by contacting a back-end
exchange service to get the protocols that work with a particular exchange
and forward those to the client.

Dave Longley: and so by having the protocols endpoint be part of an
exchange, the exchange can automatically serve up all that information and
then all that's happening with an interact URL is it's delegating that to
the backend exchange service. But that delegation is really important
because then you run through the trust signal. So if I gave you a URL to
some random Exchange provider, if I gave a random end, Patrick, I give to
you as an end user some random URL to some Exchange service provider, you
might know nothing about that it's on a trust signal for you, but if you're
on a website, I don't know, you're buying cookies.com, and you have a good
relationship with cookies.com and they're going to redirect you to get your
cookie loyalty

Dave Longley: card from your wallet or whatever it is they're doing. When
you're in your wallet, what you want to see show up is this request is from
cookies.com. You don't want to see it's from random BC API service
provider. and so by that interaction URL takes you to that trust signal,
even if it just forwards something from some other backend service provider
that it works with, at that point cookies.com has delegated its provider
for VC API to that other origin.
00:35:00

Patrick St-Louis: No, I think so.

Dave Longley: Did that make sense or did I overexlain it? Okay.

Patrick St-Louis: Yeah. Yeah. Makes sense.

Benjamin Young: It's a good thing I just ate a cookie,…

Benjamin Young: otherwise I'd want one. cool. So, this one's still on
monitor to complete. Thank you for the explanation. Last one, right? This
one has change requests. Modernize verify presentation. Dave, you've got
pending changes requested. Doesn't Looks like monress salted but not yours.

Benjamin Young: I'm going to bump turkey.

Dave Longley: Yeah. My concern here is making sure that we don't make it so
we cannot…

Dave Longley: if desired submit a verifiable presentation that does not
come with a proof to an endpoint. That's the really useful feature for
bundling credentials in a single presentation or where the presentation
doesn't itself require a proof. the a common use case for this is someone's
walking up to someone with a handheld device and the handheld device is
going to scan for example a physical card or a piece of paper that has a
digital the verifiable credential embedded in it and they want to scan that
send maybe more than one and include that in a presentation that they send
to a verification service.

Dave Longley: And so that the act of presenting it in that way wouldn't
necessarily have any cryptographic proof on the presentation,…

Dave Longley: but the physical interaction might include authentication,
looking at the person's face, whatever it is. so we want to make sure that
we support those use cases, too.

Benjamin Young: And Mono will have to be the one to respond to that,…

Benjamin Young: I think. All right. That takes us to the bottom. are there
issues or anything folks want to look at beyond this?

Dave Longley: So, we can take a look. I don't remember if we have gone
through all the issues and listed the level of effort and there's a new one
that we certainly haven't done that's right there up at the top.

Benjamin Young: I'm going to do this filter.

Dave Longley: Yeah,…

Benjamin Young: No labels.

Dave Longley: that sounds good.

Benjamin Young: And let's see what's what.

Dave Longley: Yeah. …

Benjamin Young: Just three.

Dave Longley: we can go through those and then we can switch over to the VP
request spec…

Dave Longley: because we also handle that one. Do the same task.

Benjamin Young: Okay, sure.

Benjamin Young: So, this one two days ago from Nate who's sadly not here.

Dave Longley: Yeah. …

Dave Longley: usually for these we just leave Benjamin,…

Benjamin Young: Sure.

Dave Longley: we leave a few notes on what the group said. yes,…

Benjamin Young: And some level of effort.

Dave Longley: and some level of effort for what needs to happen. I think
what Nate is raising here is we have multiple different examples with
different cases for when you express oid for VP as a protocol. so this is
in the protocols object which is an object with it's just JSON object with
keys and values where the values are URLs and the keys are the name of a
protocol. I think we have inconsistent examples where the name of the
protocol is either in all caps or not and…

Dave Longley: we need to fix that and I believe the right answer is all
caps because that is what that group has chosen. so we need to make the
correct diff.

Benjamin Young: Is it going to be all caps for their terms and…

Benjamin Young: not all caps for VCAPI? that's going to…

Dave Longley: It's totally decentralized. So it's whatever the protocol
group that creates the protocol wants to do. That's the name that goes in.

Benjamin Young: but you're also saying it's nsitive. So, do you want it to
be case sensitive?

Dave Longley: It is. So it does allow it.

Benjamin Young: Because that way lies madness.

Dave Longley: It un unclear I realize it creates potential problems where
different groups might pick different cases for these things. I don't think
we want to say it's case insensitive at this time unless I mean I expect
the VC working group might have thoughts on that too. but at this time I
think we should probably use the uppercase version of this because it seems
like that's what the oid forvp group is doing.
00:40:00

Dave Longley: In reality, what I expect to end up happening is wallets are
going to probably have to support multiple keys for the same protocol and…

Dave Longley: or we might make a statement you should make the whole thing
lowerase before checking it like HTTP headers.

Benjamin Young: Yeah. Enums.

Dave Longley: Yeah, of course.

Benjamin Young: Right.

Dave Longley: Of course, you then have to deal with duplicates with
different and who handles the errors. so there's a lot more text that would
have to be written…

Dave Longley: if we go in that direction. Yeah, I think minimally…

Benjamin Young: More discussion needed.

Dave Longley: if someone wants to raise a PR to make them consistently
uppercase that would be better than what we have now and that's a loweffort
PR. Yes.

Benjamin Young: Yeah, just the oid ones.

Benjamin Young: And I'm going to set this as low effort for now.

Dave Longley: Yeah. Yeah.

Benjamin Young: And needs discussion that I think it resorted, didn't it?

Benjamin Young: No. Yeah.

Dave Longley: So I don't know what our current discussion on this one is.
I'm pretty sure the group has said that we don't feel that we need an
additional manifest at this time. I don't think we had any impleers who
thought that it was worth having an additional manifest to allow for an
additional level of interaction around the URLs.

Benjamin Young: Yeah, Please say hyper media. That's an aside. Okay.

Benjamin Young: So anyone else have thoughts on that?

Dave Longley: to be a little stronger. my vote would be to close without
any action. I think I don't that that's my vote. People can have different
thoughts.

Benjamin Young: Anyone have other thoughts on this one? It does feel like
scope creep though.

Benjamin Young: Okay. What' you say, Joe? Okay.

Joe Andrieu: close it.

Joe Andrieu: Just let's go and close it.

Benjamin Young: Does it need a comment beyond yours or group determined to
close?

Dave Longley: If the group agrees, yeah, the group discussed this and
thinks that the spec does not need the additional scope at this time and…

Dave Longley: we're going to close on that basis.

Benjamin Young: Yep. Let's do that…

Benjamin Young: if there are no objections. Time's up. I need a quick is
this the next one you want to talk about? This is your new one, right?

Parth Bhatt: Sure it's just I created the issue based on what we discussed
for the issue 412. So we can flag it as low effort. I was not able to add
the label for some reason. I don't know why and…

Benjamin Young: permissions in W3C land.
00:45:00

Parth Bhatt: maybe one more label ready for PR. I guess I will go ahead and…

Benjamin Young: Okay, cool.

Parth Bhatt: do that. Yep. Thank you.

Benjamin Young: That was an easy one because we already talked about it.
last one in this repo anyway.

Dave Longley: We could. I don't think this one's ready for PR yet.

Benjamin Young: Okay. Lots of Pat St.

Dave Longley: It's not going to be low effort. I don't expect, but it's not
ready for PR either. So, I guess this one's just kind of hanging out.

Benjamin Young: Louis mentions. Yeah. Is this one you want to make time for
on a call?

Dave Longley: It probably blocked on someone putting together an example to
that we can put in the spec. And that someone is probably going to be me. I
can put a comment in here.

Joe Andrieu: APR. All right.

Benjamin Young: Want to just leave it open or…

Benjamin Young: do you want to comment?

Dave Longley: So, we can leave it there and…

Benjamin Young: Okay.

Dave Longley: I'll just leave a comment.

Benjamin Young: All righty. that's it for VC API. Then you had mentioned
another spec you wanted to look at VPR.

Dave Longley: Yeah, I'm getting the link. So, I put a link in the chat if
you can see it, but if not, it's Yep,… you got it. And there might be PRs,
but we can look at the issues and see there's at least two there that
aren't triaged.

Dave Longley:

Benjamin Young: And I'm going to have less power on this repo,…

Benjamin Young: so I may not be able to tag. We'll see. So, you want to do
the no labels thing again?

Dave Longley: Yeah. …

Dave Longley: we can just leave comments if we can't set labels.

Benjamin Young: Yeah, sure.

Benjamin Young: Yeah. Nope. No power.

Dave Longley: So, I saw this one. this came in from Dimmitri Zagolan and he
said our Zcap query example in the spec is out of date and he's right and
it's a loweffort thing where we just need to bring the example up to date.
And there's some other HTML tag bug that I assume is easy to fix.

Benjamin Young: Okay, I don't have power to label these. So, I can leave a
comment if you want That's for AI.

Dave Longley: Yeah, guess we'll just leave a comment.

Joe Andrieu: It's only half AI.

Benjamin Young: So it'll come back later and be like, " I can do this."
Only half kidding. Just the artificial bit. That's as far as we've gotten.

Benjamin Young: Okay. 39.

Benjamin Young: Hey, it's another one of yours somehow.

Dave Longley: Yeah. …

Dave Longley: this is about someone had asked and it was a good suggestion
and Patrick's on the key to talk about it. some like pseudo code or how to
transform a query by example into a list of JSON pointers for selective
disclosure.

Dave Longley: I'll let Patrick talk about it.

Patrick St-Louis: Sorry, it's totally unrelated.

Patrick St-Louis: I have a garage appointment I need to start getting ready
for. So, I will All right. Bye.

Benjamin Young: What you got on the queue to leave?

Benjamin Young: Okay, we'll let you out this time. Thanks, Patrick. Bye.
Did he want me to add that as a comment?

Dave Longley: Yeah.

Dave Longley: So I think I don't know exactly what the PR will look like
but it's probably ready for PR and…

Benjamin Young: Right. Yep. Okay.

Dave Longley: pseudo code is here. So this is just somebody has put this in
the spec and talk about how you can take a query by example and convert it
into a list JSON pointers and how that's very useful for selector
disclosure. I guess we can just leave something to that effect as the group
discussed it and it's low effort ready for PR and…
00:50:00

Dave Longley: I was able to click those

Benjamin Young: There you go.

Benjamin Young: That is all the untagged stuff as you can see.

Benjamin Young: Is there any more on this specification you wanted to cover
in the next five minutes?

Dave Longley: No.

Dave Longley: I would just, say if there's anybody looking to do PRs, take
a look through the list in this spec or the other one. if you've got time,
it's always appreciated.

Benjamin Young: There's a lot of Good. yeah.

Parth Bhatt: not on this one but I have question for the VC API spec. I see
there is one issue and I wanted to talk about it if we are already done on
this spec.

Benjamin Young: You want to go back to…

Parth Bhatt: Okay. 480.

Benjamin Young: which one? VC API.

Parth Bhatt: Yeah. Issue 480. It says low effort but I want to understand
if there is any specific use case in mind. I think Joe created the issue.
So since Joe is here Okay.

Benjamin Young: Great.

Benjamin Young: Jody, you remember doing this back in May?

Joe Andrieu: Yes.

Joe Andrieu: I think that's still just on me. or if someone else wants to
chime in. I think the issue was we had talked about so Eric and I did do
some processing but we didn't get anything written up but we like the use
case of a first responder situation where they are using a credential that
is evidence of their first responderess they have an EMT credential issued
by a state and they're using that credential to get an incident specific
credential.

Joe Andrieu: because they're being deployed to a specific response. and as
you've got the precursor is different than the second one. is that mapping
to this use case? I'm not sure it's mapping to that use case. Dave, I'm
hoping you can help me remember…

Dave Longley: I'm reading that paragraph.

Joe Andrieu: what we were talking about here.

Dave Longley: So first I remember there was another suggestion. We had
another use case. I don't remember what it was but what you just described
seems like there's a workflow with a single step in it that has a
requirement first for some piece some VC and then in response to providing
that VC and potentially some other authentication whether it's dead alter
or…

Dave Longley: whatever it responds with and issues another VC that sounds
like that's what this

Joe Andrieu: Okay. I Yeah.

Joe Andrieu: So, I think I responded correctly. I want to get out there.
the other thing is maybe it's another issue. Didn't we had one where
because of the way the diagrams are set up, the interaction server or the
workflow server or whatever, I forget what we're calling it these days.
looks like it is a separate party for the verifier and the issuer. but it's
not.

Dave Longley: Ye, I would say yes. But in this use case, the party you're
talking to plays two roles.

Joe Andrieu: That's right.

Dave Longley: They're both going to verify first and then they will issue.
They're just going to it's same party, two different roles. So in terms of
the party, it will be and they will just do it all with the simplest use
case and… the one we just described. I would expect with a single workflow
service they're just playing two different roles execute during that step.
First the verify role and then the issue role.

Dave Longley:
00:55:00

Joe Andrieu: Okay, great.

Joe Andrieu: Yes, I've reconnected to what we were talking about here and
it is that there are two VCs and the issuer of the second VC is going to
use the same workflow service for the workflow to accept the incoming VC
that's evidence and for the workflow that will generate the issued VC.

Joe Andrieu: Okay.

Dave Longley: And in fact, the simplest way to implement it's literally the
same workflow. So it's a single exchange with a step that first sends a
verifiable presentation request requesting in this use case requesting
whatever the skills credential is for the first responder or whatever it is
they need to provide. And then in response at the end of that step there
they will issue the event VC for whatever it is that they've received a VC
to a Access.

Joe Andrieu: Okay, great. That all makes sense.

Parth Bhatt: Makes sense to me I think I'm clear.

Parth Bhatt: Thank you for clarifying. good for now.

Benjamin Young: All right.

Benjamin Young: That brings us pretty much to time. anyone have parting
questions, thoughts, needs, etc. All righty.

Joe Andrieu: All right. Cheers.

Benjamin Young: Thanks for coming closed a lot of issues. That always feels
All right, happy Tuesday and we'll see y'all later. Bye.
Meeting ended after 00:57:20 👋

*This editable transcript was computer generated and might contain errors.
People can also change the text after it was created.*

Received on Tuesday, 22 July 2025 22:22:34 UTC