Applications

An Application represents a logical collection of resources provisioned within Provide's containerized microservices architecture. An application is immutably configured upon initialization with support for a primary Network.

Access to programmatically manage resources associated with an application is provided via REST API, to which ACL-based authorization is managed using generic permissions.

The organizing user of an Application is associated with the application record for historical purposes and does not authorize any access to the application.

List Applications

Retrieve a list of applications in the authorized scope.

curl -i \
-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
https://ident.provide.services/api/v1/applications
HTTP/2 200

Response JSON:

{
"id": "efef1044-4958-43bc-903b-28f2bb938037"
}

Create Application

Create a new application.

curl -XPOST -i \
-H 'content-type: application/json' \
-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
https://ident.provide.services/api/v1/applications \
-d '{}'
HTTP/2 201

Response JSON:

{
"id": "4059f749-55ad-4c1c-975d-6c5040801079"
}

Retrieve Application Details

Retrieve details for an application.

curl -i \
-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
https://ident.provide.services/api/v1/applications/efef1044-4958-43bc-903b-28f2bb938037
HTTP/2 200

Response JSON:

{
"id": "efef1044-4958-43bc-903b-28f2bb938037"
}

URL Parameters

Parameter

Description

id

id of the Application

Update Application

Update an application.

curl -XPUT -i \
-H 'content-type: application/json' \
-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
https://ident.provide.services/api/v1/applications/efef1044-4958-43bc-903b-28f2bb938037 \
-d '{}'
HTTP/2 204

URL Parameters

Parameter

Description

id

id of the Application

Delete Application

Delete an application.

curl -XDELETE -i \
-H 'content-type: application/json' \
-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
https://ident.provide.services/api/v1/applications/efef1044-4958-43bc-903b-28f2bb938037 \
HTTP/2 204

Virtual Resources

Applications can programmatically create and associate "virtual" User and Organization records. Use-cases such as KYC and certain multi-tenant applications which implement their own upstream authentication and authorization are good examples of where such virtual resources make sense.