Organizations

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

Headers

Name
Type
Description

authorization

string

bearer scoped to an

Application

,

Organization

or

User

[
    {
        "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 -i \
     -H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
     https://ident.provide.services/api/v1/organizations
HTTP/2 200

Create Organization

Create a new organization.

Create Organization

POST https://ident.provide.services/api/v1/organizations

Creates a new

Organization

Headers

Name
Type
Description

authorization

String

bearer scoped to an

Application

,

Organization

or

User

Request Body

Name
Type
Description

description

string

brief description of

Organization

being created

metadata

object

arbitrary data used for inclusion of additional parameters required for

Organization

name

string

name of

Organization

to be created

user_id

string

id of user to assign as owner of

Organization

{
    "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 -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"
}

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

organization_id

string

id of target

Organization

Headers

Name
Type
Description

authorization

string

bearer scoped to an

Application

,

Organization

or

User

{
    "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 -v \
     -H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
     https://ident.provide.services/api/v1/organizations/efef1044-4958-43bc-903b-28f2bb938037

URL Parameters

Parameter
Description

id

id of the Organization

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

organization_id

string

id of

Organization

to be updated

Headers

Name
Type
Description

authorization

string

bearer scoped to an

Application

,

Organization

or

User

Request Body

Name
Type
Description

metadata

object

arbitrary data object used to include additional parameters required for the organization

user_id

string

id of user to assign as owner of

Organization

description

string

brief description of

Organization

being updated

name

string

name of the

Organization

being updated

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"
}

URL Parameters

Parameter
Description

id

id of the Organization

Delete Organization

Delete an organization.

Delete an organization.

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

Last updated