Invitations v0.7.1

Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.

This API allows digital banking customers to send invitations to other people to become joint owners on personal accounts or to become authorized signers of business organizations.

When a user creates a new invitation (createInvitation below), the service sends an email, on behalf of the financial institution, to the invitee's email address with instructions to accept the invitation by visiting a web page. The link in the generated email includes parameters that describe the invitation resource, including but not limited to invitationId. The invitationId is required on the verifyInvitation operation below.

The "shared secret" is a string the invitee shares the inviter to verify their identity. See (sharedSecret below)

Invitation States may be one of the following:

  • sent Invitation sent to invitee
  • accepted Invitation accepted by invitee
  • completed Invitee has been added to their invited role
  • revoked Invitation revoked by inviter
  • expired Invitation expired

The invitation also references the account or organization they are being invited to join, depending on the type of the invitation. For joint owner invitations, other existing joint owners on the account can see outstanding invitations for the account. For authorized signer invitation, other existing joint owners can see outstanding invitations for the business organization.

The Inviter should share the secret with the invitee through another secure channel (such as face to face or in a phone conversation) so that unauthorized people cannot accept the invitation.

The Inviter can revoke an invitation if the state of the invitation is sent.

When the invitee visits the web form listed in their invitation email, they enter the sharedSecret to accept. The client can use the verifyInvitation operation below to determine if the invitee entered the secret correctly. If they enter the data correctly, the invitation is accepted.

If not already users, invitees must register as users on the financial institution's digital banking platform in order to assume these roles. Unverified users must also execute the financial institution's identity verification process before they are added as a joint user or authorized signer. Once added as a joint user or authorized signer, the invitation is completed.

Inviters can update an invitation's shared secret. Inviters can also request an invitation be resent, or they can revoke an invitation. Unaccepted invitations expire after some time (such as 30 or 45 days).

Error Types

Error responses in this API may have one of the type values described below. See Errors for more information on error responses and error types.

jointOwnersDisabled

Description: Co-owners are not supported in this account.
Remediation: Contact your financial institution.

verificationInvitationExpired

Description: The invitation you are attempting to accept is expired.
Remediation: Check to ensure that you are following the latest invitation email or contact your inviter.

verificationInvitationNotRevokable

Description: The invitation you are attempting to revoke is not in the sent state.
Remediation: Only invitations in the sent state can be revoked. One cannot revoke an invitation after it has expired, been accepted, or is completed.

verificationInvitationRevoked

Description: The invitation you are attempting to accept is revoked.
Remediation: Check to ensure that you are following the latest invitation email or contact your inviter.

Download OpenAPI Definition (YAML)

Base URLs:

Terms of service

Email: Apiture Web: Apiture

Authentication

  • API Key (apiKey)
    • header parameter: API-Key
    • API Key based authentication. Each client application must pass its private, unique API key, allocated in the developer portal, via the API-Key: {api-key} request header.

  • OAuth2 authentication (accessToken)
    • OAuth2 client access token authentication. The client authenticates against the server at authorizationUrl, passing the client's private clientId (and optional clientSecret) as part of this flow. The client obtains an access token from the server at tokenUrl. It then passes the received access token via the Authorization: Bearer {access-token} header in subsequent API calls. The authorization process also returns a refresh token which the client should use to renew the access token before it expires.
    • Flow: authorizationCode
    • Authorization URL = https://auth.devbank.apiture.com/auth/oauth2/authorize
    • Token URL = https://api.devbank.apiture.com/auth/oauth2/token
Scope Scope Description
banking/read Read access to invitations
banking/write Write (update) access to invitations
banking/delete Delete access to invitations
banking/full Full access to invitations

API

The Invitations API

getLabels

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/invitations/labels \
  -H 'Accept: application/hal+json' \
  -H 'Accept-Language: string' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/invitations/labels HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
Accept-Language: string

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'Accept-Language':'string',
  'API-Key':'API_KEY'

};

fetch('https://api.devbank.apiture.com/invitations/labels',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Accept':'application/hal+json',
  'Accept-Language':'string',
  'API-Key':'API_KEY'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/invitations/labels',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'Accept-Language' => 'string',
  'API-Key' => 'API_KEY'
}

result = RestClient.get 'https://api.devbank.apiture.com/invitations/labels',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'Accept-Language': 'string',
  'API-Key': 'API_KEY'
}

r = requests.get('https://api.devbank.apiture.com/invitations/labels', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/invitations/labels");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "Accept-Language": []string{"string"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/invitations/labels", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Localized Labels

GET https://api.devbank.apiture.com/invitations/labels

Return a JSON object which defines labels for enumeration types defined by the schemas defined in this API. The labels in the response may not all match the requested language; some may be in the default language (en-us).

Parameters

ParameterDescription
Accept-Language
in: header
string
The weighted language tags which indicate the user's preferred natural language for the localized labels in the response, as per RFC 7231.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/labelGroups/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "groups": {
    "fristGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "0",
        "hidden": true
      },
      "key1": {
        "label": "Label for Key 1",
        "code": "1",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 1)"
          },
          "fr": {
            "label": "(French label for Key 1)"
          }
        }
      },
      "key2": {
        "label": "Label for Key 2",
        "code": "2",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 2)"
          },
          "fr": {
            "label": "(French label for Key 2)"
          }
        }
      },
      "key3": {
        "label": "Label for Key 3",
        "code": "3",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 3)"
          },
          "fr": {
            "label": "(French label for Key 3)"
          }
        }
      },
      "other": {
        "label": "Other",
        "variants": {
          "es": {
            "label": "(Spanish label for Other)"
          },
          "fr": {
            "label": "(French label for Other)"
          }
        },
        "code": "254"
      }
    },
    "secondGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "?",
        "hidden": true
      },
      "optionA": {
        "label": "Option A",
        "code": "A"
      },
      "optionB": {
        "label": "Option B",
        "code": "B"
      },
      "optionC": {
        "label": "Option C",
        "code": "C"
      },
      "other": {
        "label": "Other",
        "code": "_"
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: labelGroups

getApi

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/invitations/ \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/invitations/ HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'

};

fetch('https://api.devbank.apiture.com/invitations/',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/invitations/',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY'
}

result = RestClient.get 'https://api.devbank.apiture.com/invitations/',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY'
}

r = requests.get('https://api.devbank.apiture.com/invitations/', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/invitations/");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/invitations/", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Top-level resources and operations in this API

GET https://api.devbank.apiture.com/invitations/

Return links to the top-level resources and operations in this API.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0"
}

Responses

StatusDescription
200 OK
OK.
Schema: root

getApiDoc

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/invitations/apiDoc \
  -H 'Accept: application/json' \
  -H 'API-Key: API_KEY'

GET https://api.devbank.apiture.com/invitations/apiDoc HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/json

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/json',
  'API-Key':'API_KEY'

};

