Ecosystem roles
Ecosystem Lead
The governing organization of the ecosystem. The Ecosystem Lead:
- Creates the ecosystem
- Invites other organizations to join
- Removes members from the ecosystem
- Updates member status (ACTIVE / INACTIVE)
- Manages schema endorsement rules
- Accesses the ecosystem dashboard
Ecosystem Lead org role can perform these actions. This role is assigned when the ecosystem is created.Ecosystem Member
An organization that has accepted an invitation to join the ecosystem. Ecosystem Members:
- Operate under the governance rules set by the Lead
- Issue and verify credentials within the trust framework
- Can view their ecosystem memberships and invitation status
Ecosystem Member org role is assigned when an organization accepts an ecosystem invitation.EcosystemRoles enum defines two roles: Ecosystem Lead and Ecosystem Member. The EcosystemServiceRole enum uses the values lead and member internally.
Creating an ecosystem
Prerequisites
The creating user must belong to an organization with an active agent and hold the
owner role in that organization.Create the ecosystem
The organization owner calls the create ecosystem endpoint:The creating organization is automatically assigned the
Ecosystem Lead role.Configure ecosystem settings
The Ecosystem Lead can configure settings including:
enableEcosystem— enable or disable ecosystem featuresautoEndorsement— automatically endorse schema transactions from membersparticipateInEcosystem— allow the lead org to also act as a membermultiEcosystemSupport— allow member orgs to join multiple ecosystems
EcosystemConfigSettings enum.Invite organizations
The Ecosystem Lead invites other organizations:Only users with the
Ecosystem Lead org role can send invitations.Invitation and approval workflow
Ecosystem invitations follow the same state machine as organization member invitations, using theInvitation enum:
| State | Description |
|---|---|
pending | Invitation has been sent and is awaiting a response |
accepted | The invited organization has joined the ecosystem |
rejected | The invitation was declined |
pending invitation can move to accepted or rejected, but accepted and rejected states are terminal.
An organization can check the status of all its ecosystem invitations — both as a Lead and as a potential Member — using
GET /ecosystem/invitations?role=<role>. The InvitationViewRole enum accepts Ecosystem Lead or Ecosystem Member as the role parameter.Ecosystem member status
Once an organization has joined an ecosystem, the Ecosystem Lead can change its operational status using theEcosystemOrgStatus enum:
| Status | Description |
|---|---|
ACTIVE | The organization is an active ecosystem participant |
INACTIVE | The organization has been deactivated within the ecosystem |
Ecosystem governance and schema endorsement
On permissioned Hyperledger Indy networks, writing a schema or credential definition to the ledger requires a transaction signed by an endorser. In an ecosystem context, the Ecosystem Lead typically acts as the endorser for member organizations. TheEndorserTransactionType enum defines two transaction types that require endorsement:
schema— publishing a new credential schemacredential-definition— publishing a new credential definition
autoEndorsement is enabled in the ecosystem configuration, the lead’s agent automatically signs endorsement requests from member organizations without manual approval.
Removing members
The Ecosystem Lead can remove one or more organizations from the ecosystem:Ecosystem Member role and can no longer participate in the ecosystem’s governance or endorsement flows.
Viewing ecosystem data
| Endpoint | Roles | Description |
|---|---|---|
GET /ecosystem | platform_admin, Ecosystem Lead, Ecosystem Member | List all ecosystems accessible to the user |
GET /ecosystem/:ecosystemId/org/:orgId | platform_admin, owner, admin | Dashboard data for a specific ecosystem and organization |
GET /ecosystem/members | Ecosystem Lead | All organizations in a specific ecosystem |
GET /ecosystem/invitations | owner | Invitations for lead and member roles |
GET /ecosystem/invitation/status | authenticated user | Status of pending ecosystem creation invitations |