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.

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.

List Applications

Retrieve a list of applications in the authorized scope.

List Applications

GET https://ident.provide.services/api/v1/applications

Returns a list of applications within the authorized scope

Headers

[
    {
        "id": "8675134a-32d7-40dc-9698-0457800b58db",
        "created_at": "2021-08-16T18:55:00.139188Z",
        "network_id": "07102258-5e49-480e-86af-6d0c3260827d",
        "user_id": "49a02f33-33f2-4d69-a301-ffb1933e77cc",
        "name": "LGT Application for testing - Updated",
        "description": "Application updated using Postman",
        "type": "baseline",
        "config": {
            "webhook_secret": "6facb73e96074858ac92ef7b3c540a49"
        },
        "hidden": false
    },
    {
        "id": "de7efe54-642e-4171-91be-0fe0a7cc0977",
        "created_at": "2021-08-16T17:20:08.757388Z",
        "network_id": "00000000-0000-0000-0000-000000000000",
        "user_id": "7c8fe6f1-38c3-4da1-b4b7-7591c6d0ca7c",
        "name": "Large Green Turtle 8.16.2021:1722",
        "description": "Sandbox application take 2",
        "type": "baseline",
        "config": {},
        "hidden": false
    },
    {
        "id": "5b91264b-b15d-4b02-8f03-74488c438993",
        "created_at": "2021-08-11T13:12:32.465867Z",
        "network_id": "07102258-5e49-480e-86af-6d0c3260827d",
        "user_id": "49a02f33-33f2-4d69-a301-ffb1933e77cc",
        "name": "Test application for virtual user testing",
        "description": null,
        "type": null,
        "config": {
            "webhook_secret": "1404fc1d7d9e42908788380d3369504c"
        },
        "hidden": false
    }
]
curl -i \
     -H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
     https://ident.provide.services/api/v1/applications
HTTP/2 200

Create Application

Create a new application.

Create Application

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

Creates an Application

Headers

Request Body

{
    "id": "64c93b72-e440-43b7-8a37-7cfc7ad7fb5d",
    "created_at": "2021-08-18T01:46:34.555634983Z",
    "network_id": "00000000-0000-0000-0000-000000000000",
    "user_id": "49a02f33-33f2-4d69-a301-ffb1933e77cc",
    "name": "Large Green Turtle 8.16.2021:1720",
    "description": null,
    "type": null,
    "config": {
        "webhook_secret": "7e6e80047b684354a2fd1542a0b57ac6"
    },
    "hidden": false
}
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

Get Application Details

Retrieve details for an application.

Get Application Details

GET https://ident.provide.services/api/v1/applications/:id

Returns details for a specified Application

Path Parameters

Headers

{
    "id": "063452b4-4964-40d9-8443-53a61fbd4dc9",
    "created_at": "2021-08-18T18:04:22.750806Z",
    "network_id": "07102258-5e49-480e-86af-6d0c3260827d",
    "user_id": "49a02f33-33f2-4d69-a301-ffb1933e77cc",
    "name": "LGT Test application TK421",
    "description": "LGT Test application for testing and documentation",
    "type": "baseline",
    "config": {
        "sample": "arbitrary value",
        "webhook_secret": "000111222333444555666c"
    },
    "hidden": true
}
curl -i \
     -H 'authorization: bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7fSwiZXhwIjpudWxsLCJpYXQiOjE1NTk4Nzg1NzQsImp0aSI6IjYzYTJkY2QzLWI5OTgtNDZjNC1hNzFkLTQ5MjU4YTBhYmEyMyIsInN1YiI6ImFwcGxpY2F0aW9uOmNiMjAzN2Y3LTc5ZmMtNDBmNC05NzIwLWFkYTYzNmRhNDE4MyJ9.0LsVj7oTF0KjwbcUhg9a-fQRWB7cGzKJxLIANeX2cWE' \
     https://ident.provide.services/api/v1/applications/efef1044-4958-43bc-903b-28f2bb938037
HTTP/2 200

URL Parameters

Update Application

Update an application.

Update Application

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

Updates a specified Application

Headers

Request Body

[]
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

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

Associate Application Organization

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

Associates an Organization to the specified Application

Path Parameters

Headers

Request Body

Associate Application User

POST https://ident.provide.services/api/v1/applications/:id/users

Associates a User to a specified Application

Path Parameters

Headers

Request Body

List Application Users

GET https://ident.provide.services/api/v1/applications/:id/users

Retrieves a list of organization instances associated with specified Application

Path Parameters

Headers

[
    {
        "id": "49a02f33-33f2-4d69-a301-ffb1933e77cc",
        "created_at": "2021-08-11T03:38:36.24522Z",
        "name": "John Young",
        "first_name": "John",
        "last_name": "Young",
        "permissions": 510,
        "privacy_policy_agreed_at": null,
        "terms_of_service_agreed_at": null
    },
    {
        "id": "7e6c0063-ab63-4c5c-82cd-41f5c885f050",
        "created_at": "2021-08-17T02:06:13.875344Z",
        "name": "Robert Crippen",
        "first_name": "Robert",
        "last_name": "Crippen",
        "permissions": 510,
        "privacy_policy_agreed_at": null,
        "terms_of_service_agreed_at": null
    }
]

Last updated