fetch('https://api.devbank.apiture.com/invitations/apiDoc',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Accept':'application/json',
  'API-Key':'API_KEY'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/invitations/apiDoc',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/json',
  'API-Key' => 'API_KEY'
}

result = RestClient.get 'https://api.devbank.apiture.com/invitations/apiDoc',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/json',
  'API-Key': 'API_KEY'
}

r = requests.get('https://api.devbank.apiture.com/invitations/apiDoc', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/invitations/apiDoc");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/json"},
        "API-Key": []string{"API_KEY"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/invitations/apiDoc", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Return API definition document

GET https://api.devbank.apiture.com/invitations/apiDoc

Return the OpenAPI document that describes this API.

Example responses

200 Response

{}

Responses

StatusDescription
200 OK
OK.
Schema: Inline

Response Schema

Invitation

Invitations

getInvitations

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/invitations/invitations \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/invitations/invitations HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/invitations/invitations',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/invitations/invitations',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/invitations/invitations',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/invitations/invitations', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/invitations/invitations");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/invitations/invitations", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Return a collection of invitations

GET https://api.devbank.apiture.com/invitations/invitations

Return a paginated sortable filterable searchable collection of invitations. The links in the response include pagination links.

Parameters

ParameterDescription
start
in: query
integer(int64)
The zero-based index of the first invitation item to include in this page. The default 0 denotes the beginning of the collection.
format: int64
default: 0
limit
in: query
integer(int32)
The maximum number of invitation representations to return in this page.
format: int32
default: 100
sortBy
in: query
string
Optional sort criteria. See sort criteria format, such as ?sortBy=field1,-field2.
This collection may be sorted by the following properties:
type
state.
filter
in: query
string
Optional filter criteria. See filtering.
This collection may be filtered by the following properties and functions:
• Property state using functions eq, ne, in
• Property type using functions eq, ne, in
• Property emailAddress using functions eq, contains, search
• Property accountUri using functions eq, contains, search
• Property organizationUri using functions eq, contains, search
• Property createdBy using functions eq, contains, search
• Property customerId using functions eq, contains, search.
q
in: query
string
Optional search string. See searching.
pendingInvitations
in: query
boolean
Subset the invitations collection to those pending invitations for the currently authenticated user. These are invitations that have been verified by the authenticated user but still require some user action to complete the invitation process. This is combined with an implicit and with other filters if they are used. See filtering.
accountUri
in: query
string
Subset the invitations collection to those with this accountUri value. Use | to separate multiple values. For example, ?accountUri=https://production.api.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c matches only items whose accountUri is https://production.api.apiture.com/accounts/accounts/0399abed-fd3d-4830-a88b-30f38b8a365c. This is combined with an implicit and with other filters if they are used. See filtering.
organizationUri
in: query
string
Subset the invitations collection to those with this organizationUri value. Use | to separate multiple values. For example, ?organizationUri=https://production.api.apiture.com/organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c matches only items whose organizationUri is https://production.api.apiture.com/organizations/organizations/0399abed-fd3d-4830-a88b-30f38b8a365c. This is combined with an implicit and with other filters if they are used. See filtering.
state
in: query
string
Subset the invitations collection to those whose state matches this value. Use | to separate multiple values. For example, ?state=sent matches only items whose state is sent; ?state=sent|accepted matches items whose state is sent or accepted. This is combined with an implicit and with other filters if they are used. See filtering.
enum values: sent, accepted, completed, revoked, expired
type
in: query
string
Subset the invitations collection to those whose type matches this value.
enum values: joint, authorizedSigner
emailAddress
in: query
string
Subset the invitations collection to those with this emailAddress value. Use | to separate multiple values. For example, ?emailAddress=johnsmith@email.com matches only items whose emailAddress is johnsmith@email.com; ?emailAddress=johnsmith@email.com|tomjones@email.com will match items whose emailAddress is johnsmith@email.com or tomjones@email.com. This is combined with an implicit and with other filters if they are used. See filtering.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/invitations/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/invitations/invitations?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/invitations/invitations?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/invitations/invitations?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/invitations/invitations"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "invitations",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "firstName": "Max",
        "lastName": "Peck",
        "identification": "3333",
        "sharedSecret": "obsolete obese octopus",
        "emailAddress": "Max.Peck@nasa.example.com",
        "type": "joint",
        "accountUri": "https://api.devbank.apiture.com/accounts/account/7443d485-5faf-46d7-8c09-0d35f3433ed7",
        "inviterFullName": "Maxine Peck",
        "state": "sent",
        "verificationCount": 0,
        "createdBy": "maxinepeck123",
        "createdAt": "2019-01-20T05:54:52.375Z",
        "expiresAt": "2019-02-20T05:54:52.375Z",
        "customerId": "57212",
        "customerGroup": "2",
        "_profile": "https://production.api.apiture.com/schemas/invitations/invitation/v1.2.0/profile.json",
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/invitations/invitation/2dce7016-0059-46d0-92fa-aed853b80c10"
          }
        }
      }
    ]
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: invitations
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

createInvitation

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/invitations/invitations \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/invitations/invitations HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/invitations/createInvitation/v2.2.0/profile.json",
  "_links": {},
  "sharedSecret": "obsolete obese octopus",
  "type": "productPromotion",
  "accountUri": "https://api.devbank.apiture.com/accounts/account/7443d485-5faf-46d7-8c09-0d35f3433ed7",
  "inviterFullName": "Maxine Peck",
  "emailAddress": "Max.Peck@nasa.example.com",
  "firstName": "Max",
  "lastName": "Peck",
  "identification": "3333",
  "attributes": {
    "applicationAttributes": {
      "productCode": "DD12M_LA",
      "accountAttributes": {
        "refid": "49jfelk3"
      }
    }
  }
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/invitations/invitations',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/invitations/invitations',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/invitations/invitations',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.devbank.apiture.com/invitations/invitations', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/invitations/invitations");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/invitations/invitations", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Create a new invitation

POST https://api.devbank.apiture.com/invitations/invitations

Create a new invitation resource and send the invitation email to the invitee.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/createInvitation/v2.2.0/profile.json",
  "_links": {},
  "sharedSecret": "obsolete obese octopus",
  "type": "productPromotion",
  "accountUri": "https://api.devbank.apiture.com/accounts/account/7443d485-5faf-46d7-8c09-0d35f3433ed7",
  "inviterFullName": "Maxine Peck",
  "emailAddress": "Max.Peck@nasa.example.com",
  "firstName": "Max",
  "lastName": "Peck",
  "identification": "3333",
  "attributes": {
    "applicationAttributes": {
      "productCode": "DD12M_LA",
      "accountAttributes": {
        "refid": "49jfelk3"
      }
    }
  }
}

Parameters

ParameterDescription
body createInvitation (required)
The data necessary to create a new invitation.

Example responses

