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.
Retrieve a list of applications in the authorized scope.
curl -i \-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \https://ident.provide.services/api/v1/applicationsHTTP/2 200
Response JSON:
{"id": "efef1044-4958-43bc-903b-28f2bb938037"}
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 details for an application.
curl -i \-H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \https://ident.provide.services/api/v1/applications/efef1044-4958-43bc-903b-28f2bb938037HTTP/2 200
Response JSON:
{"id": "efef1044-4958-43bc-903b-28f2bb938037"}
Parameter | Description |
id | id of the |
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
Parameter | Description |
id | id of the |
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
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.