Invitations
Endpoints for creating and managing invitations
This endpoint retrieves all invitations associated with the provided API key.
The field to sort by (default updated_at).
The direction to sort (ASC or DESC, default DESC).
The number of invitations per page (default 20).
The current page number (default 1).
The total number of items.
If provided, returns only invitations with this state.
If provided, returns only invitations for this contact_id.
A list of invitations
Unauthorized.
Internal Server Error
GET /api/v1/invitations HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*
{
"params": {
"sort": [
[
[
"updated_at",
"DESC"
]
]
],
"pageSize": 2,
"currentPage": 1,
"pageCount": 1,
"itemCount": 1,
"stateFilter": null,
"contactIdFilter": null
},
"rows": [
{
"invitation_id": 1,
"oob_id": "ef62b35f-ebd1-4760-89cd-1b33e6506f22",
"contact_id": null,
"connection_id": "853dbc66-4daa-45a8-8a6b-3cb81639c108",
"my_did": "",
"alias": "Documentation-Example",
"invitation_key": "did:key:z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3#z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3",
"invitation_mode": "multi",
"invitation_url": "https://example/agent?oob=eyJAdHlwZSI6ICJodHRwczovL2RpZGNvbW0ub3JnL291dC1vZi1iYW5kLzEuMS9pbnZpdGF0aW9uIiwgIkBpZCI6ICI5MGRhNGU1YS0yNzQxLTRlZmUtYWY2ZC0yMTVkMTZhODQyOGEiLCAibGFiZWwiOiAiUHJvdmVuIiwgImhhbmRzaGFrZV9wcm90b2NvbHMiOiBbImh0dHBzOi8vZGlkY29tbS5vcmcvZGlkZXhjaGFuZ2UvMS4xIl0sICJzZXJ2aWNlcyI6IFt7ImlkIjogIiNpbmxpbmUiLCAidHlwZSI6ICJkaWQtY29tbXVuaWNhdGlvbiIsICJyZWNpcGllbnRLZXlzIjogWyJkaWQ6a2V5Ono2TWtwYXpVNEVCTVpKU1VDN3VkOHFLMVRhNkwxTGtqMXhUQ1E3OVJMcVZUTHdRMyN6Nk1rcGF6VTRFQk1aSlNVQzd1ZDhxSzFUYTZMMUxrajF4VENRNzlSTHFWVEx3UTMiXSwgInNlcnZpY2VFbmRwb2ludCI6ICJodHRwczovL2J1Y2tldHM0bGlmZS5zaGFyZS56cm9rLmlvL2FnZW50In1dfQ",
"invitation_msg_id": "90da4e5a-2741-4efe-af6d-215d16a8428a",
"invitation": {
"@type": "https://didcomm.org/out-of-band/1.1/invitation",
"@id": "90da4e5a-2741-4efe-af6d-215d16a8428a",
"label": "Proven",
"handshake_protocols": [
"https://didcomm.org/didexchange/1.1"
],
"services": [
{
"id": "#inline",
"type": "did-communication",
"recipientKeys": [
"did:key:z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3#z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3"
],
"serviceEndpoint": "https://example/agent"
}
]
},
"wallet_id": "6b4ae41c-9c8a-49fd-9efa-fa0436d40b5c",
"accept": "auto",
"their_role": "sender",
"their_label": "Proven",
"service_endpoint": "https://example/agent",
"domain": "example",
"path": "agent",
"workflow_status": "active",
"state": "done",
"description": "",
"active_starting_at": "2025-06-26T21:49:44.196Z",
"active_ending_at": null,
"uses_allowed": null,
"uses_total": 2,
"created_at": "2025-06-26T21:49:44.252Z",
"updated_at": "2025-06-26T22:29:00.649Z"
}
],
"count": 1
}This endpoint creates a new invitation of type OOB.
The type of the invitation (OOB).
OOBThe ID of the contact.
undefinedThe handshake protocol for OOB invitations.
undefinedThe alias for the invitation.
undefinedThe mode of the invitation.
undefinedThe accept criteria for the invitation.
trueWhether the invitation is public.
falseThe role of the invitation.
undefinedThe label of the invitation.
undefinedThe status of the invitation.
undefinedThe description of the invitation.
undefinedThe purpose of the invitation (optional unique identifier - if provided, must be unique per wallet).
undefinedThe start time of the invitation's active period.
undefinedThe end time of the invitation's active period.
undefinedThe number of uses allowed for the invitation.
undefinedInvitation created successfully
https://fresh-fox-61.tun2.indiciotech.io?oob=eyJAdHlwZSI6ICJodHRwczovL2RpZGNvbW0ub3JnL291dC1vZi1iYW5kLzEuMS9pbnZpdGF0aW9uIiwgIkBpZCI6ICIzMzAyMDMyZC05MTA4LTQ4YzMtYmM3ZC1mZjZiNzU1ZDcyMmQiLCAibGFiZWwiOiAiT09CIiwgImhhbmRzaGFrZV9wcm90b2NvbHMiOiBbImh0dHBzOi8vZGlkY29tbS5vcmcvZGlkZXhjaGFuZ2UvMS4xIl0sICJzZXJ2aWNlcyI6IFsiZGlkOnNvdjo5NUxBeVFpdE5oNWtWYWF5Q0ZDOVMyIl191Bad Request
Unauthorized.
Internal Server Error
POST /api/v1/invitations HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 422
{
"contact_id": "",
"alias": "API Invitation",
"invitation_type": "OOB",
"handshake_protocol": "https://didcomm.org/didexchange/1.1",
"invitation_mode": "once",
"accept": "auto",
"public": false,
"invitation_role": "Holder",
"invitation_label": "OOB",
"invitation_status": "active",
"invitation_description": "Invitation created through API",
"purpose": "",
"invitation_active_starting_at": null,
"invitation_active_ending_at": null,
"uses_allowed": 1
}{
"invitation_url": "https://fresh-fox-61.tun2.indiciotech.io?oob=eyJAdHlwZSI6ICJodHRwczovL2RpZGNvbW0ub3JnL291dC1vZi1iYW5kLzEuMS9pbnZpdGF0aW9uIiwgIkBpZCI6ICIzMzAyMDMyZC05MTA4LTQ4YzMtYmM3ZC1mZjZiNzU1ZDcyMmQiLCAibGFiZWwiOiAiT09CIiwgImhhbmRzaGFrZV9wcm90b2NvbHMiOiBbImh0dHBzOi8vZGlkY29tbS5vcmcvZGlkZXhjaGFuZ2UvMS4xIl0sICJzZXJ2aWNlcyI6IFsiZGlkOnNvdjo5NUxBeVFpdE5oNWtWYWF5Q0ZDOVMyIl19",
"invitation_id": 1,
"contact_id": ""
}This endpoint accepts an invitation of type OOB.
The URL of the invitation to be accepted.
undefinedExample: https://example.com/invitation?oob=abc123Invitation accepted successfully
Bad Request
Unauthorized.
Internal Server Error
POST /api/v1/invitations/accept HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 62
{
"invitation_url": "https://example.com/invitation?oob=abc123"
}{
"success": true,
"invitation_record": {
"state": "deleted",
"created_at": "2025-06-26T22:28:53.800275Z",
"updated_at": "2025-06-26T22:28:53.800275Z",
"trace": false,
"oob_id": "d8311180-d94f-4480-8f28-dd9dd9257c0c",
"invi_msg_id": "90da4e5a-2741-4efe-af6d-215d16a8428a",
"invitation": {
"@type": "https://didcomm.org/out-of-band/1.1/invitation",
"@id": "90da4e5a-2741-4efe-af6d-215d16a8428a",
"label": "Proven",
"handshake_protocols": [
"https://didcomm.org/didexchange/1.1"
],
"services": [
{
"id": "#inline",
"type": "did-communication",
"recipientKeys": [
"did:key:z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3#z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3"
],
"serviceEndpoint": "https://example/agent"
}
]
},
"connection_id": "29821f73-9db4-45d5-aee9-bd5c8bc2213a",
"role": "receiver",
"multi_use": false
}
}This endpoint retrieves a specific invitation by its ID.
The ID of the invitation.
1Invitation retrieved successfully
The retrieved invitation credential record.
Unauthorized.
Invitation not found
Internal Server Error
GET /api/v1/invitations/{invitation_id} HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*
{
"invitation_id": 1,
"oob_id": "ef62b35f-ebd1-4760-89cd-1b33e6506f22",
"contact_id": null,
"connection_id": "853dbc66-4daa-45a8-8a6b-3cb81639c108",
"my_did": "",
"alias": "Documentation-Example",
"invitation_key": "did:key:z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3#z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3",
"invitation_mode": "multi",
"invitation_url": "https://example/agent?oob=eyJAdHlwZSI6ICJodHRwczovL2RpZGNvbW0ub3JnL291dC1vZi1iYW5kLzEuMS9pbnZpdGF0aW9uIiwgIkBpZCI6ICI5MGRhNGU1YS0yNzQxLTRlZmUtYWY2ZC0yMTVkMTZhODQyOGEiLCAibGFiZWwiOiAiUHJvdmVuIiwgImhhbmRzaGFrZV9wcm90b2NvbHMiOiBbImh0dHBzOi8vZGlkY29tbS5vcmcvZGlkZXhjaGFuZ2UvMS4xIl0sICJzZXJ2aWNlcyI6IFt7ImlkIjogIiNpbmxpbmUiLCAidHlwZSI6ICJkaWQtY29tbXVuaWNhdGlvbiIsICJyZWNpcGllbnRLZXlzIjogWyJkaWQ6a2V5Ono2TWtwYXpVNEVCTVpKU1VDN3VkOHFLMVRhNkwxTGtqMXhUQ1E3OVJMcVZUTHdRMyN6Nk1rcGF6VTRFQk1aSlNVQzd1ZDhxSzFUYTZMMUxrajF4VENRNzlSTHFWVEx3UTMiXSwgInNlcnZpY2VFbmRwb2ludCI6ICJodHRwczovL2J1Y2tldHM0bGlmZS5zaGFyZS56cm9rLmlvL2FnZW50In1dfQ",
"invitation_msg_id": "90da4e5a-2741-4efe-af6d-215d16a8428a",
"invitation": {
"@type": "https://didcomm.org/out-of-band/1.1/invitation",
"@id": "90da4e5a-2741-4efe-af6d-215d16a8428a",
"label": "Proven",
"handshake_protocols": [
"https://didcomm.org/didexchange/1.1"
],
"services": [
{
"id": "#inline",
"type": "did-communication",
"recipientKeys": [
"did:key:z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3#z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3"
],
"serviceEndpoint": "https://example/agent"
}
]
},
"wallet_id": "6b4ae41c-9c8a-49fd-9efa-fa0436d40b5c",
"accept": "auto",
"their_role": "sender",
"their_label": "Proven",
"service_endpoint": "https://example/agent",
"domain": "example",
"path": "agent",
"workflow_status": "active",
"state": "done",
"description": "",
"active_starting_at": "2025-06-26T21:49:44.196Z",
"active_ending_at": null,
"uses_allowed": null,
"uses_total": 2,
"created_at": "2025-06-26T21:49:44.252Z",
"updated_at": "2025-06-26T22:29:00.649Z"
}This endpoint updates an existing invitation.
The ID of the invitation to update.
The workflow status of the invitation.
activeThe description of the invitation.
This is an updated invitation.The purpose of the invitation (unique identifier).
verification-demo-2025The start time of the invitation.
2023-01-01T00:00:00ZThe end time of the invitation.
2030-12-31T23:59:59ZThe number of uses allowed for the invitation.
1Invitation updated successfully
The updated invitation record.
Bad request. Invalid parameters.
Invitation record not found
Internal server error
PUT /api/v1/invitations/{invitation_id} HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 213
{
"workflow_status": "active",
"description": "This is an updated invitation.",
"purpose": "verification-demo-2025",
"active_starting_at": "2023-01-01T00:00:00Z",
"active_ending_at": "2030-12-31T23:59:59Z",
"uses_allowed": 1
}{
"invitation_id": 1,
"oob_id": "ef62b35f-ebd1-4760-89cd-1b33e6506f22",
"contact_id": null,
"connection_id": "853dbc66-4daa-45a8-8a6b-3cb81639c108",
"my_did": "",
"alias": "Documentation-Example",
"invitation_key": "did:key:z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3#z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3",
"invitation_mode": "multi",
"invitation_url": "https://example/agent?oob=eyJAdHlwZSI6ICJodHRwczovL2RpZGNvbW0ub3JnL291dC1vZi1iYW5kLzEuMS9pbnZpdGF0aW9uIiwgIkBpZCI6ICI5MGRhNGU1YS0yNzQxLTRlZmUtYWY2ZC0yMTVkMTZhODQyOGEiLCAibGFiZWwiOiAiUHJvdmVuIiwgImhhbmRzaGFrZV9wcm90b2NvbHMiOiBbImh0dHBzOi8vZGlkY29tbS5vcmcvZGlkZXhjaGFuZ2UvMS4xIl0sICJzZXJ2aWNlcyI6IFt7ImlkIjogIiNpbmxpbmUiLCAidHlwZSI6ICJkaWQtY29tbXVuaWNhdGlvbiIsICJyZWNpcGllbnRLZXlzIjogWyJkaWQ6a2V5Ono2TWtwYXpVNEVCTVpKU1VDN3VkOHFLMVRhNkwxTGtqMXhUQ1E3OVJMcVZUTHdRMyN6Nk1rcGF6VTRFQk1aSlNVQzd1ZDhxSzFUYTZMMUxrajF4VENRNzlSTHFWVEx3UTMiXSwgInNlcnZpY2VFbmRwb2ludCI6ICJodHRwczovL2J1Y2tldHM0bGlmZS5zaGFyZS56cm9rLmlvL2FnZW50In1dfQ",
"invitation_msg_id": "90da4e5a-2741-4efe-af6d-215d16a8428a",
"invitation": {
"@type": "https://didcomm.org/out-of-band/1.1/invitation",
"@id": "90da4e5a-2741-4efe-af6d-215d16a8428a",
"label": "Proven",
"handshake_protocols": [
"https://didcomm.org/didexchange/1.1"
],
"services": [
{
"id": "#inline",
"type": "did-communication",
"recipientKeys": [
"did:key:z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3#z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3"
],
"serviceEndpoint": "https://example/agent"
}
]
},
"wallet_id": "6b4ae41c-9c8a-49fd-9efa-fa0436d40b5c",
"accept": "auto",
"their_role": "sender",
"their_label": "Proven",
"service_endpoint": "https://example/agent",
"domain": "example",
"path": "agent",
"workflow_status": "active",
"state": "done",
"description": "This is an updated invitation.",
"active_starting_at": "2023-01-01T00:00:00.000Z",
"active_ending_at": "2023-12-31T23:59:59.000Z",
"uses_allowed": 500,
"uses_total": 2,
"created_at": "2025-06-26T21:49:44.252Z",
"updated_at": "2025-06-26T22:42:13.411Z"
}This endpoint deletes an existing invitation.
The ID of the invitation to delete.
Invitation deleted successfully
Invitation was deleted successfully!Bad request. Invalid parameters.
Invitation record not found
Internal server error
DELETE /api/v1/invitations/{invitation_id} HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*
{
"success": "Invitation was deleted successfully!"
}Retrieves a specific invitation by its purpose identifier.
The purpose identifier of the invitation.
demo-1Invitation retrieved successfully
The retrieved invitation credential record.
Bad request. Invalid parameters.
Unauthorized.
Invitation not found
Internal Server Error
GET /api/v1/invitations/purpose/{purpose} HTTP/1.1
Host: proven-4-2-test.proven.indicio.tech
x-api-key: YOUR_API_KEY
Accept: */*
{
"invitation_id": 1,
"oob_id": "ef62b35f-ebd1-4760-89cd-1b33e6506f22",
"contact_id": null,
"connection_id": "853dbc66-4daa-45a8-8a6b-3cb81639c108",
"my_did": "",
"alias": "Documentation-Example",
"invitation_key": "did:key:z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3#z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3",
"invitation_mode": "multi",
"invitation_url": "https://example/agent?oob=eyJAdHlwZSI6ICJodHRwczovL2RpZGNvbW0ub3JnL291dC1vZi1iYW5kLzEuMS9pbnZpdGF0aW9uIiwgIkBpZCI6ICI5MGRhNGU1YS0yNzQxLTRlZmUtYWY2ZC0yMTVkMTZhODQyOGEiLCAibGFiZWwiOiAiUHJvdmVuIiwgImhhbmRzaGFrZV9wcm90b2NvbHMiOiBbImh0dHBzOi8vZGlkY29tbS5vcmcvZGlkZXhjaGFuZ2UvMS4xIl0sICJzZXJ2aWNlcyI6IFt7ImlkIjogIiNpbmxpbmUiLCAidHlwZSI6ICJkaWQtY29tbXVuaWNhdGlvbiIsICJyZWNpcGllbnRLZXlzIjogWyJkaWQ6a2V5Ono2TWtwYXpVNEVCTVpKU1VDN3VkOHFLMVRhNkwxTGtqMXhUQ1E3OVJMcVZUTHdRMyN6Nk1rcGF6VTRFQk1aSlNVQzd1ZDhxSzFUYTZMMUxrajF4VENRNzlSTHFWVEx3UTMiXSwgInNlcnZpY2VFbmRwb2ludCI6ICJodHRwczovL2J1Y2tldHM0bGlmZS5zaGFyZS56cm9rLmlvL2FnZW50In1dfQ",
"invitation_msg_id": "90da4e5a-2741-4efe-af6d-215d16a8428a",
"invitation": {
"@type": "https://didcomm.org/out-of-band/1.1/invitation",
"@id": "90da4e5a-2741-4efe-af6d-215d16a8428a",
"label": "Proven",
"handshake_protocols": [
"https://didcomm.org/didexchange/1.1"
],
"services": [
{
"id": "#inline",
"type": "did-communication",
"recipientKeys": [
"did:key:z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3#z6MkpazU4EBMZJSUC7ud8qK1Ta6L1Lkj1xTCQ79RLqVTLwQ3"
],
"serviceEndpoint": "https://example/agent"
}
]
},
"wallet_id": "6b4ae41c-9c8a-49fd-9efa-fa0436d40b5c",
"accept": "auto",
"their_role": "sender",
"their_label": "Proven",
"service_endpoint": "https://example/agent",
"domain": "example",
"path": "agent",
"workflow_status": "active",
"state": "done",
"description": "",
"purpose": "demo-1",
"active_starting_at": "2025-06-26T21:49:44.196Z",
"active_ending_at": null,
"uses_allowed": null,
"uses_total": 2,
"created_at": "2025-06-26T21:49:44.252Z",
"updated_at": "2025-06-26T22:29:00.649Z"
}Last updated