201 Response

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/invitation/v1.2.0/profile.json",
  "sharedSecret": "obsolete obese octopus",
  "type": "joint",
  "accountUri": "https://api.devbank.apiture.com/accounts/account/7443d485-5faf-46d7-8c09-0d35f3433ed7",
  "inviterFullName": "Maxine Peck",
  "emailAddress": "Max.Peck@nasa.example.com",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/invitations/invitation/2dce7016-0059-46d0-92fa-aed853b80c10"
    },
    "apiture:acceptInvitationUserExperience": {
      "href": "https://devbank.apiture.com/accceptProductInvitation?invitationId=2dce7016-0059-46d0-92fa-aed853b80c10"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "firstName": "Max",
  "lastName": "Peck",
  "identification": "3333",
  "state": "sent",
  "verificationCount": 0,
  "createdBy": "maxinepeck123",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "expiresAt": "2019-02-20T05:54:52.375Z",
  "customerId": "57212",
  "customerGroup": "2",
  "attributes": {
    "applicationAttributes": {
      "productCode": "DD12M_LA",
      "accountAttributes": {
        "refid": "49jfelk3"
      }
    }
  }
}

Responses

StatusDescription
201 Created
Created.
Schema: invitation
HeaderLocation
string uri
The URI of the new resource. If the URI begins with / it is relative to the API root context. Else, it is a full URI starting with scheme://host
HeaderETag
string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update the resource.
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. Cannot create an invitation, possibly because joint owners are disabled or the account does not allow additional owners. Consult the _error object in the response for details.

This error response may have one of the following type values:

Schema: errorResponse

getInvitation

Code samples

# You can also use wget
curl -X GET https://api.devbank.apiture.com/invitations/invitations/{invitationId} \
  -H 'Accept: application/hal+json' \
  -H 'If-None-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

