-
Notifications
You must be signed in to change notification settings - Fork 531
Open
Description
- In the current ACA-Py implementation, there's potential confusion around the their_role field across all connection states — not just during the request phase.
Definitions (as understood from documentation):
- Inviter → The party that sends the invitation.
- Invitee → The party that receives the invitation and sends a connection request.
Observation:
- When a invitation request is sent (by the Inviter), the their_role is returned as inviter—this seems counterintuitive, especially for client applications trying to determine who initiated the connection.
Steps to Reproduce
- Holder (Inviter) creates an invitation using ACA-Py:
- POST /didexchange/create-invitation
- Response includes the invitation details:
{
"state": "request",
"created_at": "2025-09-29T14:02:21.243697Z",
"updated_at": "2025-09-29T14:02:21.252565Z",
"connection_id": "2cc619e9-89fb-4f79-8595-e1fba0d7e995",
"my_did": "JE2seYAKJVkuGYvdurbJwA",
"their_did": "did:sov:hMdL27Sh3voQzhr1vvGJ3",
"their_role": "inviter",
"connection_protocol": "didexchange/1.0",
"rfc23_state": "request-sent",
"request_id": "2649c13e-4d55-4e8e-a5c8-edcb4b088927",
"accept": "manual",
"invitation_mode": "once",
"alias": "John Holder",
"their_public_did": "did:sov:hMdL27Sh3voQzhr1vvGJ3"
}
- Issuer (Invitee) receives the invitation request:
- GET /connections
- Response includes the invitation details:
{
"state": "request",
"created_at": "2025-09-29T14:02:21.391297Z",
"updated_at": "2025-09-29T14:02:21.391297Z",
"connection_id": "17daa1b0-3ab2-4528-81e4-aff89a932a0f",
"their_did": "JE2seYAKJVkuGYvdurbJwA",
"their_label": "Holder Agent",
"their_role": "invitee",
"connection_protocol": "didexchange/1.0",
"rfc23_state": "request-received",
"invitation_key": "Nzip9urmchNE2JGsjnp66ZRNYNSDibimrAMZvCvk1sK",
"request_id": "2649c13e-4d55-4e8e-a5c8-edcb4b088927",
"accept": "manual",
"invitation_mode": "once"
}
Environment
- ACA-Py version: 1.3.0
- Protocol: didexchange/1.0
- Transport: HTTP / Admin API
Metadata
Metadata
Assignees
Labels
No labels