An Organization
represents a legal entity that exists in the context of a registry. An instance of the Ident organization registry is persisted in the configured PostgreSQL database and may be backed by a registry which lives on an immutable public ledger (i.e., such as the Ethereum public blockchain). Attestations, decentralized identifiers (DIDs) and verifiable credentials (VCs) can be attached to an organization. The organizations API makes it easy to verify attestations as well as broadcast organization details for registration of newly-created and updated organizations in public registries.
Access to programmatically manage resources associated with an organization is provided via REST API, to which ACL-based authorization is managed using generic permissions .
The registering user of an Organization
is associated with the organization record for historical purposes and does not authorize any access to the organization.
List Organizations
Retrieve a list of organizations in the authorized scope.
List Organizations
GET
https://ident.provide.services/api/v1/organizations
Returns a list of organizations in the authorized scope
Name Type Description bearer <JWT> scoped to an Application
, Organization
or User
200: OK
Copy [
{
"id" : "93b172b8-0d0f-440e-af35-43685c07b71b" ,
"created_at" : "2021-08-16T18:53:26.49383Z" ,
"name" : "LGT Testing." ,
"user_id" : "49a02f33-33f2-4d69-a301-ffb1933e77cc" ,
"description" : "Large Green Turtle Organization for testing" ,
"metadata" : {
"hello" : "world" ,
"arbitrary" : "input"
}
} ,
{
"id" : "1d81b3c3-0f12-46a3-865f-431c578ffced" ,
"created_at" : "2021-08-11T12:59:52.348659Z" ,
"name" : "Youngs org" ,
"user_id" : "49a02f33-33f2-4d69-a301-ffb1933e77cc" ,
"description" : null ,
"metadata" : {
"hello" : "world" ,
"arbitrary" : "input"
}
}
]
curl Response JSON
Copy curl -i \
-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
https://ident.provide.services/api/v1/organizations
HTTP/2 200
Copy {
"id": "efef1044-4958-43bc-903b-28f2bb938037"
}
Create Organization
Create a new organization.
Create Organization
POST
https://ident.provide.services/api/v1/organizations
Creates a new Organization
Name Type Description bearer <JWT> scoped to an Application
, Organization
or User
Request Body
Name Type Description brief description of Organization
being created
arbitrary data used for inclusion of additional parameters required for Organization
name of Organization
to be created
id of user to assign as owner of Organization
201: Created
Copy {
"id" : "3021451a-5907-4c6e-ae8e-e1903da4f388" ,
"created_at" : "2021-08-16T21:02:35.810970266Z" ,
"name" : "LGT Testing 2" ,
"user_id" : "49a02f33-33f2-4d69-a301-ffb1933e77cc" ,
"description" : "Secondary organization for testing" ,
"metadata" : {
"hello" : "world" ,
"arbitrary" : "input"
}
}
curl Response JSON
Copy curl -v -XPOST \
-H 'content-type: application/json' \
-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
https://ident.provide.services/api/v1/organizations --data-binary @- << EOF
{
"name":"organization name",
"description":"organization description"
}
Copy {
"id": "4059f749-55ad-4c1c-975d-6c5040801079"
}
Get Organization Details
Retrieve details for an organization.
Get Organization Details
GET
https://ident.provide.services/api/v1/organizations/:id
Returns detailed information for a specified Organization
Path Parameters
Name Type Description id of target Organization
Name Type Description bearer <JWT> scoped to an Application
, Organization
or User
200: OK
Copy {
"id" : "3021451a-5907-4c6e-ae8e-e1903da4f388" ,
"created_at" : "2021-08-16T21:02:35.81097Z" ,
"name" : "LGT Testing 2" ,
"user_id" : "49a02f33-33f2-4d69-a301-ffb1933e77cc" ,
"description" : "Secondary organization for testing" ,
"metadata" : {
"hello" : "world" ,
"arbitrary" : "input"
}
}
curl Response JSON
Copy curl -v \
-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
https://ident.provide.services/api/v1/organizations/efef1044-4958-43bc-903b-28f2bb938037
Copy {
"id": "efef1044-4958-43bc-903b-28f2bb938037"
}
URL Parameters
Update Organization
Update an organization.
Update Organization Details
PUT
https://ident.provide.services/api/v1/organizations/:id
Updates a specified Organization
Path Parameters
Name Type Description id of Organization
to be updated
Name Type Description bearer <JWT> scoped to an Application
, Organization
or User
Request Body
Name Type Description arbitrary data object used to include additional parameters required for the organization
id of user to assign as owner of Organization
brief description of Organization
being updated
name of the Organization
being updated
curl
Copy curl -v -XPUT \
-H 'content-type: application/json' \
-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
https://ident.provide.services/api/v1/organizations/efef1044-4958-43bc-903b-28f2bb938037 --data-binary @- << EOF
{
"name":"organization name",
"description":"organization description"
}
EOF
URL Parameters
Delete Organization
Delete an organization.
curl
Copy curl -XDELETE -i \
-H 'content-type: application/json' \
-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
https://ident.provide.services/api/v1/organizations/efef1044-4958-43bc-903b-28f2bb938037 \
HTTP/2 204