GET https://api.devbank.apiture.com/invitations/invitations/{invitationId} HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-None-Match: string

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/invitations/invitations/{invitationId}',
{
  method: 'GET',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Accept':'application/hal+json',
  'If-None-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/invitations/invitations/{invitationId}',
  method: 'get',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'If-None-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.get 'https://api.devbank.apiture.com/invitations/invitations/{invitationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-None-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.get('https://api.devbank.apiture.com/invitations/invitations/{invitationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/invitations/invitations/{invitationId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "If-None-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("GET", "https://api.devbank.apiture.com/invitations/invitations/{invitationId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Fetch a representation of this invitation

GET https://api.devbank.apiture.com/invitations/invitations/{invitationId}

Return a HAL representation of this invitation resource.

Parameters

ParameterDescription
invitationId
in: path
string (required)
The unique identifier of this invitation. This is an opaque string.
If-None-Match
in: header
string
The entity tag that was returned in the ETag response. If the resource's current entity tag matches, the GET will return 304 (Not Modified) and no response body, else the resource representation will be returned.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/invitation/v1.2.0/profile.json",
  "sharedSecret": "obsolete obese octopus",
  "type": "joint",
  "accountUri": "https://api.devbank.apiture.com/accounts/account/7443d485-5faf-46d7-8c09-0d35f3433ed7",
  "inviterFullName": "Maxine Peck",
  "emailAddress": "Max.Peck@nasa.example.com",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/invitations/invitation/2dce7016-0059-46d0-92fa-aed853b80c10"
    },
    "apiture:acceptInvitationUserExperience": {
      "href": "https://devbank.apiture.com/accceptProductInvitation?invitationId=2dce7016-0059-46d0-92fa-aed853b80c10"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "firstName": "Max",
  "lastName": "Peck",
  "identification": "3333",
  "state": "sent",
  "verificationCount": 0,
  "createdBy": "maxinepeck123",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "expiresAt": "2019-02-20T05:54:52.375Z",
  "customerId": "57212",
  "customerGroup": "2",
  "attributes": {
    "applicationAttributes": {
      "productCode": "DD12M_LA",
      "accountAttributes": {
        "refid": "49jfelk3"
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: invitation
HeaderETag
string
The ETag response header specifies an entity tag which must be provided in an If-Match request header for PUT or PATCH operations which update this invitation resource.
StatusDescription
304 Not Modified
Not Modified. The resource has not been modified since it was last fetched.
StatusDescription
404 Not Found
Not Found. There is no such invitation resource at the specified {invitationId}. The _error field in the response will contain details about the request error.
Schema: errorResponse

deleteInvitation

Code samples

# You can also use wget
curl -X DELETE https://api.devbank.apiture.com/invitations/invitations/{invitationId} \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

DELETE https://api.devbank.apiture.com/invitations/invitations/{invitationId} HTTP/1.1
Host: api.devbank.apiture.com

const fetch = require('node-fetch');

const headers = {
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/invitations/invitations/{invitationId}',
{
  method: 'DELETE',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/invitations/invitations/{invitationId}',
  method: 'delete',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.delete 'https://api.devbank.apiture.com/invitations/invitations/{invitationId}',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.delete('https://api.devbank.apiture.com/invitations/invitations/{invitationId}', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/invitations/invitations/{invitationId}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("DELETE");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("DELETE", "https://api.devbank.apiture.com/invitations/invitations/{invitationId}", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Delete this invitation resource

DELETE https://api.devbank.apiture.com/invitations/invitations/{invitationId}

Delete this invitation resource and any resources that are owned by it.

Parameters

ParameterDescription
invitationId
in: path
string (required)
The unique identifier of this invitation. This is an opaque string.

Responses

StatusDescription
204 No Content
No Content. The resource was deleted successfully.

revokeInvitation

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/invitations/revoked?invitation=string \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/invitations/revoked?invitation=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/invitations/revoked?invitation=string',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/invitations/revoked',
  method: 'post',
  data: '?invitation=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/invitations/revoked',
  params: {
  'invitation' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.devbank.apiture.com/invitations/revoked', params={
  'invitation': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/invitations/revoked?invitation=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/invitations/revoked", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Revoke an Invitation

POST https://api.devbank.apiture.com/invitations/revoked

Revoke an invitation that is eligible to be revoked. Only Invitations which are sent can be revoked. This operation is invoked from the apiture:revoke link on an invitation, which only exists if the action is allowed. This changes the state to revoked.

This operation has no effect if the invitation is already revoked.

Parameters

ParameterDescription
invitation
in: query
string (required)
A server-supplied value which identifies the invitation instance.
If-Match
in: header
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/invitation/v1.2.0/profile.json",
  "sharedSecret": "obsolete obese octopus",
  "type": "joint",
  "accountUri": "https://api.devbank.apiture.com/accounts/account/7443d485-5faf-46d7-8c09-0d35f3433ed7",
  "inviterFullName": "Maxine Peck",
  "emailAddress": "Max.Peck@nasa.example.com",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/invitations/invitation/2dce7016-0059-46d0-92fa-aed853b80c10"
    },
    "apiture:acceptInvitationUserExperience": {
      "href": "https://devbank.apiture.com/accceptProductInvitation?invitationId=2dce7016-0059-46d0-92fa-aed853b80c10"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "firstName": "Max",
  "lastName": "Peck",
  "identification": "3333",
  "state": "sent",
  "verificationCount": 0,
  "createdBy": "maxinepeck123",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "expiresAt": "2019-02-20T05:54:52.375Z",
  "customerId": "57212",
  "customerGroup": "2",
  "attributes": {
    "applicationAttributes": {
      "productCode": "DD12M_LA",
      "accountAttributes": {
        "refid": "49jfelk3"
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: invitation
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
404 Not Found
Not Found. There is no such invitation resource at the specified {invitationId}. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The request to change the state of the invitation is not allowed. For example, one cannot change the state of a completed invitation, or change a non-sent invitation to revoked. The _error field in the response will contain details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

sendInvitation

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/invitations/sent?invitation=string \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/invitations/sent?invitation=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/invitations/sent?invitation=string',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/invitations/sent',
  method: 'post',
  data: '?invitation=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/invitations/sent',
  params: {
  'invitation' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.devbank.apiture.com/invitations/sent', params={
  'invitation': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/invitations/sent?invitation=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/invitations/sent", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Send an Invitation

POST https://api.devbank.apiture.com/invitations/sent

This action will re-send an already sent invitation to the invitee. Only Invitations which are already sent can be re-sent. This operation is invoked from the apiture:send link on an Invitation, which only exists if the action is allowed. There is a configurable limit of times that an invitation can be re-sent.

Parameters

ParameterDescription
invitation
in: query
string (required)
A server-supplied value which identifies the invitation instance.
If-Match
in: header
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/invitation/v1.2.0/profile.json",
  "sharedSecret": "obsolete obese octopus",
  "type": "joint",
  "accountUri": "https://api.devbank.apiture.com/accounts/account/7443d485-5faf-46d7-8c09-0d35f3433ed7",
  "inviterFullName": "Maxine Peck",
  "emailAddress": "Max.Peck@nasa.example.com",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/invitations/invitation/2dce7016-0059-46d0-92fa-aed853b80c10"
    },
    "apiture:acceptInvitationUserExperience": {
      "href": "https://devbank.apiture.com/accceptProductInvitation?invitationId=2dce7016-0059-46d0-92fa-aed853b80c10"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "firstName": "Max",
  "lastName": "Peck",
  "identification": "3333",
  "state": "sent",
  "verificationCount": 0,
  "createdBy": "maxinepeck123",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "expiresAt": "2019-02-20T05:54:52.375Z",
  "customerId": "57212",
  "customerGroup": "2",
  "attributes": {
    "applicationAttributes": {
      "productCode": "DD12M_LA",
      "accountAttributes": {
        "refid": "49jfelk3"
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: invitation
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The request to change the state of the invitation is not allowed. For example, one cannot change the state of a completed invitation, or change a non-sent invitation to revoked. The _error field in the response will contain details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

completeInvitation

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/invitations/completed?invitation=string \
  -H 'Accept: application/hal+json' \
  -H 'If-Match: string' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/invitations/completed?invitation=string HTTP/1.1
Host: api.devbank.apiture.com
Accept: application/hal+json
If-Match: string

const fetch = require('node-fetch');

const headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/invitations/completed?invitation=string',
{
  method: 'POST',

  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Accept':'application/hal+json',
  'If-Match':'string',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/invitations/completed',
  method: 'post',
  data: '?invitation=string',
  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Accept' => 'application/hal+json',
  'If-Match' => 'string',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/invitations/completed',
  params: {
  'invitation' => 'string'
}, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Accept': 'application/hal+json',
  'If-Match': 'string',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.devbank.apiture.com/invitations/completed', params={
  'invitation': 'string'
}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/invitations/completed?invitation=string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Accept": []string{"application/hal+json"},
        "If-Match": []string{"string"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/invitations/completed", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Complete an Invitation

POST https://api.devbank.apiture.com/invitations/completed

Complete an invitation that is eligible to be completed. Only Invitations which are accepted can be completed. This admin operation is invoked from the apiture:complete link on an Invitation, which only exists if the action is allowed. This changes the state to completed. Completed means the desired result (user added as joint owner or authorized signer) has been completed.

This operation has no effect if the invitation is already completed.

Parameters

ParameterDescription
invitation
in: query
string (required)
A server-supplied value which identifies the invitation instance.
If-Match
in: header
string
The entity tag that was returned in the ETag response. This must match the current entity tag of the resource.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/invitation/v1.2.0/profile.json",
  "sharedSecret": "obsolete obese octopus",
  "type": "joint",
  "accountUri": "https://api.devbank.apiture.com/accounts/account/7443d485-5faf-46d7-8c09-0d35f3433ed7",
  "inviterFullName": "Maxine Peck",
  "emailAddress": "Max.Peck@nasa.example.com",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/invitations/invitation/2dce7016-0059-46d0-92fa-aed853b80c10"
    },
    "apiture:acceptInvitationUserExperience": {
      "href": "https://devbank.apiture.com/accceptProductInvitation?invitationId=2dce7016-0059-46d0-92fa-aed853b80c10"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "firstName": "Max",
  "lastName": "Peck",
  "identification": "3333",
  "state": "sent",
  "verificationCount": 0,
  "createdBy": "maxinepeck123",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "expiresAt": "2019-02-20T05:54:52.375Z",
  "customerId": "57212",
  "customerGroup": "2",
  "attributes": {
    "applicationAttributes": {
      "productCode": "DD12M_LA",
      "accountAttributes": {
        "refid": "49jfelk3"
      }
    }
  }
}

Responses

StatusDescription
200 OK
OK.
Schema: invitation
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. The request to change the state of the invitation is not allowed. For example, one cannot change the state of a completed invitation, or change a non-sent invitation to revoked. The _error field in the response will contain details about the request error.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
422 Unprocessable Entity
Unprocessable Entity. One or more of the query parameters was well formed but otherwise invalid. The _error field in the response will contain details about the request error.
Schema: errorResponse

Verification

Invitation Verifications

verifyInvitation

Code samples

# You can also use wget
curl -X POST https://api.devbank.apiture.com/invitations/verifications \
  -H 'Content-Type: application/hal+json' \
  -H 'Accept: application/hal+json' \
  -H 'API-Key: API_KEY' \
  -H 'Authorization: Bearer {access-token}'

POST https://api.devbank.apiture.com/invitations/verifications HTTP/1.1
Host: api.devbank.apiture.com
Content-Type: application/hal+json
Accept: application/hal+json

const fetch = require('node-fetch');
const inputBody = '{
  "_profile": "https://production.api.apiture.com/schemas/invitations/verification/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "sharedSecret": "obsolete obese octopus",
  "invitationId": "d62c0701-0d74-4836-83f9-ebf3709442ea"
}';
const headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

fetch('https://api.devbank.apiture.com/invitations/verifications',
{
  method: 'POST',
  body: inputBody,
  headers: headers
})
.then(function(res) {
    return res.json();
}).then(function(body) {
    console.log(body);
});

var headers = {
  'Content-Type':'application/hal+json',
  'Accept':'application/hal+json',
  'API-Key':'API_KEY',
  'Authorization':'Bearer {access-token}'

};

$.ajax({
  url: 'https://api.devbank.apiture.com/invitations/verifications',
  method: 'post',

  headers: headers,
  success: function(data) {
    console.log(JSON.stringify(data));
  }
})

require 'rest-client'
require 'json'

headers = {
  'Content-Type' => 'application/hal+json',
  'Accept' => 'application/hal+json',
  'API-Key' => 'API_KEY',
  'Authorization' => 'Bearer {access-token}'
}

result = RestClient.post 'https://api.devbank.apiture.com/invitations/verifications',
  params: {
  }, headers: headers

p JSON.parse(result)

import requests
headers = {
  'Content-Type': 'application/hal+json',
  'Accept': 'application/hal+json',
  'API-Key': 'API_KEY',
  'Authorization': 'Bearer {access-token}'
}

r = requests.post('https://api.devbank.apiture.com/invitations/verifications', params={

}, headers = headers)

print r.json()

URL obj = new URL("https://api.devbank.apiture.com/invitations/verifications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("POST");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
    new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
    response.append(inputLine);
}
in.close();
System.out.println(response.toString());

package main

import (
       "bytes"
       "net/http"
)

func main() {

    headers := map[string][]string{
        "Content-Type": []string{"application/hal+json"},
        "Accept": []string{"application/hal+json"},
        "API-Key": []string{"API_KEY"},
        "Authorization": []string{"Bearer {access-token}"},
        
    }

    data := bytes.NewBuffer([]byte{jsonReq})
    req, err := http.NewRequest("POST", "https://api.devbank.apiture.com/invitations/verifications", data)
    req.Header = headers

    client := &http.Client{}
    resp, err := client.Do(req)
    // ...
}

Verify an Invitation

POST https://api.devbank.apiture.com/invitations/verifications

Verify (accept) an invitation that is eligible to be verified. Only invitations in a state of sent can be verified. sharedSecret and invitationId are required. This operation increases the verificationCount of the invitation identified by invitationId. Invitations that are revoked or expired are not processed. This operation does not verify invitations with a state of revoked or expired.

Body parameter

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/verification/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "sharedSecret": "obsolete obese octopus",
  "invitationId": "d62c0701-0d74-4836-83f9-ebf3709442ea"
}

Parameters

ParameterDescription
body verification (required)
The data necessary to verify an invitation.

Example responses

200 Response

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/verification/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "sharedSecret": "obsolete obese octopus",
  "invitationId": "d62c0701-0d74-4836-83f9-ebf3709442ea"
}

Responses

StatusDescription
200 OK
OK - the invitation was matched and accepted.
Schema: verification
StatusDescription
400 Bad Request
Bad Request. The request body or one or more of the query parameters was not well formed. The _error field in the response will contain details about the request error.
Schema: errorResponse
StatusDescription
409 Conflict

Conflict. Only an invitation with a state of sent can be verified. Consult the _error object in the response for details.

This error response may have one of the following type values:

Schema: errorResponse
StatusDescription
429 Too Many Requests
Too Many Requests. If the threshold for number of requests from an IP address is exceeded, the IP will be blocked from further requests until a period of time has passed.
Schema: errorResponse

Schemas

abstractRequest

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractRequest/v2.0.0/profile.json",
  "_links": {}
}

Abstract Request (v2.0.0)

An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error defined in abstractResource.

This schema was resolved from common/abstractRequest.

Properties

NameDescription
Abstract Request (v2.0.0) object
An abstract schema used to define other request-only schemas. This is a HAL resource representation, minus the _error defined in abstractResource.

This schema was resolved from common/abstractRequest.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri

abstractResource

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}

Abstract Resource (v2.1.0)

An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

This schema was resolved from common/abstractResource.

Properties

NameDescription
Abstract Resource (v2.1.0) object
An abstract schema used to define other schemas for request and response bodies. This is a HAL resource representation. This model contains hypermedia _links, and either optional domain object data with _profile and optional _embedded objects, or an _error object. In responses, if the operation was successful, this object will not include the _error, but if the operation was a 4xx or 5xx error, this object will not include _embedded or any data fields, only _error and optionally _links.

This schema was resolved from common/abstractResource.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

attributes

{}

Attributes (v2.1.0)

An optional map of name/value pairs which contains additional dynamic data about the resource.

This schema was resolved from common/attributes.

Properties

NameDescription
Attributes (v2.1.0) object
An optional map of name/value pairs which contains additional dynamic data about the resource.

This schema was resolved from common/attributes.

collection

{
  "_profile": "https://production.api.apiture.com/schemas/common/abstractResource/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  }
}

Collection (v2.1.0)

A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

This schema was resolved from common/collection.

Properties

NameDescription
Collection (v2.1.0) object
A collection of resources. This is an abstract model schema which is extended to define specific resource collections.

This schema was resolved from common/collection.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

createInvitation

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/createInvitation/v2.2.0/profile.json",
  "_links": {},
  "sharedSecret": "obsolete obese octopus",
  "type": "productPromotion",
  "accountUri": "https://api.devbank.apiture.com/accounts/account/7443d485-5faf-46d7-8c09-0d35f3433ed7",
  "inviterFullName": "Maxine Peck",
  "emailAddress": "Max.Peck@nasa.example.com",
  "firstName": "Max",
  "lastName": "Peck",
  "identification": "3333",
  "attributes": {
    "applicationAttributes": {
      "productCode": "DD12M_LA",
      "accountAttributes": {
        "refid": "49jfelk3"
      }
    }
  }
}

Create Invitation (v2.2.0)

Representation used to create a new Invitation.

Properties

NameDescription
Create Invitation (v2.2.0) object
Representation used to create a new Invitation.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
firstName string
The first name of the invitee.
lastName string
The lastName name of the invitee.
identification string
The last 4 digits of the government ID (SSN or other ID) of invitee.
sharedSecret string (required)
A string shared by the inviter with the invitee to verify their identity.
minLength: 8
emailAddress string (required)
The email address of the invitee.
type invitationType (required)
The type of invitation.
enum values: joint, authorizedSigner, productPromotion
accountUri string
If type is joint, this is the uri of the account the invitee is being invited to.
organizationUri string
If type is authorizedSigner, this is the uri of the organization the invitee is being invited to.
role string
If type is authorizedSigner, this is the role of the invitee at the organization is being invited to.
inviterFullName string (required)
The full name of the user sending the invitation.
attributes attributes
Additional untyped data attributes to associate with this invitation.

error

{
  "_id": "2eae46e1575c0a7b0115a4b3",
  "message": "Descriptive error message...",
  "statusCode": 422,
  "type": "errorType1",
  "remediation": "Remediation string...",
  "occurredAt": "2018-01-25T05:50:52.375Z",
  "errors": [
    {
      "_id": "ccdbe2c5c938a230667b3827",
      "message": "An optional embedded error"
    },
    {
      "_id": "dbe9088dcfe2460f229338a3",
      "message": "Another optional embedded error"
    }
  ],
  "_links": {
    "describedby": {
      "href": "https://developer.apiture.com/errors/errorType1"
    }
  }
}

Error (v2.1.0)

Describes an error in an API request or in a service called via the API.

This schema was resolved from common/error.

Properties

NameDescription
Error (v2.1.0) object
Describes an error in an API request or in a service called via the API.

This schema was resolved from common/error.

message string (required)
A localized message string describing the error condition.
_id string
A unique identifier for this error instance. This may be used as a correlation ID with the root cause error (i.e. this ID may be logged at the source of the error). This is is an opaque string.
read-only
statusCode integer
The HTTP status code associate with this error.
minimum: 100
maximum: 599
type string
An error identifier which indicates the category of error and associate it with API support documentation or which the UI tier can use to render an appropriate message or hint. This provides a finer level of granularity than the statusCode. For example, instead of just 400 Bad Request, the type may be much more specific. such as integerValueNotInAllowedRange or numericValueExceedsMaximum or stringValueNotInAllowedSet.
occurredAt string(date-time)
An RFC 3339 UTC time stamp indicating when the error occurred.
format: date-time
attributes attributes
Informative values or constraints which describe the error. For example, for a value out of range error, the attributes may specify the minimum and maximum values. This allows clients to present error messages as they see fit (the API does not assume the client/presentation tier). The set of attributes varies by error type.
remediation string
An optional localized string which provides hints for how the user or client can resolve the error.
errors array: [error]
An optional array of nested error objects. This property is not always present.
items: object

errorResponse

{
  "_profile": "https://production.api.apiture.com/schemas/common/errorResponse/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "_error": {
    "_id": "2eae46e1-575c-4d69-8a8f-0a7b0115a4b3",
    "message": "Description of the error will appear here.",
    "statusCode": 422,
    "type": "specificErrorType",
    "attributes": {
      "value": "Optional attribute describing the error"
    },
    "remediation": "Optional instructions to remediate the error may appear here.",
    "occurredAt": "2018-01-25T05:50:52.375Z",
    "_links": {
      "describedby": {
        "href": "https://production.api.apiture.com/errors/specificErrorType"
      }
    },
    "_embedded": {
      "errors": []
    }
  }
}

Error Response (v2.1.0)

Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details.

This schema was resolved from common/errorResponse.

Properties

NameDescription
Error Response (v2.1.0) object
Describes an error response, typically returned on 4xx or 5xx errors from API operations. The _error object contains the error details.

This schema was resolved from common/errorResponse.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only

invitation

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/invitation/v1.2.0/profile.json",
  "sharedSecret": "obsolete obese octopus",
  "type": "joint",
  "accountUri": "https://api.devbank.apiture.com/accounts/account/7443d485-5faf-46d7-8c09-0d35f3433ed7",
  "inviterFullName": "Maxine Peck",
  "emailAddress": "Max.Peck@nasa.example.com",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/invitations/invitation/2dce7016-0059-46d0-92fa-aed853b80c10"
    },
    "apiture:acceptInvitationUserExperience": {
      "href": "https://devbank.apiture.com/accceptProductInvitation?invitationId=2dce7016-0059-46d0-92fa-aed853b80c10"
    }
  },
  "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
  "firstName": "Max",
  "lastName": "Peck",
  "identification": "3333",
  "state": "sent",
  "verificationCount": 0,
  "createdBy": "maxinepeck123",
  "createdAt": "2019-01-20T05:54:52.375Z",
  "expiresAt": "2019-02-20T05:54:52.375Z",
  "customerId": "57212",
  "customerGroup": "2",
  "attributes": {
    "applicationAttributes": {
      "productCode": "DD12M_LA",
      "accountAttributes": {
        "refid": "49jfelk3"
      }
    }
  }
}

Invitation (v1.2.0)

Representation of invitation resources.

Response and request bodies using this invitation schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this invitationGET
apiture:acceptInvitationUserExperience Web page for the recipient to verify/accept the invitationGET

Properties

NameDescription
Invitation (v1.2.0) object

Representation of invitation resources.

Response and request bodies using this invitation schema may contain the following links:

RelSummaryMethod
selfFetch a representation of this invitationGET
apiture:acceptInvitationUserExperience Web page for the recipient to verify/accept the invitationGET
firstName string
The first name of the invitee.
lastName string
The lastName name of the invitee.
identification string
The last 4 digits of the government ID (SSN or other ID) of invitee.
sharedSecret string
A string shared by the inviter with the invitee to verify their identity.
minLength: 8
emailAddress string
The email address of the invitee.
type invitationType
The type of invitation.
enum values: joint, authorizedSigner, productPromotion
accountUri string
If type is joint, this is the uri of the account the invitee is being invited to.
organizationUri string
If type is authorizedSigner, this is the uri of the organization the invitee is being invited to.
role string
If type is authorizedSigner, this is the role of the invitee at the organization is being invited to.
inviterFullName string
The full name of the user sending the invitation.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
The unique identifier for this organization resource. This is an immutable opaque string.
read-only
state invitationState
The derived state of invitation.
read-only
enum values: sent, accepted, completed, revoked, expired
createdAt string(date-time)
The date-time when the invitation was created. This is in RFC 3339format, UTC. This is derived and immutable.
read-only
format: date-time
updatedAt string(date-time)
The date-time when the invitation was last updated. This is in RFC 3339format, UTC. This is derived and immutable. Invitations are not directly mutable, but the state and updatedAt may change when the invitation is verified/accepted or completedcompleted, revoked, or expires.
read-only
format: date-time
expiresAt string(date-time)
The date-time when the invitation will expire. This is in RFC 3339format, UTC. This is derived and immutable.
read-only
format: date-time
customerId string
The derived core Customer Id of the person who created the Invitation.
read-only
customerGroup string
The derived core Customer group of the person who created the Invitation.
read-only
verificationCount integer
The derived count of attempted verifications of this invitation.
read-only
createdBy string
The unique username of the person who created the Invitation. This is derived and immutable.
read-only
attributes attributes
Additional untyped data attributes to associate with this invitation.
read-only

invitationState

"sent"

Invitation State (v1.0.0)

The state of an invitation.

invitationState strings may have one of the following enumerated values:

ValueDescription
sentSent: The invitation has been sent to the invitee.
acceptedAccepted: The invitation has been accepted by the invitee.
completedCompleted: The invitee has been added to their invited role.
revokedRevoked: The invitation has been revoked by the inviter.
expiredExpired: The invitation lifetime has expired.

These enumeration values are further described by the label group named invitationState in the response from the getLabels operation.

type: string


enum values: sent, accepted, completed, revoked, expired

invitationType

"joint"

Invitation Type (v1.1.0)

The type of the invitation.

invitationType strings may have one of the following enumerated values:

ValueDescription
jointJoint Owner: A Joint Owner invitation.
authorizedSignerAuthorized Signer: An Authorized Signer invitation.
productPromotionProduct Promotion: The financial institution invites a customer to open an account as part of a product promotion.

These enumeration values are further described by the label group named invitationType in the response from the getLabels operation.

type: string


enum values: joint, authorizedSigner, productPromotion

invitations

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/invitations/v1.2.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/invitations/invitations?start=10&limit=10"
    },
    "first": {
      "href": "https://api.devbank.apiture.com/invitations/invitations?start=0&limit=10"
    },
    "next": {
      "href": "https://api.devbank.apiture.com/invitations/invitations?start=20&limit=10"
    },
    "collection": {
      "href": "https://api.devbank.apiture.com/invitations/invitations"
    }
  },
  "start": 10,
  "limit": 10,
  "count": 67,
  "name": "invitations",
  "_embedded": {
    "items": [
      {
        "_id": "0399abed-fd3d-4830-a88b-30f38b8a365c",
        "firstName": "Max",
        "lastName": "Peck",
        "identification": "3333",
        "sharedSecret": "obsolete obese octopus",
        "emailAddress": "Max.Peck@nasa.example.com",
        "type": "joint",
        "accountUri": "https://api.devbank.apiture.com/accounts/account/7443d485-5faf-46d7-8c09-0d35f3433ed7",
        "inviterFullName": "Maxine Peck",
        "state": "sent",
        "verificationCount": 0,
        "createdBy": "maxinepeck123",
        "createdAt": "2019-01-20T05:54:52.375Z",
        "expiresAt": "2019-02-20T05:54:52.375Z",
        "customerId": "57212",
        "customerGroup": "2",
        "_profile": "https://production.api.apiture.com/schemas/invitations/invitation/v1.2.0/profile.json",
        "_links": {
          "self": {
            "href": "https://api.devbank.apiture.com/invitations/invitation/2dce7016-0059-46d0-92fa-aed853b80c10"
          }
        }
      }
    ]
  }
}

Invitation Collection (v1.2.0)

Collection of invitations. The items in the collection are ordered in the _embedded.items array; the name is invitations. The top-level _links object may contain pagination links (self, next, prev, first, last, collection.)

Properties

NameDescription
Invitation Collection (v1.2.0) object
Collection of invitations. The items in the collection are ordered in the _embedded.items array; the name is invitations. The top-level _links object may contain pagination links (self, next, prev, first, last, collection.)
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
Embedded objects.
» items array: [invitation]
An array containing a page of invitation items.
items: object
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
count integer
The number of items in the collection. This value is optional and may be omitted if the count is not computable efficiently. If a filter is applied to the collection (either implicitly or explicitly), the count, if present, indicates the number of items that satisfy the filter.
start integer
The start index of this page of items.
limit integer
The maximum number of items per page.
name string
The name of the collection.

labelGroup

{
  "unknown": {
    "label": "Unknown",
    "code": "0",
    "hidden": true
  },
  "under1Million": {
    "label": "Under $1M",
    "code": "1",
    "range": "[0,1000000.00)",
    "variants": {
      "fr": {
        "label": "Moins de $1M"
      }
    }
  },
  "from1to10Million": {
    "label": "$1M to $10M",
    "code": "2",
    "range": "[1000000.00,10000000.00)",
    "variants": {
      "fr": {
        "label": "$1M \\u00e0 $10M"
      }
    }
  },
  "from10to100Million": {
    "label": "$10M to $100M",
    "code": "3",
    "range": "[10000000.00,100000000.00)",
    "variants": {
      "fr": [
        "label $10M \\u00e0 $100M"
      ]
    }
  },
  "over100Million": {
    "label": "Over $100,000,000.00",
    "code": "4",
    "range": "[100000000.00,]",
    "variants": {
      "fr": {
        "label": "Plus de $10M"
      }
    }
  },
  "other": {
    "label": "Other",
    "code": 254
  }
}

Label Group (v1.0.0)

A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

This allows the client to let the user select a value from a list, such as the following derived from the labels in the example:

  • Unknown
  • Under $1M
  • $1M to $10M
  • $10M to $100M
  • $100M or more

Note that the other item is hidden from the selection list, as that item is marked as hidden. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }.

This schema was resolved from common/labelGroup.

Properties

NameDescription
Label Group (v1.0.0) object
A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

This allows the client to let the user select a value from a list, such as the following derived from the labels in the example:

  • Unknown
  • Under $1M
  • $1M to $10M
  • $10M to $100M
  • $100M or more

Note that the other item is hidden from the selection list, as that item is marked as hidden. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }.

This schema was resolved from common/labelGroup.

Label Item (v1.0.0) labelItem
An item in a labelGroup, with a set of variants which contains different localized labels for the item. Each (simpleLabel) variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external syststems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI.

This schema was resolved from common/labelItem.

labelGroups

{
  "_profile": "https://production.api.apiture.com/schemas/common/labelGroups/v1.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "groups": {
    "fristGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "0",
        "hidden": true
      },
      "key1": {
        "label": "Label for Key 1",
        "code": "1",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 1)"
          },
          "fr": {
            "label": "(French label for Key 1)"
          }
        }
      },
      "key2": {
        "label": "Label for Key 2",
        "code": "2",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 2)"
          },
          "fr": {
            "label": "(French label for Key 2)"
          }
        }
      },
      "key3": {
        "label": "Label for Key 3",
        "code": "3",
        "variants": {
          "es": {
            "label": "(Spanish label for Key 3)"
          },
          "fr": {
            "label": "(French label for Key 3)"
          }
        }
      },
      "other": {
        "label": "Other",
        "variants": {
          "es": {
            "label": "(Spanish label for Other)"
          },
          "fr": {
            "label": "(French label for Other)"
          }
        },
        "code": "254"
      }
    },
    "secondGroup": {
      "unknown": {
        "label": "Unknown",
        "code": "?",
        "hidden": true
      },
      "optionA": {
        "label": "Option A",
        "code": "A"
      },
      "optionB": {
        "label": "Option B",
        "code": "B"
      },
      "optionC": {
        "label": "Option C",
        "code": "C"
      },
      "other": {
        "label": "Other",
        "code": "_"
      }
    }
  }
}

Label Groups (v1.1.0)

A set of named groups of labels, each of which contains multiple item labels.

The abbreviated example shows two groups, one named structure and one named estimatedAnnualRevenue. The first has items with names such as corporation, llc and soleProprietorship, with text labels for each in the default and in French. The second has items for estimated revenue ranges but no localized labels. For example, the item named from1to10Million has the label "$1M to $10M" and the range [1000000.00,10000000.00).

This schema was resolved from common/labelGroups.

Properties

NameDescription
Label Groups (v1.1.0) object
A set of named groups of labels, each of which contains multiple item labels.

The abbreviated example shows two groups, one named structure and one named estimatedAnnualRevenue. The first has items with names such as corporation, llc and soleProprietorship, with text labels for each in the default and in French. The second has items for estimated revenue ranges but no localized labels. For example, the item named from1to10Million has the label "$1M to $10M" and the range [1000000.00,10000000.00).

This schema was resolved from common/labelGroups.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
groups object
Groups of localized labels. This maps group namesa group of labels within that group.
» Label Group (v1.0.0) labelGroup
A map that defines labels for the items in a group. This is a map from each item namea labelItem object. For example, consider a JSON response that includes a property named revenueEstimate; the values for revenueEstimate must be one of the items in the group named estimatedAnnualRevenue, with options ranging under1Million, to over100Million. The item name is used as the selected value in an Apiture representation, such as { ..., "revenueEstimate" : "from10to100Million" , ...}, and the item with the name from10to100Million defines the presentation labels for that item, as well as other metadata about that choice: this is the range [10000000.00,100000000.00).

This allows the client to let the user select a value from a list, such as the following derived from the labels in the example:

  • Unknown
  • Under $1M
  • $1M to $10M
  • $10M to $100M
  • $100M or more

Note that the other item is hidden from the selection list, as that item is marked as hidden. For items which define numeric ranges, a client may instead let the customer directly enter their estimated annual revenue as a number, such as 4,500,000.00. The client can then match that number to one of ranges in the items and set the revenueEstimate to the corresponding item's name: { ..., "revenueEstimate" : "from1to10Million", ... }.

This schema was resolved from common/labelGroup.

labelItem

{
  "over100Million": {
    "label": "Over $100,000,000.00",
    "code": "4",
    "range": "[100000000.00,]",
    "variants": {
      "fr": {
        "label": "Plus de $10M"
      }
    }
  }
}

Label Item (v1.0.0)

An item in a labelGroup, with a set of variants which contains different localized labels for the item. Each (simpleLabel) variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external syststems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI.

This schema was resolved from common/labelItem.

Properties

NameDescription
Label Item (v1.0.0) object
An item in a labelGroup, with a set of variants which contains different localized labels for the item. Each (simpleLabel) variant defines the presentation text label and optional description for a language. Items may also have a lookup code to map to external syststems, a numeric range, and a hidden boolean to indicate the item is normally hidden in the UI.

This schema was resolved from common/labelItem.

label string (required)
A label or title which may be used as labels or other UI controls which present a value.
description string
A more detailed localized description of a localizable label.
variants object
The language-specific variants of this label. The keys in this object are RFC 7231 language codes.
» Simple Label (v1.0.0) simpleLabel
A text label and optional description.

This schema was resolved from common/simpleLabel.

code string
If the localized value is associated with an external standard or definition, this is a lookup code or key or URI for that value.
minLength: 1
hidden boolean
If true, this item is normally hidden from the User Interface.
range string
The range of values, if the item describes a bounded numeric value. This is range notation such as [min,max], (exclusiveMin,max], [min,exclusiveMax), or (exclusiveMin,exclusiveMax). For example, [0,100) is the range greater than or equal to 0 and less than 100. If the min or max value are omitted, that end of the range is unbounded. For example, (,1000.00) means less than 1000.00 and [20000.00,] means 20000.00 or more. The ranges do not overlap or have gaps.
pattern: ^[\[\(](-?(0|[1-9][0-9]*)(\.[0-9]+)?)?,(-?(0|[1-9][0-9]*)(\.[0-9]+)?)?[\]\)]$

{
  "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
  "title": "Application"
}

Link (v1.0.0)

Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.

This schema was resolved from common/link.

NameDescription
Link (v1.0.0) object
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.

This schema was resolved from common/link.

href string(uri) (required)
The URI or URI template for the resource/operation this link refers to.
format: uri
type string
The media type for the resource.
templated boolean
If true, the link's href is a URI template.
title string
An optional human-readable localized title for the link.
deprecation string(uri)
If present, the containing link is deprecated and the value is a URI which provides human-readable text information about the deprecation.
format: uri
profile string(uri)
The URI of a profile document, a JSON document which describes the target resource/operation.
format: uri

{
  "property1": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  },
  "property2": {
    "href": "https://api.devbank.apiture.com/applications/application/328f6bf6-d762-422f-a077-ab91ca4d0b6f",
    "title": "Application"
  }
}

Links (v1.0.0)

An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

NameDescription
Links (v1.0.0) object
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

Link (v1.0.0) link
Describes a hypermedia link within a _links object in HAL representations. In Apiture APIs, links are HAL links, but Apiture APIs do not use the name or hreflang properties of HAL. Apiture links may include a method property.

This schema was resolved from common/link.

root

{
  "_profile": "https://production.api.apiture.com/schemas/common/root/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "id": "apiName",
  "name": "API name",
  "apiVersion": "1.0.0"
}

API Root (v2.1.0)

A HAL response, with hypermedia _links for the top-level resources and operations in API.

This schema was resolved from common/root.

Properties

NameDescription
API Root (v2.1.0) object
A HAL response, with hypermedia _links for the top-level resources and operations in API.

This schema was resolved from common/root.

_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
_id string
This API's unique ID.
read-only
name string
This API's name.
apiVersion string
This API's version.

simpleLabel

{
  "label": "Board of Directors",
  "description": "string"
}

Simple Label (v1.0.0)

A text label and optional description.

This schema was resolved from common/simpleLabel.

Properties

NameDescription
Simple Label (v1.0.0) object
A text label and optional description.

This schema was resolved from common/simpleLabel.

label string (required)
A label or title which may be used as labels or other UI controls which present a value.
description string
A more detailed localized description of a localizable label.

verification

{
  "_profile": "https://production.api.apiture.com/schemas/invitations/verification/v2.1.0/profile.json",
  "_links": {
    "self": {
      "href": "https://api.devbank.apiture.com/apiName/resourceName/resourceId"
    }
  },
  "sharedSecret": "obsolete obese octopus",
  "invitationId": "d62c0701-0d74-4836-83f9-ebf3709442ea"
}

Verification (v2.1.0)

The request and response for verifying an invitation.

Properties

NameDescription
Verification (v2.1.0) object
The request and response for verifying an invitation.
_links links
An optional map of links, mapping each link relation to a link object. This model defines the _links object of HAL representations.

This schema was resolved from common/links.

_embedded object
An optional map of nested resources, mapping each nested resource name to a nested resource representation.
_profile string(uri)
The URI of a resource profile which describes the representation.
read-only
format: uri
_error error
An object which describes an error. This value is omitted if the operation succeeded without error.
read-only
firstName string
The first name of the invitee.
lastName string
The last name of the invitee.
identification string
The last 4 digits of the government ID (SSN or other ID) of invitee.
sharedSecret string (required)
A string shared by the inviter with the invitee to verify their identity.
minLength: 8
invitationId string (required)
A optional id of an invitation resource. If included, the service will compare the key data against this invitation only.

Generated by @apiture/api-doc 3.1.0 on Fri Mar 22 2024 13:03:13 GMT+0000 (Coordinated Universal Time).